Commit Graph

7749 Commits

Author SHA1 Message Date
John Baldwin
7ad1d369bb Remove unnecessary locking to protect the p_upages_obj and p_addr
pointers.
2001-01-30 00:35:35 +00:00
Søren Schmidt
bb0030a4f8 Add text for option ATA_ENABLE_WC. 2001-01-29 17:58:16 +00:00
Peter Wemm
920c17857f Stop counting sppp interfaces, we were just testing its presence to give
a warning if it was missing.
2001-01-29 12:27:46 +00:00
Peter Wemm
f444a0efe9 Convert mca (microchannel bus support) from something that we count
(bogus) to something that we test for the presence of.
2001-01-29 11:57:27 +00:00
Peter Wemm
03927d3c33 Send "#if NISA > 0" to the bit-bucket and replace it with an option.
These were compile-time "is the isa code present?" tests and not
'how many isa busses' tests.
2001-01-29 09:38:39 +00:00
Peter Wemm
9ff4ede1d0 Gag. These compiled because I had a stray "eisa.h" in my config dir. 2001-01-29 08:40:16 +00:00
Peter Wemm
5022186bc6 Remove stray #include "isa.h" 2001-01-29 08:33:55 +00:00
Peter Wemm
52a90b77f9 change 'count eisa' to 'optional eisa' and update the only consumer
of 'NEISA' - userconfig.c.
While there, send some defunct code to the file history.
2001-01-29 08:19:02 +00:00
Poul-Henning Kamp
73cee67c0e Remove an outdated DEVFS non-description. 2001-01-28 19:32:23 +00:00
Jake Burkholder
07ce8269b1 Clear intr_nesting_level when an interrupt thread has no more
handlers and wants to exit, so it doesn't panic in exit1()
which malloc()s with M_WAITOK.

Reported by:	Bob Bishop <rb@gid.co.uk>
2001-01-28 17:20:11 +00:00
Bosko Milekic
84e11fbc2e Move the setting of curproc to idleproc up earlier in ap_init(). The
problem is that a mutex lock, prior to this change, is acquired before
the curproc is set to idleproc, so we mess ourselves up by calling
the mutex lock routine with curproc == NULL.

Moving it up after the aps_ready spin-wait has us hopefully setting it
after idleproc is setup.

Solved by: jake (the allmighty) :-)
2001-01-28 03:41:01 +00:00
Tor Egge
48bed92485 Defer assignment of low level interrupt handlers for PCI interrupts
described in the MP table until something asks for the interrupt number
later on.
2001-01-28 01:07:54 +00:00
Poul-Henning Kamp
b0254d109c Turn DEVFS on by default.
You may need to turn this off if you you vinum.  Apart from that I know of
no reason not to run with DEVFS.
2001-01-27 08:18:36 +00:00
John Baldwin
ba88dfc733 Back out proc locking to protect p_ucred for obtaining additional
references along with the actual obtaining of additional references.
2001-01-27 00:01:31 +00:00
Hellmuth Michaelis
4a29e8f92b Add experimental support for Eicon.Diehl DIVA 2.0 and 2.02 ISA PnP cards. 2001-01-26 13:22:18 +00:00
Hellmuth Michaelis
8567e1d3e2 Add experimental support for Eicon.Diehl DIVA 2.0 and 2.02 ISA PnP cards.
Increment i4b minor revision (=step) so a buildworld or a make install in
/usr/src/sys/include is necessary to get isdnd and i4b kernel parts in sync.
2001-01-26 13:12:56 +00:00
Jake Burkholder
28df158b49 Push Giant down into the trap handlers that need it, instead of
acquiring it unconditionally.

Reviewed by:	jhb
2001-01-26 04:16:16 +00:00
John Baldwin
b00df9c9ba Whitespace fix: convert code indented 6 spaces to use tabs instead. 2001-01-25 19:37:26 +00:00
Coleman Kane
7670e0125f Add some description and clarification as to the use of the tdfx device.
Answers many questions I have recieved and has a short description of what
the driver actually does.
2001-01-25 06:58:53 +00:00
Peter Wemm
d42df83312 Disable cy - it is now completely broken and needs non-trivial work. 2001-01-25 01:56:27 +00:00
John Baldwin
2a36ec35ae - Change fork_exit() to take a pointer to a trapframe as its 3rd argument
instead of a trapframe directly.  (Requested by bde.)
- Convert the alpha switch_trampoline to call fork_exit() and use the MI
  fork_return() instead of child_return().
- Axe child_return().
2001-01-24 21:59:25 +00:00
John Hay
b2952b0aa4 Newbusify ar(4). 2001-01-24 18:45:29 +00:00
Jason Evans
1b367556b5 Convert all simplelocks to mutexes and remove the simplelock implementations. 2001-01-24 12:35:55 +00:00
John Baldwin
bb4b2d8b2a Remove the Xforward_irq IPI. 2001-01-24 10:01:13 +00:00
John Baldwin
cd60bc00a7 - Remove all the #if 0'd code that used to implement IRQ forwarding.
- Remove #if 0'd lazy interrupt mask.
2001-01-24 10:00:07 +00:00
John Baldwin
738a8dfba1 Remove unused locks: cpl, fast_intr, intr, mpintr. 2001-01-24 09:58:56 +00:00
John Baldwin
5b8c74d59a - Proc locking.
- P_OWEUPC -> PS_OWEUPC.
- Remove obsolete prototype for MD fork_return().
2001-01-24 09:56:49 +00:00
John Baldwin
019fb3becf - Remove Xforward_irq, cpl_lock, and fast_intr_lock.
- Add fork_exit.
2001-01-24 09:55:39 +00:00
John Baldwin
0d54b9d12c Setup the return values for a child process in the trapframe when we setup
the rest of the trapframe instead of doing it in fork_return().
2001-01-24 09:54:44 +00:00
John Baldwin
625c76db3a - Kill the have_giant parameter to userret() along with all instances of
that name as a variable.  Use mtx_owned(&Giant) where appropriate
  instead.
- Proc locking.
- P_FOO -> PS_FOO.
- Update comments about enable interrupts during trap and why this may be
  bad if we trap while holding a spin mutex.
- Don't bother resetting p to curproc in syscall() in case we are the child
  returning from fork.  The child hasn't returned from fork through syscall
  in a while.
- Remove fork_return() as it has been superseded by the MI version.
2001-01-24 09:53:49 +00:00
John Baldwin
16fdce5377 - Proc locking.
- P_INMEM -> PS_INMEM.
2001-01-24 09:49:49 +00:00
John Baldwin
4cbdef8448 - Relocate portions of this file to get it into an order closer to that of
the alpha mp_machdep.c.
- Proc locking.
- Catch up to the P_FOO -> PS_FOO proc flags changes.
- Stick ap_init()'s prototype with the other prototypes.
- Remove the Xforwardirq IPI.
- Remove unused simplelocks.
- Don't try to psignal() from forward_statclock(), but set the appropriate
  signal pending flag in p_sflag instead.
- Add in KTR_SMP tracepoints for various SMP functions.   (Brought over
  from the alpha port)
2001-01-24 09:48:52 +00:00
John Baldwin
52070bf2e6 - Proc locking.
- Setup proc0.p_heldmtx, proc0.contested, and curproc earlier so that we
  can use mutexes.
- Initialize sched_lock and Giant earlier and enter Giant during init386.
- Use suser(9) instead of checking cr_uid directly.
2001-01-24 09:45:20 +00:00
John Baldwin
89cb8fc912 Call fork_exit() now instead of futzing around in assembly during a fork
return.
2001-01-24 09:43:26 +00:00
John Baldwin
611d940790 Proc locking. 2001-01-24 00:27:28 +00:00
John Baldwin
1e3e44f22f - Proc locking.
- Use FreeBSD stackgap_init() semantics.
- Adjust some #ifdef's to hide unused variables.
2001-01-24 00:24:57 +00:00
John Baldwin
fdfdfb786a - Proc locking.
- Use NULL instead of 0.
2001-01-24 00:23:30 +00:00
John Baldwin
172c0b6aec Use selrecord() instead of doing the work ourselves. 2001-01-24 00:06:26 +00:00
John Baldwin
92ad4dfbd1 Make the device name in an isa_device a const char * instead of a char *
to silence cast-qual warnings.
2001-01-24 00:05:13 +00:00
John Baldwin
401cee34d4 Use queue macros. 2001-01-24 00:01:42 +00:00
John Baldwin
0f483a016c Proc locking. 2001-01-23 23:59:38 +00:00
John Baldwin
1070c735ff - Use 'p' instead of 'curproc' for the namei lookup as this is what
other image activators use.
- Proc locking.
2001-01-23 23:59:30 +00:00
Jason Evans
0cde2e34af Move most of sys/mutex.h into kern/kern_mutex.c, thereby making the mutex
inline functions non-inlined.  Hide parts of the mutex implementation that
should not be exposed.

Make sure that WITNESS code is not executed during boot until the mutexes
are fully initialized by SI_SUB_MUTEX (the original motivation for this
commit).

Submitted by:	peter
2001-01-21 22:34:43 +00:00
Dag-Erling Smørgrav
a3ea6d41b9 First step towards an MP-safe zone allocator:
- have zalloc() and zfree() always lock the vm_zone.
 - remove zalloci() and zfreei(), which are now redundant.

Reviewed by:	bmilekic, jasone
2001-01-21 22:23:11 +00:00
Jake Burkholder
a448b62ac9 Make intr_nesting_level per-process, rather than per-cpu. Setup
interrupt threads to run with it always >= 1, so that malloc can
detect M_WAITOK from "interrupt" context.  This is also necessary
in order to context switch from sched_ithd() directly.

Reviewed By:	peter
2001-01-21 19:25:07 +00:00
Peter Wemm
654c30a008 Remove APIC_INTR_DIAGNOSTIC - this has been disabled for some time now.
Remove some leftovers of removed SMP options.
2001-01-21 07:54:10 +00:00
Jason Evans
d1c1b8413e Remove MUTEX_DECLARE() and MTX_COLD. Instead, postpone full mutex
initialization until after malloc() is safe to call, then iterate through
all mutexes and complete their initialization.

This change is necessary in order to avoid some circular bootstrapping
dependencies.
2001-01-21 07:52:20 +00:00
Peter Wemm
8363b95b57 Remove the MAYBE_PANIC and GUARD_CPU macros - unused. 2001-01-21 07:26:31 +00:00
Jake Burkholder
3e899e1063 Remove the per-cpu pages used for copy and zero-ing pages of memory
for SMP; just use the same ones as UP.  These weren't used without
holding Giant anyway, and the routines that use them would have to
be protected from pre-emption to avoid migrating cpus.
2001-01-21 06:50:03 +00:00
Jake Burkholder
03cd4c2029 Implement optimized PCPU accessors. These are necessary to support a
pre-emptable kernel.  For variables of size 4 bytes or less they compile
to a single instruction, which does not allow a process to migrate cpus
in the middle, and get the value for the "wrong" cpu.
2001-01-21 03:11:03 +00:00