Commit Graph

26478 Commits

Author SHA1 Message Date
Jake Burkholder
d652b3d918 Backout mwakeup, etc. 2001-07-06 01:16:43 +00:00
John Baldwin
52b3919d31 Make these compile again by adding proc.h include for GIANT_REQUIRED
that is in included vm headers.
2001-07-05 21:28:47 +00:00
Matt Jacob
8e6a12fcad Oops- missed a CAMLOCK_2_ISP case. 2001-07-05 19:34:06 +00:00
Matt Jacob
48bd6f600e Bracket call to vm_page_flag_set with required Giant lock/unlock. 2001-07-05 17:27:50 +00:00
Matt Jacob
45c9a36af5 Things have become cinched down more tightly about assertions for Giant.
This uncovered some missing spots where I trade off between isp's lock
and Giant as I enter CAM.
2001-07-05 17:14:57 +00:00
Robert Watson
a0f75161f9 o Replace calls to p_can(..., P_CAN_xxx) with calls to p_canxxx().
The p_can(...) construct was a premature (and, it turns out,
  awkward) abstraction.  The individual calls to p_canxxx() better
  reflect differences between the inter-process authorization checks,
  such as differing checks based on the type of signal.  This has
  a side effect of improving code readability.
o Replace direct credential authorization checks in ktrace() with
  invocation of p_candebug(), while maintaining the special case
  check of KTR_ROOT.  This allows ktrace() to "play more nicely"
  with new mandatory access control schemes, as well as making its
  authorization checks consistent with other "debugging class"
  checks.
o Eliminate "privused" construct for p_can*() calls which allowed the
  caller to determine if privilege was required for successful
  evaluation of the access control check.  This primitive is currently
  unused, and as such, serves only to complicate the API.

Approved by:	({procfs,linprocfs} changes) des
Obtained from:	TrustedBSD Project
2001-07-05 17:10:46 +00:00
Matt Jacob
0b848380bb You cannot require Giant to be locked when you haven't acquired it yet. 2001-07-05 16:55:50 +00:00
Hajimu UMEMOTO
4d303ab842 unbreak building kernel without option INET6
Reported by:	markp
2001-07-05 14:42:54 +00:00
Benno Rice
beefc79739 Set vendor string correctly for the Apple KeyLargo.
Forgotten by:	benno
Spotted by:	n_hibma
2001-07-05 12:04:19 +00:00
Nick Hibma
55e6acd71b Pull in the current version of NetBSD's ulpt.c, supporting bidirectional
communication with printers.
2001-07-05 10:15:37 +00:00
Nick Hibma
48405163d9 Regen. 2001-07-05 10:14:40 +00:00
Nick Hibma
e1f5734cbe Pull in the most recent version of usb_quirks.h and propagate the necessary
changes to the various files.

Also, pull in most of the current usb_subr.c file.
2001-07-05 10:12:59 +00:00
Nick Hibma
b74562cf03 Make the string argument a const. 2001-07-05 10:09:22 +00:00
Nick Hibma
c077cffc2e Update with NetBSD version
Remove duplicates

NOTE: USB_PRODUCT_SANDISK_IMAGEMATE has changed to
USB_PRODUCT_SANDISK_SDDR05A
2001-07-05 09:35:46 +00:00
Dima Dorfman
4c9cf96ea0 Spelling police: extention -> extension in a comment. 2001-07-05 08:52:40 +00:00
Mike Smith
76d1dff4b4 Improve some error messages slightly. 2001-07-05 07:21:12 +00:00
Mike Smith
4fa387b692 Implement PCI interrupt routing using the ACPI data attached to the
PCI bus object.  This should deal both with already-routed interrupts
as well as devices that need an interrupt routed.

Note that it *doesn't* deal with interlocked interrupt dependancies, nor
does it select between interrupt options in a smart way.  These are
optimisations that need further work.
2001-07-05 07:20:51 +00:00
Mike Smith
93962773c5 Fix a couple of misunderstandings in the monitor code. Passive cooling
is a parallel adjunct to active cooling, not a lesser evil.  The _ACx
levels sort from 0 being hottest, not coolest.

Sanity check the returned temperature values, since we are having
trouble reading them on some systems.

Rearrange sysctl nodes a bit; this is probably close to the final layout.
2001-07-05 07:19:17 +00:00
Mike Smith
6f69255b9f Add a new helper function for finding resources in resource buffers.
Move the ACPI generic battery code into a new file.
2001-07-05 07:14:30 +00:00
Matt Jacob
f343cf2135 Apply field bandages to the includes so compiles happen on alpha. 2001-07-05 06:13:44 +00:00
Warner Losh
e3b32280d9 Sync to pccarddevs 1.12 2001-07-05 03:20:48 +00:00
Warner Losh
6b3224653a Merge from NetBSD:
1.131: crhistos; cn40bc ne clone
	1.130: ichiro; COREGA FEther PCC-TXF
	1.129: ichiro; nits
	1.128: ichiro; National Instruments pcmcia GPIB
	1.127: jhawk; Socket EA ethernet
	1.126: ichiro; Intel PRO/Wireless 2001 LAN PC Card
	1.125: ichiro; BUFFALO AirStation 11Mbps WLAN Card
	1.124: ichiro; Corega FEther PCC-TXD
	1.123: onoe; Cisco Aironet 350 Series
	1.122: ichiro; I-O DATA WN-B11/PCM wlan
	1.121: aymeric; Synergy 21 S21810+
	1.120: thorpej; D-LINK DMF-560TX
	1.119: ichiro; typo
	1.118: ichiro; some wavelan card
	1.117: ichiro; Contec FLEXLAN/FX-DS100-PCC wavelan
	1.116: ichiro; COMPAQ Wireless CARD NC5004(Prism2)
	1.114: thorpej; Xircom CreditCard Token Ring II
2001-07-05 03:19:43 +00:00
Matthew Dillon
7197571105 Move vm_page_zero_idle() from machine-dependant sections to a
machine-independant source file, vm/vm_zeroidle.c.  It was exactly the
same for all platforms and updating them all was getting annoying.
2001-07-05 01:32:42 +00:00
Matthew Dillon
6d03d577a5 Reorg vm_page.c into vm_page.c, vm_pageq.c, and vm_contig.c (for contigmalloc).
Also removed some spl's and added some VM mutexes, but they are not actually
used yet, so this commit does not really make any operational changes
to the system.

vm_page.c relates to vm_page_t manipulation, including high level deactivation,
activation, etc...  vm_pageq.c relates to finding free pages and aquiring
exclusive access to a page queue (exclusivity part not yet implemented).
And the world still builds... :-)
2001-07-04 23:27:09 +00:00
Joerg Wunsch
6044485346 More cleanup when detaching. Clone device entries will now be
destroyed properly (otherwise bad things would happen after a clone
dev had been created, and the module was kldunloaded).  Allocated
children that have not successfully probed are being deleted again
(otherwise fd0 and fd1 have always been allocated, even if only
fd0 was acutally present, and fd1 even survived kldunloading the
module).

Still, kldunloading leaves remnants of the previously existing devices
intact.  Why doesn't it destroy all the devices?  As a consequence,
since dev->descr now points into no longer allocated memory, the
system panics deep inside printf(9) when running devinfo(1) after
kldunloading the module.  Ideas sought...

Also, when kldloading the module on a hints-populated isab0, this bus
somehow has already created an fdc0 entry (a dummy) so the load
attempt fails and will register fdc1 instead.  What are those dummy
entries for?  Loading the module from the bootloader works, and it
can be unloaded an re-loaded then later.
2001-07-04 22:10:33 +00:00
Matthew Dillon
1b40f8c036 Change inlines back into mainline code in preparation for mutexing. Also,
most of these inlines had been bloated in -current far beyond their
original intent.  Normalize prototypes and function declarations to be ANSI
only (half already were).  And do some general cleanup.

(kernel size also reduced by 50-100K, but that isn't the prime intent)
2001-07-04 20:15:18 +00:00
John Baldwin
617e358cdf - Sort includes.
- Update vmmeter statistics for vnode pagein/pageouts in getpages/putpages.
2001-07-04 20:14:59 +00:00
John Baldwin
f583b1d938 Spelling fix in a KASSERT: runq_chose -> runq_choose. 2001-07-04 20:00:48 +00:00
John Baldwin
4a370459cc - Update the vmmeter statistics for vnode pageins and pageouts in
getpages/putpages.
- Use vm_page_undirty() instead of messing with pages' dirty fields
  directly.
2001-07-04 19:55:01 +00:00
Matthew Dillon
54d9214595 whitespace / register cleanup 2001-07-04 19:00:13 +00:00
Matt Jacob
ab163f5fee Add CAM_NEW_TRAN_CODE support. Use correct CAMLOCK_2_ISPLOCK macros.
For fibre channel, start going for the gusto and using AC_FOUND_DEVICE
and AC_LOST_DEVICE calls to xpt_async when devices appear and disappear
as the loop or fabric changes.

ISPASYNC_FW_CRASH is the async event code where the platform layer
deals with a firmware crash.
2001-07-04 18:54:29 +00:00
Matt Jacob
9927912756 Macroize request/response in/out queue pointer access. 2001-07-04 18:52:23 +00:00
Matt Jacob
559a1ad2c1 Some possibly helpful casts. 2001-07-04 18:51:58 +00:00
Matt Jacob
f0f4c8ae4b Add a microcomment about how you'd use ispds64_t or ispdlist_t
for CTIO3/CTIO4 entries.
2001-07-04 18:51:06 +00:00
Matt Jacob
1ee34f05dd Add a bunch of additional defines for completion codes. Define
some of the RIO (reduced interrupt operation) stuff. Add 64 bit
data list (DSD type 1) and arbitrary data list (DSD type 2)
data structure defines.

Add macros that parameterize usage of the Request/Response in/out
queue pointers. When we finish 2300 support, different registers
will be accessed for the 2300.
2001-07-04 18:49:00 +00:00
Matt Jacob
b91862efef Firmware crashes handled in platform specific code (isp_async call).
Fix longstanding silly buglet that left a hole in the debug log defines.
2001-07-04 18:46:50 +00:00
Matt Jacob
9b9288ec4a More 2300 support prep- the Request/Response in/out pointers are
part of the PCI block for the 2300- not software convention usage
of the mailbox registers- so we macrosize in/out pointer usage.

Only report that a LIP destroyed commands if it actually destroyed
commands. Get the chan/tgt/lun order correct.  Fix a longstanding
stupid bug that caused us to try and issue a command with a tag on
Channel B because we were checking the tagged capability for the
target against Channel A.

A firmware crash is now vectored out to platform specific code
as an async event.

Some minor formatting tweaks.
2001-07-04 18:42:41 +00:00
Matthew Dillon
7b9673fa28 cleanup: GIANT macros, rename DEPRECIATE to DEPRECATE
Move p_giant_optional to proc zero'd section
Remove (old) XXX zfree comment in pipe code
2001-07-04 17:11:03 +00:00
Matthew Dillon
0cddd8f023 With Alfred's permission, remove vm_mtx in favor of a fine-grained approach
(this commit is just the first stage).  Also add various GIANT_ macros to
formalize the removal of Giant, making it easy to test in a more piecemeal
fashion. These macros will allow us to test fine-grained locks to a degree
before removing Giant, and also after, and to remove Giant in a piecemeal
fashion via sysctl's on those subsystems which the authors believe can
operate without Giant.
2001-07-04 16:20:28 +00:00
Matthew Dillon
085be199c6 postsig() currently requires Giant to be held. Giant is held properly at
the first postsig() call, but not always held at the second place,
resulting in an occassional panic.
2001-07-04 15:36:30 +00:00
Yoshihiro Takahashi
f44a4f377e - Don't overwrite inb, inw and outw.
- Move the lance_probe function to if_lnc.c.
- Support C-NET(98)S again.

Submitted by:		chi@bd.mbn.or.jp (Chiharu Shibata) and nyan
No response from:	Paul Richards
2001-07-04 13:00:21 +00:00
Hajimu UMEMOTO
033110569e adjust mbuf length right in route_output().
Obtained from:	KAME
MFC after:	1 week
2001-07-04 11:29:55 +00:00
Hajimu UMEMOTO
554bf4aa86 When the link-layer address of a router changes, select the
best router again.  In particular, when the neighbor entry is newly
created, it might affect the selection policy.

Obtained from:	KAME
MFC after:	1 week
2001-07-04 11:27:24 +00:00
Matt Jacob
c5ff3b2fed Check the void * argument in the AC_FOUND_DEV case against NULL. Whether
correctly or not, this sometimes is propagated up via XPT.
2001-07-04 05:22:42 +00:00
Matt Jacob
d99b6ac2d7 Follow Bruce's suggestions. They're probably wrong, but better than before. 2001-07-04 05:16:56 +00:00
Matt Jacob
555451d3c8 Add code, imperfect though it may be, for CAM_NEW_TRAN_CODE compilation. 2001-07-04 05:01:21 +00:00
Jake Burkholder
9316aed2ef Implement mwakeup, mwakeup_one, cv_signal_drop and cv_broadcast_drop.
These take an additional mutex argument, which is dropped before any
processes are made runnable.  This can avoid contention on the mutex
if the processes would immediately acquire it, and is done in such a
way that wakeups will not be lost.

Reviewed by:	jhb
2001-07-04 00:32:50 +00:00
Dag-Erling Smørgrav
2687c8741b Constify the format string.
Submitted by:	Mike Barcroft <mike@q9media.com>
2001-07-03 21:46:43 +00:00
Thomas Moestl
948d3d9484 Make the code to read the kernel message buffer via sysctl machine-
independent and rename the corresponding sysctls from machdep.msgbuf and
machdep.msgbuf_clear (i386 only) to kern.msgbuf and kern.msgbuf_clear.
2001-07-03 19:44:07 +00:00
Hajimu UMEMOTO
aa62bfb629 properly check DES weak key. KAME PR 363.
Obtained from:	KAME
MFC after:	1 week
2001-07-03 17:46:48 +00:00