Commit Graph

23422 Commits

Author SHA1 Message Date
msmith
98070a71a3 Don't try to fix up the Orion here; the interface we use is wrong for the
new code (and about to disappear too).
2000-12-12 13:11:42 +00:00
n_hibma
513cdb0082 make sure we tear down the devnodes for the endpoints 1 and above
when switching configuration.
2000-12-12 10:19:19 +00:00
msmith
c5c8b89787 Always build the ISA and EISA bridge code. This is slightly unintiuitive,
but serves to work around some uncleanliness whereby the ISA bus is not
found on Alpha systems with PCI:EISA bridges due to the lack of EISA code
for the Alpha.
2000-12-12 08:23:50 +00:00
mckusick
cba301121b Change the proc information returned from the kernel so that it
no longer contains kernel specific data structures, but rather
only scalar values and structures that are already part of the
kernel/user interface, specifically rusage and rtprio. It no
longer contains proc, session, pcred, ucred, procsig, vmspace,
pstats, mtx, sigiolst, klist, callout, pasleep, or mdproc. If
any of these changed in size, ps, w, fstat, gcore, systat, and
top would all stop working. The new structure has over 200 bytes
of unassigned space for future values to be added, yet is nearly
100 bytes smaller per entry than the structure that it replaced.
2000-12-12 07:25:57 +00:00
jhb
94f4cb07c8 - Convert the per-eventhandler list mutex to a lockmgr lock so that it can
be safely held across an eventhandler function call.
- Fix an instance of the head of an eventhandler list being read without
  the lock being held.
- Break down and use a SYSINIT at the new SI_SUB_EVENTHANDLER to initialize
  the eventhandler global mutex and the eventhandler list of lists rather
  than using a non-MP safe initialization during the first call to
  eventhandler_register().
- Add in a KASSERT() to eventhandler_register() to ensure that we don't try
  to register an eventhandler before things have been initialized.
2000-12-12 04:01:35 +00:00
jhb
e1f16f459e Fix the assembly mutex macros to call the appropriate witness functions if
the witness code is compiled in.  Without this, the witness code doesn't
notice that sched_lock is released by fork_trampoline() and thus gets all
confused about spin lock order later on.
2000-12-12 03:49:58 +00:00
jhb
1511ebc38e Since _mtx_enter() and friends are static inline functions now instead of
macros, the mutex KTR log entries don't actually have the useful filename
and line numbers in the KTR_EXTEND case, so remove a comment claiming this
and go back to one set of KTR strings.
2000-12-12 03:48:40 +00:00
msmith
986a4dc88d - Don't return early from the PCI:EISA bridge attachment, or we will lose
the ISA bus.
 - Don't expect that a PCI:ISA bridge will have a correct class value;
   if we're checking PCI IDs, only depend on these.

This should fix the loss of ISA on machines with PCI:EISA bridges like the
AS4100.
2000-12-12 03:33:02 +00:00
gallatin
7a735b1d2f enable the proper cascade irq on as1000a
tested by: wilko
2000-12-12 01:39:17 +00:00
gallatin
dd2ab47ed9 fix AS1000/AS1000A support. It turns out the that iobus depends on the
CPU version (apecs:ev4::cia:ev5) and the irq hardware depends on the systype
previously, only ev4 AS1000s and ev5 AS1000a's would have worked.

tested by: wilko (in its -stable form)
noticed by: daniel
2000-12-12 01:36:26 +00:00
gallatin
feb51706ae fix various compiler warnings generated by previous commit 2000-12-12 01:32:36 +00:00
jake
e04de3cdaa - Add code to detect if a system call returns with locks other than Giant
held and panic if so (conditional on witness).
- Change witness_list to return the number of locks held so this is easier.
- Add kern/syscalls.c to the kernel build if witness is defined so that the
  panic message can contain the name of the offending system call.
- Add assertions that Giant and sched_lock are not held when returning from
  a system call, which were missing for alpha and ia64.
2000-12-12 01:14:32 +00:00
jhb
5791a37906 - Don't bother taking a trace message if we have panic'd since doing so
can lead to further panics.
- Call getnanotime() instead of nanotime() for the timestamp.  nanotime()
  is more precise, but it also calls into the timer code, which results
  in mutex operations on the i386 arch.  If KTR_LOCK is turned on, then
  ktr_tracepoint() recurses on itself until it exhausts the kernel stack.
  Eventually this should change to use get_cyclecount() instead, but that
  can't happen if get_cyclecount() is calling nanotime() instead of
  getnanotime().
2000-12-12 00:43:50 +00:00
jhb
28288268c8 Oops, the witness mutex is a spin lock, so use MTX_SPIN in the call to
mtx_init().  Since the witness code ignores its internal mutex, this
doesn't result in any functional change.
2000-12-12 00:37:18 +00:00
mjacob
8a1e7ec2bf add comment about ispfw 2000-12-11 23:31:32 +00:00
nsayer
86b705b83b Add the spic driver, which is a simple first attempt at providing access
to the jog dial device.
2000-12-11 19:41:48 +00:00
nsayer
70cbe9b903 Stake a claim on major 160 for the forthcoming spic driver. 2000-12-11 19:05:58 +00:00
ume
4db8a5921b fix problem with vmware DAD. reported by many, tested @ IETF49 with
help from Florent Parent <Florent.Parent@viagenie.qc.ca>.

Obtained from:	KAME
2000-12-11 18:53:40 +00:00
jhay
e1a91d9a98 Change sppp from optional to count. At least ar(4) and sr(4) needs it in
the non-NETGRAPH case.
2000-12-11 18:36:38 +00:00
sanpei
ce4256a49b add PNPID for PnP PCMCIA, SCM SwapBox Classic X2P.
PR:		kern/23344 (Kaho Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>)
2000-12-11 15:02:50 +00:00
phk
49058dfc85 Remove DDB, it leaked in here with another commit.
Submitted by:	bde
2000-12-11 14:02:00 +00:00
msmith
4f02e974cd It looks like we can't count on these devices always having a consistent
class/subclass, so give up trying to cull the list.  Instead, complain
in the bootverbose case, but otherwise just accept that we will have to
carry this list of device IDs around.
2000-12-11 10:04:01 +00:00
dillon
7317f38702 Be less conservative with a recently added KASSERT. Certain edge
cases with file fragments and read-write mmap's can lead to a situation
    where a VM page has odd dirty bits, e.g. 0xFC - due to being dirtied by
    an mmap and only the fragment (representing a non-page-aligned end of
    file) synced via a filesystem buffer.  A correct solution that
    guarentees consistent m->dirty for the file EOF case is being
    worked on.  In the mean time we can't be so conservative in the
    KASSERT.
2000-12-11 07:52:47 +00:00
archie
db0edd3c39 Fix a bug where if the interface was in promiscuous mode when the
last hook was disconnected, the interface would not get reset to
non-promiscuous mode.

Reported by:	jdp
2000-12-11 03:36:26 +00:00
msmith
3e6200a674 The ICH2 reports itself as a PCI:ISA bridge, so don't special-case it
here.

Submitted by:	Michael Harnois <mdharnois@home.com>
2000-12-10 11:15:19 +00:00
nyan
84198a1e21 Added 'MACHINE=pc98' to MKMODULESENV variable. It is needed to make modules
for PC-98 on IBM-PC box.
2000-12-10 10:28:01 +00:00
nyan
807fe8d8f9 Added '-DPC98' to CFLAGS if MACHINE == pc98. 2000-12-10 10:07:50 +00:00
nyan
561cc1147c Removed the VoxWare sound drivers. 2000-12-10 10:02:32 +00:00
marcel
6fe5498a52 o Remove mcclock
o  s/alpha/ia64/g
2000-12-10 04:32:34 +00:00
marcel
7955e3e2cb Sync-up so that buils actually work again. 2000-12-10 04:31:16 +00:00
mjacob
4652177fe4 Put the bits in place for Alpha support for ext2. Not tested. 2000-12-09 22:32:49 +00:00
mjacob
80cffb65bc Correct to a common %ld the 5 argument to a printf. 2000-12-09 22:32:01 +00:00
mjacob
38f6f3e89e Use a pointer to a size_t for the 4th argument to copyinstr-
not a pointer to a u_int.
2000-12-09 22:31:34 +00:00
mjacob
036f9ff7a3 Store in globaldata our CPU ID#. Provide a lock for panics - only one
CPU can panic at a time.
Obtained from:Andrew Gallatin <gallatin@cs.duke.edu>
2000-12-09 20:52:42 +00:00
des
27bb2ad1a8 Add proc/<pid>/cmdline. 2000-12-09 16:20:48 +00:00
des
5837f3e5b4 Add a dependency on procfs. 2000-12-09 16:20:35 +00:00
des
861f7be108 A bunch of fixes that have been rotting in my tree for a month or two
waiting for procfs to get fixed:

  - Use fill_eproc() to obtain correct VM stats. Attempt to compute VmLib.

  - Fill some more fields in proc/<pid>/stat, and add four (unimplemented)
    fields after studying a recent Linux kernel.

  - Compute CPU frequency only once instead of twice.

  - Fix some comments that were OBE.

  - Fix indentation except where it makes the code less readable.
2000-12-09 13:25:54 +00:00
des
7f632ed13a Add a module version (so that linprocfs can properly depend on procfs) 2000-12-09 13:17:51 +00:00
des
ee1fe204c7 Add four missing source files. 2000-12-09 13:17:35 +00:00
msmith
b010dd9157 Cosmetic nit; separate slot/function with '.' not ':' 2000-12-09 09:37:07 +00:00
obrien
c2ee1dcc02 Add `_PATH_DEVZERO'.
Use _PATH_* where where possible.
2000-12-09 09:35:55 +00:00
msmith
c174181f43 - Fix the device database parsing code so that it actually works.
- Improve the formatting for devices identified by the database.
 - Fix the pcib_route_interrupt method definition, as an old version
   snuck in here somehow 8(
 - Remove a couple of the vendor/device IDs for PCI:ISA bridges which
   correctly identify themselves.

Submitted by:	peter
2000-12-09 09:15:38 +00:00
nyan
afb8ae41f3 Fixed to support 3Com 3C569B for PC-98.
Submitted by:	"Hirokazu WATANABE" <gwna@geocities.co.jp>
2000-12-09 04:25:07 +00:00
jhb
bdb8230400 Remove a comment that referrred to the obsolete mtxf struct. 2000-12-09 00:14:43 +00:00
msmith
03b00161a7 Next-phase PCI system update; move PCI core code to sys/dev and update
header include path to include sys/dev to avoid massive #include updates.
2000-12-08 22:26:48 +00:00
msmith
c27f2d3c49 Next phase in the PCI subsystem cleanup.
- Move PCI core code to dev/pci.
 - Split bridge code out into separate modules.
 - Remove the descriptive strings from the bridge drivers.  If you
   want to know what a device is, use pciconf.  Add support for
   broadly identifying devices based on class/subclass, and for
   parsing a preloaded device identification database so that if
   you want to waste the memory, you can identify *anything* we know
   about.
 - Remove machine-dependant code from the core PCI code.  APIC interrupt
   mapping is performed by shadowing the intline register in machine-
   dependant code.
 - Bring interrupt routing support to the Alpha
   (although many platforms don't yet support routing or mapping
   interrupts entirely correctly).  This resulted in spamming
   <sys/bus.h> into more places than it really should have gone.
 - Put sys/dev on the kernel/modules include path.  This avoids
   having to change *all* the pci*.h includes.
2000-12-08 22:11:23 +00:00
dwmalone
dd75d1d73b Convert more malloc+bzero to malloc+M_ZERO.
Submitted by:	josh@zipperup.org
Submitted by:	Robert Drehmel <robd@gmx.net>
2000-12-08 21:51:06 +00:00
wpaul
ed5dbfbd3c Fix probe/attach a little. We don't have to call bpfattach() anymore
since ether_ifattach() does it for us. We do need to call ether_ifdetach()
instead of if_detach(). And we don't have to check for ifp->if_name
already being initialized because it never will be in FreeBSD 4.x and
above.

Reviewed by:	Warner Losh, Duncan Barclay
2000-12-08 21:35:11 +00:00
jake
a212ca690e Revert the previous change I made to cpu_switch. It doesn't help as
much as I thought it would and according to bde was a pessimization.
2000-12-08 21:31:52 +00:00
msmith
5c07e9c2eb Staticise some malloc pools
Submitted by:	phk
2000-12-08 20:48:33 +00:00