17463 Commits

Author SHA1 Message Date
imp
9f89acc8cc Reorganize the attachement point for pcic (it was unattached and
floating before).  Attach pccard devices to pcic, one per slot
(although this may change to one per pcic).  pcic is now attached to
isa (to act as a bridge) and pccard is attached to pcic, cbb and
pc98ic (the last two are card bus bridge and the pc98ic version of
pcic, neither of which are in the tree yet).  Move pccard compat code
into pccard/pccard_compat.c.

THIS REQUIRES A CONFIG FILE CHANGE.  You must change your pcic/card
entries to be:
# PCCARD (PCMCIA) support
controller	pcic0	at isa?
controller	pcic1	at isa?
controller	card0

The old system was upside down and this corrects that problem.  It
will make it easier to add support for YENTA pccard/card bus bridges.

Much more cleanup needs to happen before newbus devices can have
pccard attachments.  My previous commit's comments were premature.
1999-10-15 17:29:21 +00:00
roger
8877cb626e Include opt_bktr.
Without it the kernel config options, like OVERRIDE_TUNER, where not
getting passed to the driver.

Bug noticed by:	Marc Fonvieille <fonvi@club-internet.fr>
1999-10-15 13:35:55 +00:00
obrien
a34b828b7e Acutally our style is "options\x20\x09".
As BDE says:  "options\x09\x09foo" looks quite different from
"options\x20\x09foo" after adding a one or two character prefix.

Notice by:	BDE
1999-10-15 07:07:43 +00:00
msmith
010a32d645 Implement pseudo_AF_HDRCMPLT, which controls the state of the 'header
completion' flag.  If set, the interface output routine will assume that
the packet already has a valid link-level source address.  This defaults
to off (the address is overwritten)

PR:		kern/10680
Submitted by:	"Christopher N . Harrell" <cnh@mindspring.net>
Obtained from:	NetBSD
1999-10-15 05:07:00 +00:00
mdodd
d21234b78c - Remove the ISA, PCI, and PCCARD specific code from if_ed.c; it
now lives in the respective bus front end files.
- Add various function prototypes to if_edvar.h
- Clean up some debugging code that snuck into if_ed_isa.c
- Turn on the right bits in files.i386
1999-10-15 03:12:48 +00:00
imp
1be659671f Make it easier to have completely new bus attachment points for pccard
devices.  There may still be problems with said drivers, if so please
let me know.

o Move attach-like functionality to the nbk attach compatibility code.
o Smarter probe code: for the compatibility code probe succeeds if
  strcmp succeeds, for noncompatibility you can do anything you like.
o Get rid of some compiler warnings introduced in last commit.
1999-10-15 03:10:13 +00:00
mdodd
994d54d44f Break out the bus front end code into separate files.
Note that these haven't been turned on nor has the old code
been removed from if_ed.c.  The next commit will address that.
1999-10-15 01:28:04 +00:00
wpaul
d5a9edd818 Make some small tweaks:
- When setting/clearing promisc mode, just update the filter, don't
  reset the whole interface.

- Call xl_init() in xl_ifmedia_upd() when setting miibus media modes. This
  fixes a problem with the 3c905B-COMBO where switching from 10base5/AUI
  or 10base2/BNC to a 10/100 mode doesn't always work right.

- Attempt to reset the interface in xl_init() so that we know we're getting
  the receive and transmit rings reset properly.
1999-10-14 21:49:17 +00:00
dfr
37ab4f7a31 * Implement bus_set/get/delete_resource for pci.
* Change the hack used on the alpha for mapping devices into DENSE or
  BWX memory spaces to a simpler one. Its still a hack and should be
  a seperate api to explicitly map the resource.
* Add $FreeBSD$ as necessary.
1999-10-14 21:38:33 +00:00
dfr
22acf6986d Add PNPBIOS option. 1999-10-14 21:25:36 +00:00
dfr
f7cfef8ecf * Add some verbose logging to the PnP parser and fix a couple of bugs.
* Move pnp_eisaformat() to pnp.c, declared in <isa/pnpvar.h>.
* Turn the pnpbios code into an enumerator for the isa bus. This allows
  all devices known to the bios to be probed automatically.

Currently the pnpbios code is dependant on the PNPBIOS option. As the code
is tested more and when more drivers are converted this will be made the
default. I have PnP changes in the wings for fdc, atkbd, psm, pcaudio, and
joy. Sio already works with pnpbios.
1999-10-14 21:03:03 +00:00
luoqi
2211634eef Revive ps_usertramp, it's still referenced by COMPAT_SUNOS code.
Reviewed by:	bde
1999-10-14 17:29:53 +00:00
kato
8f9c4ed4bc Recognize Pentium II w/ CPUID = 0x6XX and Pentium III Xeon w/ CPUID =
0x7XX.

Pointed out by:	Brian Somers <brian@Awfulhak.org>
1999-10-14 13:59:52 +00:00
obrien
5efacbaf41 Like it or not, we use ^I's not 0x20 to align things in this file. 1999-10-14 11:34:19 +00:00
green
aa44cd71d6 Missed the second argument of fdrop().
Submitted by:	jhay
1999-10-14 10:50:06 +00:00
obrien
5951156a86 Make the contents, layout, and comments match sys/i386/conf/GENERIC as
much as possible.  This commit also adds the `bpf' pseudo-device.
1999-10-14 09:52:28 +00:00
bp
8e28bcd1a9 Under some condition vnode can reference itself. 1999-10-14 09:35:37 +00:00
bp
40a263bd52 Isolate old constant NCP_VOLNAME_LEN. 1999-10-14 08:57:54 +00:00
green
b5080e1313 Fix a race condition with shared fd tables and writev(). It's
still not safe to consider file table sharing secure.
Submitted by:	Ville-Pertti Keinonen <will@iki.fi>
1999-10-14 05:37:52 +00:00
green
e8104eadd5 Add a missing spl lowering.
Submitted by:	Ville-Pertti Keinonen <will@iki.fi>
1999-10-14 05:16:16 +00:00
msmith
23b1a2234e Add support for the version 4 firmware interface and the DAC960 PG and
PJ cards.  This will probably also support the AcceleRAID and
eXtremeRAID cards, but nobody has volunteered one for testing, so I
haven't enabled their PCI device IDs.

Slightly clean up communication between the disk devices and the
controller device as per new practice, and move some more register-
related items int mlxreg.h from mlxvar.h.

Remove some unnecessary read-modify-write operations to the card
control registers; they don't behave like that.

Increase the status polling interval to 10 seconds.  It's still possible
to load the card up to the point where a status poll will find the
previous poll still running, but this will reduce the incidence of
complaints.
1999-10-14 02:54:06 +00:00
grog
6817b4ff2c Remove reference to obsolete initsd function.
This should have been committed yesterday.

Broke-world-for:	USW2 Root <root@usw2.freebsd.org>
1999-10-13 23:00:30 +00:00
gallatin
035c9340ad Divide the Alpha's hz of 1024 by 8 to obain a stathz of 128. This
fixes "nice" on the alpha.

obtained from: NetBSD
reviewed by: dfr
1999-10-13 19:18:29 +00:00
dfr
0cef1b8f88 Don't match non-IDE devices in probe.
Reviewed by: sos
1999-10-13 18:56:49 +00:00
kato
91e46e056d Sync with sys/i386/isa/pcaudio.c revision 1.55. 1999-10-13 11:07:16 +00:00
kato
01c797eb22 Sync with sys/i386/isa/mse.c revision 1.48. 1999-10-13 11:06:14 +00:00
kato
a165d9295b Sync with sys/i386/i386/machdep.c revision 1.370. 1999-10-13 11:03:41 +00:00
kato
f788cfce4b Sync with sys/i386/conf/majors.i386 revision 1.87. 1999-10-13 11:01:15 +00:00
kato
a64386cbbf Sync with sys/i386/conf/files.i386 revision 1.277. 1999-10-13 11:00:27 +00:00
kato
1c220fd9d8 Sync with sys/i386/conf/Makefile.i386 revision 1.160. 1999-10-13 10:59:23 +00:00
kato
eef5cc208d Sync with sys/boot/i386/btx/btx/Makefile and btx.s revisions 1.7 and
1.12, respectively.
1999-10-13 10:55:56 +00:00
alfred
c92072a8ed change identical and "programming error" panic("mcopy*")'s into
more verbose messages using KASSERT.

Reviewed by: eivind, des
1999-10-13 09:55:42 +00:00
marcel
e33752fed2 Fix a security bug. eflags was copied verbatim from userland.
Submitted by: bde
1999-10-13 08:45:12 +00:00
grog
7e03845566 Change default revive block size to 60 kB (was 64 kB), and set a
maximum of 64 kB.

vinum_conf, struct drive: add fields for the current number of active
requests and the maximum ever active.

struct sd: Add fields for initialize progress.

struct mc: set the size of saved file names to MCFILENAMELEN instead
of the previous explicit constant.
1999-10-13 03:21:54 +00:00
grog
27e8167b0f Add glue for passing revive block size, and also for initializing a
subdisk.
1999-10-13 03:21:04 +00:00
grog
14c5b40d4b revive_block: Add a check for a too high revive block size. This is
possible now that vinum(8) can specify this size.

Add function initsd, which initializes a subdisk and optionally checks
that it really happened.
1999-10-13 03:20:11 +00:00
grog
1ded084e46 launch_requests:
limit the number of outstanding requests on a specific drive and
  overall.

  Change the way we set the active request count.  This enables us to
  start the requests without being in splbio for the duration, which
  could be very long for IDE drives in PIO mode.
1999-10-13 03:19:31 +00:00
grog
1f8a712f29 MMalloc: don't supply M_WAITOK when mallocing from an interrupt
context.  Be prepared to fail instead.

MMalloc, FFree: ensure that saved file names are properly terminated.
Use MCFILENAMELEN instead of the previous explicit constant.
1999-10-13 03:18:53 +00:00
grog
38685c9f83 struct vinum_ioctl_msg: Add fields verify (for initsd) and blocksize
(for revive and init).
1999-10-13 03:18:29 +00:00
grog
e312ef0ee4 Fix another instance of vinum_scandisk giving a request to the daemon
and then doing it itself, resulting in a panic downed drives.

Sleuth-work-by:	  Christopher Masto <chris@netmonger.net>

Remove dummy function initsd, which is now (implemented) in
vinumrevive.c

vinum_scandisk: Check that a drive is up before reading from it.  This
is probably excessive paranoia.
1999-10-13 03:17:59 +00:00
grog
7e55881dd6 Limit the number of outstanding requests on a specific drive and
overall.
1999-10-13 03:17:21 +00:00
grog
d00c77c723 Modify definition of Malloc: only M_WAITOK if we're not in an
interrupt context.
1999-10-13 03:16:56 +00:00
grog
886293e5aa Change the declaration of initsd. 1999-10-13 03:16:35 +00:00
grog
022ac88e0f Add some private storage so that we can queue requests in an interrupt
environment even if malloc fails.
1999-10-13 03:16:05 +00:00
grog
4b15b7d646 Format documentations in the form that gdb appears to want.
Change the name of rrqi to rqinfo (the equivalent of vinum(8)'s info
-V command).

rqinfo: Cosmetic changes.
	Add printout of the new loginfo types.
1999-10-13 03:15:30 +00:00
grog
78a3376393 Add macro 'msgbuf' for printing out msgbuf. 1999-10-13 03:14:54 +00:00
green
5f17823e6d Enable MTRR support for K7 (Athlon) processors, which happens to have the
same interface as Intel's P6 family has.  Incidentally, I had disabled
it in the first place since I knew the K7s were coming out soon but
did not want to assume they'd have the same MTRR interface as Intel's
chips.

Submitted by:	Ville-Pertti Keinonen <will@iki.fi>
1999-10-12 22:53:05 +00:00
gallatin
aaf5afc559 allow pci_ioctl to work with multi-hose alphas.
Rather than teaching pci_ioctl about hoses, we just pass down a magic number
& let the platform code figure out what the hose is based on what the bus
number is.

concept approved by dfr
1999-10-12 22:10:53 +00:00
dfr
229cdb9144 * Add struct resource_list* argument to resource_list_alloc and
resource_list_release. This removes the dependancy on the
  layout of ivars.

* Move set_resource, get_resource and delete_resource from
  isa_if.m to bus_if.m.

* Simplify driver code by providing wrappers to those methods:

     bus_set_resource(dev, type, rid, start, count);
     bus_get_resource(dev, type, rid, startp, countp);
     bus_get_resource_start(dev, type, rid);
     bus_get_resource_count(dev, type, rid);
     bus_delete_resource(dev, type, rid);

* Delete isa_get_rsrc and use bus_get_resource_start instead.

* Fix a stupid typo in isa_alloc_resource reported by Takahashi
  Yoshihiro <nyan@FreeBSD.org>.

* Print a diagnostic message if we can't assign resources to a PnP
  device.

* Change device_print_prettyname() so that it doesn't print
  "(no driver assigned)-1" for anonymous devices.
1999-10-12 21:35:51 +00:00
jhb
b203e98b2b aThis patch updates the BTX to emulate the BIOS function "Copy Extended
Memory" called as function 0x87 of interrupt 0x15.  Since the Mylex RAID
adapter's BIOS used this function to access memory (actually PCI bus
space) beyond 16 MB, this patch also allows BTX to address all 4 Gig of
possible address space on i386+.  Since the loader does not have room for
4 MB of page tables, this was done by turning off paging.

Paging was turned off via a compile time setting which defaults to off.
To enable paging, simply define the make variable PAGING.

rnordier might want to clean this up later.

Submitted by:	W. Gerald Hicks <wghicks@bellsouth.net>,
		Bosko Milekic <bmilekic@ares.dsuper.net>
Reviewed by:	msmith
Required by:	Mylex RAID adapter's BIOS
1999-10-12 21:33:49 +00:00