Commit Graph

35545 Commits

Author SHA1 Message Date
jhb
4c2a550344 Revert MEM_USR back to 0xa000 for BTX clients. Instead, adjust boot2
to run at 0xc000 by changing its virtual start address from 0x1000 to
0x2000.

Tested by:	phk
2002-10-08 18:19:02 +00:00
ken
13b9c6f277 Fix the location of the length bytes in the 12-byte read/write CDB
structure.  This has been broken since 1998, but probably hasn't been
noticed because it takes a read/write of 64K blocks (32MB with 512 byte
blocks) to trigger using the 12 byte read/write CDB in scsi_read_write().

Submitted by:	"Moore, Eric Dean" <emoore@lsil.com>
MFC after:	3 days
2002-10-08 17:12:44 +00:00
phk
07c608aac1 Now that ufsread.c doesn't do 64bit divide remainder operations,
don't bother with libkern.

Sponsored by:	DARPA & NAI Labs.
2002-10-08 15:49:35 +00:00
phk
a2f1fdc5bf Save a couple of bytes by not returning ints nobody care about.
Sponsored by:	DARPA & NAI labs
2002-10-08 15:48:43 +00:00
phk
8eaa35ca87 It seems that the only problem with UFS2 booting on i386 is the 64bit
divide/remainder calls.  For reasons not resolved, compiling the
relevant routines from libkern into boot2 results in stack corruption.

Do the simple thing: Don't use 64bit divide/remainder operations.

Sponsored by:	DARPA & NAI Labs
2002-10-08 15:46:45 +00:00
jhb
bda41137cf Don't panic for a bad ivar request, just return ENOENT. 2002-10-08 15:44:35 +00:00
nyan
9b2e99b34d MFi386: revision 1.67. 2002-10-08 12:54:56 +00:00
nyan
42ff9b4a07 MFi386: revisions 1.539, 1.540 and 1.541. 2002-10-08 12:53:26 +00:00
green
7a416624c8 Reinstate rev 1.36 with an important line that got missed. Note this
also improves the "random undocumented offsets into various memory
spaces" a little bit.
2002-10-08 12:09:16 +00:00
phk
ecc00e796c Remove unused TYPE_WD and TYPE_WFD. 2002-10-08 10:17:16 +00:00
phk
b8d521263b Correctly calculate dmadat: We need to take the address of _end, it's
contents is irrelevant and likely to be zero;

This doesn't change the resultant value, but it does save a couple of bytes
because &_end is constant.
2002-10-08 10:15:42 +00:00
phk
6f7830c860 Unbreak boot2 by backing out rev 1.36 to Makefile, which does not
work as advertised:

	bang# pwd
	/bang/src/sys/boot/i386/boot2
	bang# make clean >& /dev/null
	bang# cvs -q update -r 1.35 Makefile >& /dev/null
	bang# make >& /dev/null
	bang# cat /usr/obj/`pwd`/boot2.h
	#define XREADORG 0x725
	bang# cvs -q update -r 1.36 Makefile > & /dev/null
	bang# make clean > & /dev/null
	bang# make > & /dev/null
	bang# cat /usr/obj/`pwd`/boot2.h
	#define XREADORG 0x25
	bang#
2002-10-08 07:52:28 +00:00
phk
7b7ec527aa Allow for multiple #includes of this file. 2002-10-08 07:24:19 +00:00
phk
24fb0bb017 Save four bytes by shortening a string two chars.
Sponsored by:	DARPA & NAI Labs.
2002-10-08 07:06:24 +00:00
phk
865428f1db For now, don't wait for drives to stop returning EBUSY. There is too
much broken harware around it seems.

Sponsored by:	DARPA & NAI Labs.
2002-10-08 07:03:58 +00:00
dd
eff660789c Treat the pathptrn field as a real pattern with the aid of fnmatch(). 2002-10-08 04:21:54 +00:00
dd
ad77581032 Import the libc fnmatch() into the kernel. This will be used by,
among other things, the DEVFS rule subsystem to match nodes against a
path pattern supplied by the user.

fnmatch.c was repo-copied from src/lib/libc/gen/fnmatch.c, and the
only changes to it are those necessary to make it compile in the
kernel.  The relevant parts of fnmatch.h were imported into libkern.h.

Approved by:	-arch
2002-10-08 04:15:55 +00:00
imp
2af88da4a8 Make kldunload cbb work:
o Implement the thread killing interlock as described by jhb in arch@
  while talking to markm.
o Hold Giant around cbb_insert()/cbb_remove().  Deep in the belly of
  the vm code we panic if we don't hold this when we activate the memory
  for reading the CIS.
o If we had to do the kludge alloc, then do a kludge free.
2002-10-08 03:53:52 +00:00
kan
cb71b7bb07 Add device driver for Belkin F5U103 and compatible USB-to-serial adapters.
Reviewed by:	n_hibma
Approved by:	obrien
2002-10-08 03:09:57 +00:00
kan
10814c1dc0 Regen after usbdevs rev. 1.102.
Reviewed by:	n_hibma
Approved by:	obrien
2002-10-08 03:04:14 +00:00
kan
7c3444e142 Add entries for:
Belkin F5U103
	Belkin F5U120-PC Hub
	GoHubs GoCOM232
	Peracom single port
USB-to-serial adapters.

Reviewed by:	n_hibma
Approved by:	obrien
2002-10-08 03:00:37 +00:00
imp
56fe29cbbf Introducing /dev/devctl. This device reports events in the
configuration device hierarchy.  Device arrival, departure and not
matched are presently reported.  This will be the basis for devd, which
I still need to polish a little more before I commit it.  If you don't
use /dev/devctl, it will be a noop.
2002-10-07 23:17:44 +00:00
imp
9aab9af803 Two minor bugfixes:
o Allow the bus_debug variable to be set via the bus.debug tunable.
o Return pnpinfo and location info via the devinfo interface to userland.
  devinfo(8) needs to be updated to print it.
2002-10-07 23:15:40 +00:00
imp
7ef36b2111 MFp4:
o Better resume code.  Move the comments around.  Force the socket state to
  be querried.  Ack the interrupts properly.
o Intercept the interrupt requests and keep a list of interrupts to service
  ourselves.  When the card attaches, set its OK bit.  When we get a card
  status change interrupt for that card, clear the OK bit.  Don't call the
  ISR if the OK bit is cleared.  Iwasaki-san and yamamoto-san have both
  sent me patches that fix the same problem this fixes, but at the pccard
  level.
o Try to get the signalling of the thread to actually die.  This might not be
  100% right, but it is less wrong than before.
o Add a SIC next to a TI type that looks like it could be wrong, but isn't.
2002-10-07 23:11:29 +00:00
imp
a08ac34c17 o Add a nomatch routine so we whine when we don't know what to attach to
the card.
o Add comments about how we're doing the CIS activation.
o Add location and pnp info functions.
o Add better code to hopefully deal with ata cards better (and other drivers
  that allocate resources that we didn't preallocate from the CIS).  OLDCARD
  used to allow it, but NEWCARD was pickier.  I'm not 100% sure this works,
  but it doesn't break anything.
2002-10-07 23:05:33 +00:00
imp
61ae73678b Merge changes from NetBSD through version 1.17 of this file. These
give us slightly better error checking than before and interpret what
default bits mean better.  See the NetBSD CVS tree for the authors of
these changes (revs 1.10 .. 1.17).
2002-10-07 23:03:17 +00:00
imp
f7540bad93 o Add routines to return the location and pnpinfo for this card.
Note, we return the PCI pnp info, but in fact that's wrong to do
  since that data is not defined for CardBus cards.  CardBus says that
  these registers are undefined and one should use the CIS to do
  device matching.  To date, all CardBus cards have had these
  registered defined, no doubt because they are using common silicon
  to produce both the PCI cards and the CardBus cards.  However, it isn't
  any worse than the rest of the system, so just note it in passing and
  move on.
o Also sort prototypes while I'm here.
2002-10-07 23:00:51 +00:00
imp
2046d1c9de Don't abuse the fact that -a == ~a + 1. Signed vs unsigned checkers
complain when a is a unsigned type.  So instead use the latter here
and be on our way.

Spotted by: flexlint by way of phk
2002-10-07 22:58:24 +00:00
imp
79238a644f Add extra set of parens around the barbit macro to make it clear what
we're intending to shift.

Spotted by: flexlint by way of phk (should fix about 40 messages)
2002-10-07 22:57:07 +00:00
green
6c65d531e9 Correct a bug in adding 0x700 to a number. 2002-10-07 22:21:16 +00:00
phk
881f1b527c Conditionalize the number of sectors loaded by boot1.s on UFS1/UFS12.
Conditionalize the "XX bytes left" checks reference on UFS1/UFS12.

Conditionally build the necessary 64bit math for boot2 if UFS12.

Sponsored by:	DARPA & NAI Labs.
2002-10-07 21:36:06 +00:00
mike
981ed72beb Remove duplicate uninstalled aio.h header. 2002-10-07 21:18:30 +00:00
phk
6cc4e6467c Change the comment character from # to // in boot1.s and run
it through CPP so we can conditionalized things.

Sponsored by:	DARPA & NAI Labs
2002-10-07 20:56:09 +00:00
iedowse
cbd79f434a Add back a fdrop() call at the end of kern_open() that got lost in
revision 1.218. This bug caused a "struct file" reference to be
leaked if VOP_ADVLOCK(), vn_start_write(), or mac_check_vnode_write()
failed during the open operation.

PR:		kern/43739
Reported by:	Arne Woerner <woerner@mediabase-gmbh.de>
2002-10-07 20:49:22 +00:00
sam
ee6c62e3fe Track openbsd changes that don't affect us yet (PK supoprt is
currently disabled):

o Don't use constants for the output parameter, use the iparam count as a
  pointer to the first result location.
o Fix bits vs bytes counting problems.
o Split out the hardware and software normalization versions of modexp.
o Enable hardware normalization for chips that support it.
o On reset, disable hardware normalization for 582x and make sure the
  chip is in little endian mode.
o Since sw normalization is now the only option, simplify normalization
  handling.

Also fix RNG harvesting: disabling PK support (for the moment) had disabled
the MCR2 interrupt; consider both KEY support and RNG support when deciding
whether or not to enable it.

Obtained from:	openbsd
2002-10-07 20:02:34 +00:00
phk
6bb1507f12 Correctly adjust for moved start address.
It seems that the existence of a "depend" target in src/sys/boot is not
to be taken as an indication that it actually does what one would expect,
at least it clearly threw my testing off.

Apologies to:	jhb
2002-10-07 19:12:36 +00:00
sam
a2b3941432 o split crypto_proc into two threads: one for processing requests and one
for processing callbacks.  This closes race conditions caused by locking
  too many things with a single mutex.
o reclaim crypto requests under certain (impossible) failure conditions
2002-10-07 18:46:38 +00:00
sam
d1b4781c0c remove CIOGSSESSION (get software session); it was added only for testing 2002-10-07 18:37:31 +00:00
mike
f37d14638a Remove unneeded <sys/_posix.h> include. 2002-10-07 17:31:02 +00:00
nyan
9cbd64aa06 Added '#include <sys/diskpc98.h>'.
Submitted by:	kawanobe@st.rim.or.jp (Kawanobe Koh)
2002-10-07 15:26:10 +00:00
phk
87986ee87a Correctly compensate for both offset and unoffset on-disk BSD disklabels.
Sponsored by:	DARPA & NAI Labs.
2002-10-07 13:11:28 +00:00
nyan
8d204bd6cb Merged from sys/isa/fd.c revisions 1.224 and 1.241. 2002-10-07 13:05:45 +00:00
phk
1270e840d8 Move MEM_USR a page upwards to make space for larger UFS1 boot2.
Load 4 sectors more than we used to.  This is harmless overhead for
the UFS1_ONLY case, but sufficient for boot2(UFS1+2).

Sponsored by:	DARPA & NAI Labs
2002-10-07 12:15:11 +00:00
nyan
a150732204 Check the size of the dos_partition structure.
Submitted by:	kawanobe@st.rim.or.jp (Kawanobe Koh)
2002-10-07 10:02:11 +00:00
phk
163bc4d166 Ups, forgot to tell cvs commit about this file.
Move UFS1_ONLY to Makefiles instead of common/ufsread.c

Sponsored by:	DARPA & NAI Labs
2002-10-07 08:14:10 +00:00
phk
c91ffdd939 Move the definition of UFS1_ONLY into the Makefiles where it belongs.
Sponsored by:	DARPA & NAI Labs.
2002-10-07 08:09:20 +00:00
phk
e0eaaedba9 Correctly convert to appropriate blocksize.
note to self:
Never check block-size sensitive patches on Sun compatible CD drives.

Sponsored by:	DARPA & NAI Labs.
2002-10-07 07:19:14 +00:00
imp
365f3d65f1 MFp4:
o Return the right string for CIS4_STR
	o kill obsolete comment about not doing something that we now do.
2002-10-07 07:18:32 +00:00
phk
2490bca6ea Correctly deal with non-DEVBSIZE drives.
Allow BIO_DELETE through too.

This fixes swap-backed md(4) devices.

Sponsored by:   DARPA & NAI Labs.
2002-10-07 07:15:37 +00:00
imp
f684519668 Add wrappers around the newly created bus_child_pnpinfo_str and
bus_child_location_str.
2002-10-07 07:08:00 +00:00