Commit Graph

23522 Commits

Author SHA1 Message Date
Takanori Watanabe
874d21b468 Fix with debugging option.
Submitted by:	haro@tk.kubota.co.jp
2000-12-15 09:18:11 +00:00
John Baldwin
ea10b6b78e When p_ucred is passed to the venus daemon, first grab the proc lock to
protect the p_ucred pointer, obtain a seperate reference to the ucred,
release the lock, and then pass in the new ucred reference.
2000-12-15 00:12:30 +00:00
John Baldwin
ec244c5695 Locking change: lock p_cred with the proc mutex (c) instead of assuming
that it doesn't change after process creation.
2000-12-15 00:10:32 +00:00
John Baldwin
0ea11f3f52 Whitespace cleanups, and a few comment changes to get everything to fit
back in 80 columns again after the locking descriptions were added.

Submitted by:	bde
2000-12-15 00:09:31 +00:00
John Baldwin
de3622188a Add in MI implementations of the KTR trace buffer ddb commands. The
commands have also been slightly updated as follows:
- Use ktr_idx to find the newest entry rather than walking the buffer
  comparing timespecs.  Timespecs are not always unique after the change
  to use getnanotime(9).
- Add a new verbose setting.  When the verbose setting is on, then the
  timestamp is printed with each message.  If KTR_EXTEND is on, then the
  filename and line number are output as well.  By default this option is
  off.  It can be turned on with the 'v' modifier passed to the 'tbuf'
  and 'tall' commands.  For the 'tnext' command, the 'v' modifier toggles
  the verbose mode.
- Only display the cpu number for each message on SMP systems.
- Don't display anything for an empty entry that hasn't been used yet.
2000-12-15 00:01:20 +00:00
John Baldwin
5f38ca907c Remove the "machine dependent" KTR trace buffer ddb commands. The code was
exactly the same on all platforms.
2000-12-14 23:57:30 +00:00
Warner Losh
8261e44cef Generalize quirk for Sony Memory Sticks. Any device that starts with
MS will be treated as having this quirk.  In the event that we falsely
identify one that doesn't need it, no harm will be done.  Ken
suggested that we make this more generic since there may be more
needed in the future.

Reported by: TERAMOTO Masahiro <teramoto@comm.eng.osaka-u.ac.jp>
PR:	kern/23378
Reviewed by: ken
2000-12-14 22:08:13 +00:00
Ruslan Ermilov
c5f49c2585 mdoc(7) police: removed duplicate .Os call. 2000-12-14 12:48:07 +00:00
Takanori Watanabe
c07572e7ad Make Embedded Controller driver interrupt driven. 2000-12-14 12:43:22 +00:00
Seigo Tanimura
0a439034dc - Move ifs_init() so that it can initialize ifs_inode_hash_mtx.
- s/ffs_inode_hash_lock/ifs_inode_hash_lock/
2000-12-14 09:15:27 +00:00
Jake Burkholder
7d8e3aa013 Use _lapic+offset to access the local apic from assembly language
files, rather than the symbols in globals.s.  The offsets are
generated by genassym.
2000-12-14 04:16:16 +00:00
Warner Losh
ff93e72c08 Fix this based on Mike's moved pci code. We needed to delete the pci_m
from this module anyway, so I just did that.
2000-12-14 00:06:10 +00:00
Marcel Moolenaar
75a1da1e7a Fix include directories for crossbuilding.
aicasm is run on the build machine and therefore needs to be
compiled and linked against the headers and libraries (resp)
of the build machine. Since normally the default include
directories are search after any specified on the command
line, make sure we don't accidentally pick up machine
dependent headers from the kernel compile directory by
specifying /usr/include first.

This solves the (cross) build problem for ia64.

Approved by: gibbs
2000-12-13 23:15:12 +00:00
John Baldwin
562e4ffe86 - Add a new flag MTX_QUIET that can be passed to the various mtx_*
functions.  If this flag is set, then no KTR log messages are issued.
  This is useful for blocking excessive logging, such as with the internal
  mutex used by the witness code.
- Use MTX_QUIET on all of the mtx_enter/exit operations on the internal
  mutex used by the witness code.
- If we are in a panic, don't do witness checks in witness_enter(),
  witness_exit(), and witness_try_enter(), just return.
2000-12-13 21:53:42 +00:00
Warner Losh
492510de38 o Remove the COMPAT_OLDPCI option now that Mike removed it.
o Add pmtimer device
o Shorten scsi settle time to 1 second, since that's what I use and
  I'm tired of remerging it every time.
2000-12-13 21:52:44 +00:00
Dag-Erling Smørgrav
026527e5b8 Reconnect linprocfs. 2000-12-13 20:29:30 +00:00
Dag-Erling Smørgrav
6e66bfacfa Use kinfo_proc instead of eproc (which Kirk deep-sixed earlier this week)
Generate a version string that looks just like a real Linux one - almost :)

Use sbufs everywhere instead of sprintf(). Note that this is still imperfect,
as the code does not check whether the sbuf overflowed - but it'll still
work better than before, since if the sbuf overflows, the code now simply
copies out 0 bytes instead of causing a trap (or worse, corrupting kernel
structures)
2000-12-13 20:22:24 +00:00
Dag-Erling Smørgrav
315ab977dc Add dependency on linux, which is needed for proc/version. 2000-12-13 20:19:06 +00:00
Dag-Erling Smørgrav
137b8d7189 Add subr_sbuf.c. 2000-12-13 19:52:12 +00:00
Dag-Erling Smørgrav
60ec413038 String buffer API 2000-12-13 19:51:07 +00:00
John Baldwin
05f9877c15 If we fail to emulate a vm86 trap in kernel mode, then we use
vm86_trap() to return to the calling program directly.  vm86_trap()
doesn't return, thus it was never returning to trap() to release
Giant.  Thus, release Giant before calling vm86_trap().
2000-12-13 18:57:15 +00:00
Seigo Tanimura
5dfa801a91 Include vm/vm_zone.h prior to vm/swap_pager.h.
Noticed by:	Michael Harnois <mdharnois@home.com>
Submitted by:	assar
2000-12-13 17:36:03 +00:00
Robert Nordier
81578f4a33 Strip the .comment and .note sections when stripping. There's no
point in retaining this info, particularly under BTX.
2000-12-13 17:10:38 +00:00
Julian Elischer
e0752f9a73 I really hate it when part of a patch gets left out.
This was still sitting in my commit tree.
Luckily I always compare my before and after trees...
2000-12-13 15:42:37 +00:00
Noriaki Mitsunaga
2603f917b7 Move `#include <sys/devicestat.h>' into #ifdef/#endif to keep
comaptibility with NetBSD/pc98.
2000-12-13 13:35:46 +00:00
Seigo Tanimura
937c4dfa08 Do not race for the lock of an inode hash.
Reviewed by:	jhb
2000-12-13 10:04:01 +00:00
Seigo Tanimura
21cd6e6232 - If swap metadata does not fit into the KVM, reduce the number of
struct swblock entries by dividing the number of the entries by 2
until the swap metadata fits.

- Reject swapon(2) upon failure of swap_zone allocation.

This is just a temporary fix. Better solutions include:
(suggested by:	dillon)

o reserving swap in SWAP_META_PAGES chunks, and
o swapping the swblock structures themselves.

Reviewed by:	alfred, dillon
2000-12-13 10:01:00 +00:00
Jake Burkholder
6d43764a10 Introduce a new potientially cleaner interface for accessing per-cpu
variables from i386 assembly language.  The syntax is PCPU(member)
where member is the capitalized name of the per-cpu variable, without
the gd_ prefix.  Example: movl %eax,PCPU(CURPROC).  The capitalization
is due to using the offsets generated by genassym rather than the symbols
provided by linking with globals.o.  asmacros.h is the wrong place for
this but it seemed as good a place as any for now.  The old implementation
in asnames.h has not been removed because it is still used to de-mangle
the symbols used by the C variables for the UP case.
2000-12-13 09:23:53 +00:00
Matt Jacob
6cd8749dbf Add route interrupt method. 2000-12-13 09:07:16 +00:00
Jake Burkholder
1756a185cf Lock the allproc list.
Approved by:	DES
2000-12-13 09:05:45 +00:00
Kirk McKusick
1d733bbd10 Preventing runaway kernel soft updates memory, take three.
Previously, the syncer process was the only process in the
system that could process the soft updates background work
list. If enough other processes were adding requests to that
list, it would eventually grow without bound. Because some of
the work list requests require vnodes to be locked, it was
not generally safe to let random processes process the work
list while they already held vnodes locked. By adding a flag
to the work list queue processing function to indicate whether
the calling process could safely lock vnodes, it becomes possible
to co-opt other processes into helping out with the work list.
Now when the worklist gets too large, other processes can safely
help out by picking off those work requests that can be handled
without locking a vnode, leaving only the small number of
requests requiring a vnode lock for the syncer process. With
this change, it appears possible to keep even the nastiest
workloads under control.

Submitted by:	Paul Saab <ps@yahoo-inc.com>
2000-12-13 08:30:35 +00:00
David E. O'Brien
c81f693089 Sync with i386/GENERIC rev 1.294 removing "COMPAT_OLDPCI".
This fixed the broken kernel build on the Alpha.
2000-12-13 07:34:47 +00:00
Warner Losh
727928f866 Remove unnecessary includes found by phk's script. I've been building
these locally for ages.
2000-12-13 06:28:37 +00:00
Warner Losh
3a68d6087a Fix problem with ax88190 based cards trying to probe further after
matching the ax88190.
2000-12-13 06:27:23 +00:00
Warner Losh
b76f687a7e Remove unnecessary includes found by phk's script a long time ago. 2000-12-13 06:25:22 +00:00
Warner Losh
641d2fddd3 Add aic and ray modules. I've been building these for a while now on
i386.
2000-12-13 05:54:26 +00:00
Warner Losh
598364a003 Module for aic
Submitted by:	Michael Reifenberger
2000-12-13 05:50:02 +00:00
Warner Losh
b66fd62112 Add module dependencies on CAM module.
Submitted by:	Michael Reifenberger
2000-12-13 05:46:23 +00:00
Bosko Milekic
988cb8dfd9 Eliminate a race in MEXTFREE(). The reference counter decrement and test
was not atomic. We now make sure that we free the ext buf if the reference
count is about to reach 0 but also make sure that nobody else has done it
before us.

While I'm here, change refcnt to u_int (from long). This fixes a compiler
warning regarding use of atomic_cmpset_long on i386.

Submitted by: jasone
Reviewed by: jlemon, jake
2000-12-13 05:13:02 +00:00
Robert Watson
f6a99e61c5 o Tighten restrictions on use of /proc/pid/ctl and move access checks
in ctl to using centralized p_can() inter-process access control
  interface.

Reviewed by:	sef
2000-12-13 04:28:24 +00:00
Mike Smith
70b5f189c9 Remove a redundant prototype. 2000-12-13 04:22:04 +00:00
Mike Smith
3742d6ca91 Don't try to free the now-nonexistent hdrspec field. This one snuck by
me in the previous round of patches.  Oops.
2000-12-13 02:45:03 +00:00
Warner Losh
6763347475 Add isa support:
o write isa driver routines.
o factor detach routine in sn_detach.
2000-12-13 01:47:19 +00:00
Mike Smith
84c6b37d74 Updates to match changes elsewhere in the PCI subsystem:
- Remove redundant header-type-specific support in the cardbus pcibus
   clone.  The bridges don't need this anymore.
 - Use pcib_get_bus instead of the deprecated pci_get_secondarybus.
 - Implement read/write ivar support for the pccbb, and teach it how
   to report its secondary bus number.  Save the subsidiary bus number
   as well, although we don't use it yet.
2000-12-13 01:28:00 +00:00
Mike Smith
8983cfbf27 Next round of PCI subsystem updates:
- Break out the /dev/pci driver into a separate file.
 - Kill the COMPAT_OLDPCI support.
 - Make the EISA bridge attach a bit more like the old code; explicitly
   check for the existence of eisa0/isa0 and only attach if they don't
   already exist.  Only make one bus_generic_attach() pass over the
   bridge, once both busses are attached.  Note that the stupid Intel
   bridge's class is entirely unpredictable.
 - Add prototypes and re-layout the core PCI modules in line with
   current coding standards (not a major whitespace change, just moving
   the module data to the top of the file).
 - Remove redundant type-2 bridge support from the core PCI code; the
   PCI-CardBus code does this itself internally.  Remove the now
   entirely redundant header-class-specific support, as well as the
   secondary and subordinate bus number fields.  These are bridge
   attributes now.
 - Add support for PCI Extended Capabilities.
 - Add support for PCI Power Management.  The interface currently
   allows a driver to query and set the power state of a device.
 - Add helper functions to allow drivers to enable/disable busmastering
   and the decoding of I/O and memory ranges.
 - Use PCI_SLOTMAX and PCI_FUNCMAX rather than magic numbers in some
   places.
 - Make the PCI-PCI bridge code a little more paranoid about valid
   I/O and memory decodes.
 - Add some more PCI register definitions for the command and status
   registers.  Correct another bogus definition for type-1 bridges.
2000-12-13 01:25:11 +00:00
Mike Smith
e8d5a72218 Remove the COMPAT_OLDPCI option, it's going away.
Turn 'lnc' off in GENERIC for the moment, pending its update to newbus.
2000-12-13 01:11:34 +00:00
Mike Smith
01282c87e3 Remove a couple of leftover unused variables. 2000-12-13 01:06:54 +00:00
Kirk McKusick
0bf3b91d8a Use proper mutex locking when calling setrunnable from speedup_syncer().
Submitted by:	Tor.Egge@fast.no
2000-12-13 01:06:53 +00:00
Jake Burkholder
c0c2557090 - Change the allproc_lock to use a macro, ALLPROC_LOCK(how), instead
of explicit calls to lockmgr.  Also provides macros for the flags
  pased to specify shared, exclusive or release which map to the
  lockmgr flags.  This is so that the use of lockmgr can be easily
  replaced with optimized reader-writer locks.
- Add some locking that I missed the first time.
2000-12-13 00:17:05 +00:00
Julian Elischer
1b3335af6a Another mismatch found by Gcc:
This is what happenss when you let the patches pile up too long without
committing them.. brain rot..
2000-12-12 23:56:16 +00:00
Julian Elischer
ca976de62f Change initialiser to match new structure layout.
forgotten by: Me
Found by: GCC
2000-12-12 23:52:43 +00:00
Julian Elischer
c4e30752ba remove unused variable 2000-12-12 23:50:51 +00:00
Mike Smith
5aea03b06b It's possible for an ISA bus to be hung off an EISA bridge, so we need to
reflect that here.
2000-12-12 23:33:29 +00:00
Archie Cobbs
eb1fc88909 Fix bug in parse type for struct ng_one2many_config.
Reported by:	Yian Zhu <Yian.Zhu@qobra.com>
2000-12-12 23:12:22 +00:00
Julian Elischer
d00a91423d I always forget this file. It's netgraph, but not one of mine..... 2000-12-12 23:05:19 +00:00
Julian Elischer
7600241b05 I have no idea at all why this file was not included in the last commit. 2000-12-12 22:35:36 +00:00
Dag-Erling Smørgrav
96e37d17e6 Point #includes at compat/linprocfs instead of i386/linux/linprocfs. 2000-12-12 22:06:05 +00:00
Dag-Erling Smørgrav
c094d916c4 Remove after repo-copy to sys/compat/linprocfs. 2000-12-12 22:01:59 +00:00
Dag-Erling Smørgrav
190a3b2513 The linprocfs sources have moved to sys/compat/linprocfs. 2000-12-12 22:00:05 +00:00
Matt Jacob
1426b70df8 only include sys/proc.h once 2000-12-12 21:20:48 +00:00
David E. O'Brien
184265fd42 Include sys/proc.h so this compiles [on the Alpha]. 2000-12-12 21:18:13 +00:00
Matt Jacob
093d32e535 We reference curproc, ergo need <sys/proc.h> 2000-12-12 21:14:29 +00:00
John Baldwin
1639f08b45 Add a missing include of <sys/proc.h>. 2000-12-12 20:24:36 +00:00
Bill Paul
34da0ef197 Grrrrr. That last commit was supposed to be to the head, not to -stable
(even though I want the fixes in -stable anyway). I'm sure I'm going
to get flamed now for committing to -stable and -current too quickly.
*sigh*
2000-12-12 19:31:14 +00:00
Julian Elischer
453b556583 oops that commit included a local hack... take it out.. 2000-12-12 18:59:09 +00:00
Julian Elischer
859a4d166c Reviewed by: Archie@freebsd.org
This clears out my outstanding netgraph changes.
There is a netgraph change of design in the offing and this is to some
extent a superset of soem of the new functionality and some of the old
functionality that may be removed.

This code works as before, but allows some new features that I want to
work with and evaluate. It is the basis for a version of netgraph
with integral locking for SMP use.

This is running on my test machine with no new problems :-)
2000-12-12 18:52:14 +00:00
Robert Nordier
1ec5afb81e Add a magic number, for easier identification of boot0. At present,
this is used only by libdisk.
2000-12-12 17:27:35 +00:00
John Baldwin
5057d21069 Add in symbols needed in the WITNESS_ENTER and WITNESS_EXIT macros in
i386/include/mutex.h.
2000-12-12 16:40:20 +00:00
Dag-Erling Smørgrav
2b3d269b8b Temporarily disconnect linprocfs from the build, until I fix it so it builds
with Kirk's big proc patch.
2000-12-12 16:03:17 +00:00
Mitsuru IWASAKI
b2c9c0dab2 Catch up with the recent conversion the per-eventhandler list mutex to
a lockmgr lock.
2000-12-12 14:20:27 +00:00
Mike Smith
4fa59183f1 - We have access to our own device_t here, so use pci_read_config
rather than finding our parent pcib and using its PCI_READ_CONFIG
   method.

 - Fix the defines for the 32-bit I/O decode registers, and properly
   process the 16-bit versions.  Now we will correctly check that I/O
   resources behind the bridge are going to be decoded.

 - Bring the quirk for the Orion PCI:PCI bridge in here (since it
   seems to want to set the secondary/supplementary bus numbers).

 - Use PCI_SLOTMAX rather than a magic number.
2000-12-12 13:20:35 +00:00
Mike Smith
52daea05c5 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
Nick Hibma
040639a0aa make sure we tear down the devnodes for the endpoints 1 and above
when switching configuration.
2000-12-12 10:19:19 +00:00
Mike Smith
6bcd295b8d 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
Kirk McKusick
1f7d250182 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
John Baldwin
06592dd188 - 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
John Baldwin
18f619abce 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
John Baldwin
61d68d6cb8 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
Mike Smith
fed8edf563 - 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
Andrew Gallatin
be5182cc4d enable the proper cascade irq on as1000a
tested by: wilko
2000-12-12 01:39:17 +00:00
Andrew Gallatin
f4aea0e88a 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
Andrew Gallatin
1b771c9281 fix various compiler warnings generated by previous commit 2000-12-12 01:32:36 +00:00
Jake Burkholder
92cf772d8d - 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
John Baldwin
d664747bfa - 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
John Baldwin
428b4b5562 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
Matt Jacob
ac918c8460 add comment about ispfw 2000-12-11 23:31:32 +00:00
Nick Sayer
4323578d73 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
Nick Sayer
0f84eb4457 Stake a claim on major 160 for the forthcoming spic driver. 2000-12-11 19:05:58 +00:00
Hajimu UMEMOTO
39715b6a8a 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
John Hay
341cbf7f95 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
MIHIRA Sanpei Yoshiro
23f344f985 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
Poul-Henning Kamp
9b67714311 Remove DDB, it leaked in here with another commit.
Submitted by:	bde
2000-12-11 14:02:00 +00:00
Mike Smith
e620c314df 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
Matthew Dillon
02fa91d35e 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 Cobbs
3d48aa2a7c 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
Mike Smith
772922d066 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
Yoshihiro Takahashi
cd52087363 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
Yoshihiro Takahashi
be98a6c10d Added '-DPC98' to CFLAGS if MACHINE == pc98. 2000-12-10 10:07:50 +00:00
Yoshihiro Takahashi
4fca76da0c Removed the VoxWare sound drivers. 2000-12-10 10:02:32 +00:00
Marcel Moolenaar
bc3768182a o Remove mcclock
o  s/alpha/ia64/g
2000-12-10 04:32:34 +00:00
Marcel Moolenaar
a107c7d1c7 Sync-up so that buils actually work again. 2000-12-10 04:31:16 +00:00
Matt Jacob
80e8f27bbc Put the bits in place for Alpha support for ext2. Not tested. 2000-12-09 22:32:49 +00:00
Matt Jacob
2c8380ba4a Correct to a common %ld the 5 argument to a printf. 2000-12-09 22:32:01 +00:00
Matt Jacob
f5a5fd9ed1 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
Matt Jacob
25b53bb41f 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
Dag-Erling Smørgrav
b51a26edb2 Add proc/<pid>/cmdline. 2000-12-09 16:20:48 +00:00
Dag-Erling Smørgrav
8b5a844af9 Add a dependency on procfs. 2000-12-09 16:20:35 +00:00
Dag-Erling Smørgrav
f786d43aac 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
Dag-Erling Smørgrav
668891c57b Add a module version (so that linprocfs can properly depend on procfs) 2000-12-09 13:17:51 +00:00
Dag-Erling Smørgrav
eba4802243 Add four missing source files. 2000-12-09 13:17:35 +00:00
Mike Smith
fc3438d892 Cosmetic nit; separate slot/function with '.' not ':' 2000-12-09 09:37:07 +00:00
David E. O'Brien
1a37aa566b Add `_PATH_DEVZERO'.
Use _PATH_* where where possible.
2000-12-09 09:35:55 +00:00
Mike Smith
2961fc5ac4 - 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
Yoshihiro Takahashi
8297c2fc98 Fixed to support 3Com 3C569B for PC-98.
Submitted by:	"Hirokazu WATANABE" <gwna@geocities.co.jp>
2000-12-09 04:25:07 +00:00
John Baldwin
bdc49e9b63 Remove a comment that referrred to the obsolete mtxf struct. 2000-12-09 00:14:43 +00:00
Mike Smith
7e820aaa1e 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
Mike Smith
bb0d0a8efc 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
David Malone
7cc0979fd6 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
Bill Paul
b1f3daafde 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 Burkholder
1b00f92039 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
Mike Smith
e0b349e634 Staticise some malloc pools
Submitted by:	phk
2000-12-08 20:48:33 +00:00
Jason Evans
aabafca098 Do not check for existence of ${_dir}/kern/ , because for modules that set
.PATH to ${.CURDIR}/[...]/kern , the "exists" expression will fail for the
form exists(${.CURDIR}/[...]/kern/).  This appears to be happening because
make is searching for the argument to "exists" by using .PATH rather than a
relative search, because .PATH and the argument match at the beginning.
Additionally, make appears to consider a path that starts with ${.CURDIR}
as relative, even though it expands to an absolute path.

The reason that most people aren't seeing this problem is that the absolute
paths of /usr/src/sys and /sys are also searched, so as long as the kernel
source can be found in at least one of those places, no problems surface.
This problem was inadvertently introduced on 1 December 2000, with the
addition of the sysvipc modules.
2000-12-08 20:36:32 +00:00
Poul-Henning Kamp
959b7375ed Staticize some malloc M_ instances. 2000-12-08 20:09:00 +00:00
Jake Burkholder
cc3f51b537 Fix a jump to the wrong label, <sigh>. Put a period at the end of a
sentence in a comment.

Submitted by:	bde
2000-12-08 19:53:37 +00:00
Archie Cobbs
1725b22ad2 Fixes to the Aironet driver to clear up some WEP issues.
PR:		23097
Submitted by:	Doug Ambrisko <ambrisko@whistle.com>
2000-12-08 19:00:10 +00:00
John Baldwin
31ae9b450a Argh, revert the clobber changes. Since %ecx and %edx aren't call safe,
calling the C functions mtx_enter_hard() and mtx_exit_hard() clobbers them.
Note that %eax is also not call safe, but it is already clobbered due to
cmpxchg.  However, now we are back to not compiling again, so these macros
are still left disabled for now.
2000-12-08 18:21:06 +00:00
Poul-Henning Kamp
2a0436783d staticize. 2000-12-08 15:07:24 +00:00
Noriaki Mitsunaga
e3f875caff Remove conflicts between unsinged char *s and int s.
It was possible cause of kernel panic.

Pointed Out by: phk@FreeBSD.ORG
2000-12-08 13:50:20 +00:00
Nick Hibma
64e3d839ec Remove a warning.
Reported by:	phk
2000-12-08 10:44:15 +00:00
Jake Burkholder
600272dedf Remove unused declarations for spending and sdelayed, and remove unused
#defines for bits corresponding to pending interrupts.  Yay threads!
2000-12-08 10:39:00 +00:00
Jake Burkholder
ce7d82114d Whitespace. Make the indentation for MPASS and MPASS2 consistent and
slightly more sane.  Make the arguments to the nop MPASS2 match those
of the functional one.  Change 4 spaces to a tab.  Don't indeent a
label so its easier to see.
2000-12-08 09:51:13 +00:00
Mike Smith
aa3f504fb9 Resolve conflicts from the 20001201 merge. 2000-12-08 09:22:18 +00:00
Mike Smith
f6402773ea Update to the 20001201 ACPI CA snapshot. 2000-12-08 09:20:40 +00:00
Mike Smith
a68cef92af This commit was generated by cvs2svn to compensate for changes in r69746,
which included commits to RCS files with non-trunk default branches.
2000-12-08 09:20:40 +00:00
Jake Burkholder
fc2befbb10 Add macros MPASS3 and MPASS4, which take the file and line number
as parameters.  Use them in the mutex inlines so that the file and
line numbers are those of the caller instead of always in this file.
2000-12-08 09:17:16 +00:00
Mike Smith
0ae554237c - Convert a lot of homebrew debugging output to use the ACPI CA debugging
infrastructure.  It's not perfect, but it's a lot better than what
   we've been using so far.  The following rules apply to this:
    o BSD component names should be capitalised
    o Layer names should be taken from the non-CA set for now.  We
      may elect to add some new BSD-specific layers later.

 - Make it possible to turn off selective debugging flags or layers
   by listing them in debug.acpi.layer or debug.acpi.level prefixed
   with !.

 - Fully implement support for avoiding nodes in the ACPI namespace.
   Nodes may be listed in the debug.acpi.avoid environment variable;
   these nodes and all their children will be ignored (although still
   scanned over) by ACPI functions which scan the namespace.  Multiple
   nodes can be specified, separated by whitespace.

 - Implement support for selectively disabling ACPI subsystem components
   via the debug.acpi.disable environment variable.  The following
   components can be disabled:
    o bus	creation/scanning of the ACPI 'bus'
    o children	attachment of children to the ACPI 'bus'
    o button	the acpi_button control-method button driver
    o ec	the acpi_ec embedded-controller driver
    o isa	acpi replacement of PnP BIOS for ISA device discovery
    o lid	the control-method lid switch driver
    o pci	pci root-bus discovery
    o processor CPU power/speed management
    o thermal	system temperature detection and control
    o timer	ACPI timecounter
   Multiple components may be disabled by specifying their name(s)
   separated by whitespace.

 - Add support for ioctl registration.  ACPI subsystem components may
   register ioctl handlers with the /dev/acpi generic ioctl handler,
   allowing us to avoid the need for a multitude of /dev/acpi* control
   devices, etc.
2000-12-08 09:16:20 +00:00
Jake Burkholder
96d57f35b2 Change the calling conventions of the MTX_ENTER macro to match
that of MTX_EXIT.  Don't assume that the reg parameter to MTX_ENTER
holds curproc, load it explicitly.  Put semi-colons at the end of
the macros to be more consistent and so its harder to forget them
when these change.
2000-12-08 08:49:36 +00:00
Poul-Henning Kamp
06b6617e0b Kill some bogus "register" keywords.
Go Ansi on the functions.
2000-12-08 06:57:39 +00:00
John Baldwin
5e028585be Well, the previous commit wasn't entirely correct either. For now, just
disable the optimized mutex micro-operations for the non-I386_CPU case
and fall back to the C stubs that call the atomic_foo() inlines.
2000-12-08 05:03:34 +00:00
Marcel Moolenaar
d5b14b2a37 Add "empty" makefile. Cross-building fails without it. 2000-12-08 04:08:09 +00:00
John Baldwin
0f43ee1793 Add comments to the proc structure to describe how each member will be
locked.  This list is subject to change, but hopefully many changes will
not have to be made.
2000-12-08 00:58:54 +00:00
Archie Cobbs
fa5e41c85d Add missing #include. 2000-12-08 00:49:37 +00:00
Matthew Dillon
a41ce5d30b Only call bwillwrite() for vnodes. Do not penalize devices or pipes. 2000-12-07 23:45:57 +00:00
Bill Paul
15f43fcb0b When I converted this driver, I neglected to deal with packet alignment.
We must force payload alignment to a longword boundary to make the
alpha happy. This should stop the driver from trapping on the alpha
when the interface is ifconfig'ed (actually, when the first frame is
received).
2000-12-07 23:30:51 +00:00
Poul-Henning Kamp
5e1aea9fd7 Hide intrstate in the #ifdef where it belongs. 2000-12-07 22:38:22 +00:00
Poul-Henning Kamp
7891600907 Don't use a private malloc(9) type for something this M_DEVBUFish.
Noticed long time ago by:	bde
2000-12-07 22:33:12 +00:00
Poul-Henning Kamp
69d683d52a Add needed include of <sys/devicestat.h> 2000-12-07 22:31:13 +00:00
Poul-Henning Kamp
45b031c5e4 Move extern tsc_present outside function to quelch a warning. 2000-12-07 22:30:11 +00:00
Poul-Henning Kamp
aac61d609c Add __ucmpdi2 prototype to quelch a warning. 2000-12-07 22:28:20 +00:00
Poul-Henning Kamp
a3671bc8c8 Add back some now needed #include <sys/systm.h>
Fix various warnings while here anyway.
2000-12-07 22:19:06 +00:00