14810 Commits

Author SHA1 Message Date
roger
af9af01d52 Fix crashes caused by rows=0 or columns=0.
Add new #ifdef. By defining BKTR_NO_MSP_RESET you can prevent the
MSP34xx being reset by the bt848 driver. This is handy
if you pre-initialise the MSP34xx stereo audio chip in another
operating system first (eg MS Windows).
Suggested by:  Randal Hopper<aa8vb@ipass.net>
Suggested by:  Yuri Gindin <yuri@xpert.com>
1999-04-29 05:48:32 +00:00
luoqi
a71077fa5c - Handle mixer read ioctls correctly. They have the same group, number and
argument size as their write counterparts and were handled as write ioctls.
- Emulate some cdrom ioctls.
1999-04-29 04:37:57 +00:00
luoqi
ef1528cdb7 Postpone route_init() until all domains are attached. 1999-04-29 03:22:19 +00:00
dt
abacf84110 pmap_emulate_reference: don't ever lose PV_TABLE_MOD bit on page. If
PV_TABLE_REF cleared before PV_TABLE_MOD, the page may get fault on read again.

On fault on write, pmap_emulate_reference mark the page dirty with
vm_page_dirty. That decrease ill effects of the bug.

The problem probably become more serious after my rev.1.18 a week ago.
1999-04-28 15:52:09 +00:00
phk
ca21a25f17 This Implements the mumbled about "Jail" feature.
This is a seriously beefed up chroot kind of thing.  The process
is jailed along the same lines as a chroot does it, but with
additional tough restrictions imposed on what the superuser can do.

For all I know, it is safe to hand over the root bit inside a
prison to the customer living in that prison, this is what
it was developed for in fact:  "real virtual servers".

Each prison has an ip number associated with it, which all IP
communications will be coerced to use and each prison has its own
hostname.

Needless to say, you need more RAM this way, but the advantage is
that each customer can run their own particular version of apache
and not stomp on the toes of their neighbors.

It generally does what one would expect, but setting up a jail
still takes a little knowledge.

A few notes:

   I have no scripts for setting up a jail, don't ask me for them.

   The IP number should be an alias on one of the interfaces.

   mount a /proc in each jail, it will make ps more useable.

   /proc/<pid>/status tells the hostname of the prison for
   jailed processes.

   Quotas are only sensible if you have a mountpoint per prison.

   There are no privisions for stopping resource-hogging.

   Some "#ifdef INET" and similar may be missing (send patches!)

If somebody wants to take it from here and develop it into
more of a "virtual machine" they should be most welcome!

Tools, comments, patches & documentation most welcome.

Have fun...

Sponsored by:   http://www.rndassociates.com/
Run for almost a year by:       http://www.servetheweb.com/
1999-04-28 11:38:52 +00:00
phk
58c42d9a16 Add the jail system call. 1999-04-28 11:28:49 +00:00
dt
ba8c622703 s/static foo_devsw_installed = 0;/static int foo_devsw_installed;/.
(Edited automatically)
1999-04-28 10:54:24 +00:00
kato
3c0ac2ab1f Sync with sys/i386/isa/clock.c revision 1.132. 1999-04-28 08:06:00 +00:00
kato
0c9ccf1299 Sync with sys/i386/i386/machdep.c revision 1.332. 1999-04-28 08:03:54 +00:00
msmith
ae853b3a11 Allow loadable interface drivers with BPF support to be loaded into a kernel
that doesn't have it.  This is achieved by having minimal do-nothing stubs
enabled when there are no bpfilter devices configured.

Driver modules should be built with BPF enabled for maximum
convenience (but can be built without it for maximum performance).
1999-04-28 01:18:13 +00:00
luoqi
af7e9be5cc Enable vmspace sharing on SMP. Major changes are,
- %fs register is added to trapframe and saved/restored upon kernel entry/exit.
- Per-cpu pages are no longer mapped at the same virtual address.
- Each cpu now has a separate gdt selector table. A new segment selector
  is added to point to per-cpu pages, per-cpu global variables are now
  accessed through this new selector (%fs). The selectors in gdt table are
  rearranged for cache line optimization.
- fask_vfork is now on as default for both UP and SMP.
- Some aio code cleanup.

Reviewed by:	Alan Cox	<alc@cs.rice.edu>
		John Dyson	<dyson@iquest.net>
		Julian Elischer	<julian@whistel.com>
		Bruce Evans	<bde@zeta.org.au>
		David Greenman	<dg@root.com>
1999-04-28 01:04:33 +00:00
msmith
81f00f311a Simplify the tunefs example, since tunefs uses getfsfile(). Lots of
people complain about working out what device their filesystems are
mounted on.
1999-04-27 21:11:19 +00:00
jdp
400af7ccab Eliminate compiler warning about missing type in declaration.
Remove useless initialization of static variable to 0.

Move static variable declaration into the only function that uses
it.
1999-04-27 18:47:39 +00:00
jdp
20a0a375c2 Fix the code that prints the "Initializing PC-card drivers" message
so that the list of drivers is correct.  This is a slightly
simplified version of the patch from the PR.

PR:		misc/10544
Submitted by:	Christophe Colle <colle@krtkg1.rug.ac.be>
1999-04-27 18:34:13 +00:00
phk
c85ea5017c Change suser_xxx() to suser() where it applies. 1999-04-27 12:21:16 +00:00
phk
c3fbb1bdbc bump __FreeBSD_version to 400005:
suser() API changed.
1999-04-27 11:20:54 +00:00
phk
16e3fbd2c1 Suser() simplification:
1:
  s/suser/suser_xxx/

2:
  Add new function: suser(struct proc *), prototyped in <sys/proc.h>.

3:
  s/suser_xxx(\([a-zA-Z0-9_]*\)->p_ucred, \&\1->p_acflag)/suser(\1)/

The remaining suser_xxx() calls will be scrutinized and dealt with
later.

There may be some unneeded #include <sys/cred.h>, but they are left
as an exercise for Bruce.

More changes to the suser() API will come along with the "jail" code.
1999-04-27 11:18:52 +00:00
ken
37aa35f17e Fix from Justin for transfer negotiations for targets up to target ID 7. 1999-04-26 22:03:44 +00:00
luigi
e73255d2dc Make one pass through the firewall the default.
Multiple pass (which only affects dummynet) is too confusing.
1999-04-26 14:57:24 +00:00
peter
0898e23a67 Only call kvtop on non-null id_maddr's... 1999-04-26 12:49:39 +00:00
peter
c73393db8c Temporary hack. The radix code shouldn't need this, it should be
able to expand the zeros, ones etc masks on the fly.  It seems a good
number of domains don't set the rn_maxkey variable anyway, and because
this is a domain itself, there is no guarantee we've been called after
a protocol that actually has set it (ie: inet), so start with a maxkey
of a relatively sane size as a base point until it can adapt on the fly.
1999-04-26 09:05:31 +00:00
peter
e29be9ada8 Protect the ifinit() function's internals with splimp() for safety since
it used to be that way. I'm not sure that it's needed, but it does
walk the ifp list..

Incidently, there's nothing to sanity check the ifq_maxlen on loaded
interfaces..
1999-04-26 09:02:40 +00:00
peter
0f064f4579 Minor seatbelt tweak. The init code used to be splimp() protected,
maintain that in case.
1999-04-26 09:00:47 +00:00
peter
cbc4b2562b Register the netisr's via SYSINIT rather than linker sets. 1999-04-26 08:57:51 +00:00
peter
fb89c43e31 Register the local (unix domain) sockets ourselves. 1999-04-26 08:56:53 +00:00
peter
71a85450ac Redo domain registration to use SYSINITS rather than linker sets.
Get rid of the spl wrapper kludge, it doesn't seem to be needed between
init calls since all that's running is the domain/protocol timers and they
are safe since domain list modifications are splnet() protected (which
blocks the timers)
1999-04-26 08:56:09 +00:00
peter
a6e9c12999 Make DOMAIN_SET() use SYSINIT rather than linker sets. 1999-04-26 08:53:03 +00:00
peter
74790d1b53 Make NETISR_SET use a SYSINIT() rather than a linker set. 1999-04-26 08:52:16 +00:00
peter
107cc59b36 Fix a very long standing bug in run_interrupt_driven_config_hooks(). It
was fetching the next pointer from memory that could have been free()'d.
1999-04-25 22:13:34 +00:00
dcs
131007fae0 Make man page reflect reality on parsing rules. Now I know Jordan
never read this man page... :-)
1999-04-25 21:41:09 +00:00
alc
4be4456eab pmap_dispose_proc and pmap_copy_page:
Conditionally compile 386-specific code.

pmap_enter:
	Eliminate unnecessary TLB shootdowns.

pmap_zero_page and pmap_zero_page_area:
	Use invltlb_1pg instead of duplicating the code.
1999-04-25 18:40:05 +00:00
dt
952d1a8ebf Added used include. 1999-04-25 10:45:59 +00:00
phk
9944adfa60 Make the machdep.i8254_freq and machdep.tsc_freq sysctls modify the
timecounter as well

Asked for by:	bde, jhay
1999-04-25 09:00:00 +00:00
phk
a7774b2206 Allow multiple opens. 1999-04-25 08:58:10 +00:00
peter
8d7f7356e8 Use PCCARD_MODULE() instead of DATA_SET(), the pccard linker set went a
while ago.
1999-04-25 07:44:02 +00:00
kato
e7b80ea5ad Remove obsolete interrupt labels. 1999-04-25 05:59:02 +00:00
kato
3942647e62 Sync with sys/i386/i386/userconfig.c revision 1.137. 1999-04-25 04:06:43 +00:00
kato
859928112f Sync with sys/i386/conf/options.i386 revision 1.112. 1999-04-25 04:05:31 +00:00
kato
d7c3d0400f Sync with sys/i386/conf/Makefile.i386 revision 1.148. 1999-04-25 04:04:24 +00:00
kato
bc940b3098 De-quote. 1999-04-25 04:03:22 +00:00
kato
773fedc1c8 Sync with sys/boot/i386/loader/Makefile revision 1.34. 1999-04-25 03:56:44 +00:00
peter
07326e367c The fd options changed during new-bus. 1999-04-24 21:46:56 +00:00
peter
cd587af1c8 De-quote where possible and minor tweaks. depends on a current config(8). 1999-04-24 21:45:44 +00:00
peter
d893e230db Bump configvers; when the updates to generic/lint get committed, the old
config has severe indigestion.
1999-04-24 21:38:50 +00:00
billf
f0c9964ef7 Add $Id: $ 1999-04-24 20:26:12 +00:00
peter
ab2d1f3910 Use COMPAT_PCI_DRIVER() for registration if it exists. This shouldn't
hurt the driver portability to 3.x too much for where drivers are shared.
1999-04-24 20:24:02 +00:00
peter
bf0ce86bdf #if 0 out the pci device list, not that you could do a lot with it. It
was only looking at old style drivers in the pcidevice_set, which doesn't
exist any more..  Ultimately, the pci and eisa bus drivers will check for
hints for wiring, flags and enable/disable etc as well.
1999-04-24 20:20:37 +00:00
peter
d6f4bd18f5 Use COMPAT_PCI_DRIVER() for registration if it exists. This shouldn't
hurt the driver portability to 3.x too much for where drivers are shared.
1999-04-24 20:17:05 +00:00
peter
e7462e4ae5 Replace the pcidevice_set linker set based configuration mechanism for old
style pci drivers with a simple one-line change to use a module that
registers itself under new-bus and should in theory enable just about all
of the pci drivers to be loadable (kldload and loader(8)) but without
having the impact of converting the APIs yet.

This also fixes the problem of having undefined variables when only
new-style pci drivers are present.
1999-04-24 19:59:20 +00:00
peter
484e1a3ce1 Zap some #if 0 code for wired PCI devices. This will look quite different
under new-bus.
1999-04-24 19:55:41 +00:00