19741 Commits

Author SHA1 Message Date
kato
1159fc51b0 Merged from sys/i386/i386/machdep.c revision 1.387. 2000-03-28 15:04:29 +00:00
hm
5fb7299e72 pcvt cleanup.
after cleaning up pcvt_ioctl.h (and ispcvt) adjust kernel part
again to get everything in sync again (name, minor release no.
and major release no.)
2000-03-28 09:32:29 +00:00
hm
f548f3dd8d pcvt cleanup.
remove obsolete stuff resulting from the pcvt kernel part cleanup.
2000-03-28 09:29:50 +00:00
dillon
689641c1ea Commit major SMP cleanups and move the BGL (big giant lock) in the
syscall path inward.  A system call may select whether it needs the MP
    lock or not (the default being that it does need it).

    A great deal of conditional SMP code for various deadended experiments
    has been removed.  'cil' and 'cml' have been removed entirely, and the
    locking around the cpl has been removed.  The conditional
    separately-locked fast-interrupt code has been removed, meaning that
    interrupts must hold the CPL now (but they pretty much had to anyway).
    Another reason for doing this is that the original separate-lock for
    interrupts just doesn't apply to the interrupt thread mechanism being
    contemplated.

    Modifications to the cpl may now ONLY occur while holding the MP
    lock.  For example, if an otherwise MP safe syscall needs to mess with
    the cpl, it must hold the MP lock for the duration and must (as usual)
    save/restore the cpl in a nested fashion.

    This is precursor work for the real meat coming later: avoiding having
    to hold the MP lock for common syscalls and I/O's and interrupt threads.
    It is expected that the spl mechanisms and new interrupt threading
    mechanisms will be able to run in tandem, allowing a slow piecemeal
    transition to occur.

    This patch should result in a moderate performance improvement due to
    the considerable amount of code that has been removed from the critical
    path, especially the simplification of the spl*() calls.  The real
    performance gains will come later.

Approved by: jkh
Reviewed by: current, bde (exception.s)
Some work taken from: luoqi's patch
2000-03-28 07:16:37 +00:00
dg
cc7dea2aa9 Added support for cards and on-motherboard NICs that use an SEEPROM
address size that is different than the standard 6bits. This fixes
support for the Compaq NC3121 card, certain newer Intel Pro/100+
cards, and should also fix integrated NICs on SuperMicro and Compaq
motherboards.
The auto-sizing algorithm was taken from NetBSD (thanks!), which I
think got it from Linux originally.
Thanks also to Andrew Sparrow <spadger@best.com> and Joe Moore
<jomor@ahpcns.com> for supplying me with unworking Compaq and Intel
cards to develop and test the fixes with.
2000-03-28 04:41:42 +00:00
jhb
528aa61b66 Mega i386 loader commit.
- Don't hard code 0x10000 as the entry point for the loader.  Instead add
  src/sys/boot/i386/Makefile.inc which defines a make variable with the
  entry point for the loader.  Move the loader's entry point up to
  0x20000, which makes PXE happy.
- Don't try to use cpp to parse btxldr for the optional BTXLDR_VERBOSE,
  instead use m4 to achieve this.  Also, add a BTXLDR_VERBOSE knob in the
  btxldr Makefile to turn this option on.
- Redo parts of cdldr's Makefile so that it now builds and installs cdboot
  instead of having i386/loader/Makefile do that.  Also, add in some more
  variables to make the pxeldr Makefile almost identical and thus to ease
  maintainability.
- Teach cdldr about the a.out format.  Cdldr now parsers the a.out header
  of the loader binary and relocates it based on that.  The entry point of
  the loader no longer has to be hardcoded into cdldr.  Also, the boot
  info table from mkisofs is no longer required to get a useful cdboot.
- Update the lsdev function for BIOS disks to parse other file systems
  (such as DOS FAT) that we currently support.  This is still buggy as
  it assumes that a floppy with a DOS boot sector actually has a MBR and
  parses it as such.  I'll be fixing this in the future.
- The biggie:  Add in support for booting off of PXE-enabled network
  adapters.  Currently, we use the TFTP API provided by the PXE BIOS.
  Eventually we will switch to using the low-level NIC driver thus
  allowing both TFTP and NFS to be used, but for now it's just TFTP.

Submitted by:	ps, alfred
Testing by:	Benno Rice <benno@netizen.com.au>
2000-03-28 01:19:53 +00:00
dillon
d7295a1a39 Add a sysctl to specify the amount of UDP receive space NFS should
reserve, in maximal NFS packets.  Originally only 2 packets worth of
    space was reserved.  The default is now 4, which appears to greatly
    improve performance for slow to mid-speed machines on gigabit networks.

    Add documentation and correct some prior documentation.

Problem Researched by: Andrew Gallatin <gallatin@cs.duke.edu>
Approved by: jkh
2000-03-27 21:38:35 +00:00
dillon
5ccef75e02 Add necessary spl protection for swapper. The problem was located by
Alfred while testing his SPLASSERT stuff.   This is not a complete fix,
    more protections are probably needed.
2000-03-27 21:33:32 +00:00
dillon
8fb4c6b599 Commit the buffer cache cleanup patch to 4.x and 5.x. This patch fixes a
fragmentation problem due to geteblk() reserving too much space for the
    buffer and imposes a larger granularity (16K) on KVA reservations for
    the buffer cache to avoid fragmentation issues.  The buffer cache size
    calculations have been redone to simplify them (fewer defines, better
    comments, less chance of running out of KVA).

    The geteblk() fix solves a performance problem that DG was able reproduce.

    This patch does not completely fix the KVA fragmentation problems, but
    it goes a long way

Mostly Reviewed by: bde and others
Approved by: jkh
2000-03-27 21:29:33 +00:00
charnier
5c16c2a8f1 Revert spelling mistake I made in the previous commit
Requested by: Alan and Bruce
2000-03-27 20:41:17 +00:00
imp
0873204949 Ahhrggg. Put the test for the compat shims AFTER the file that includes
them.

Pointed out by: bde
2000-03-27 20:24:02 +00:00
phk
c0e09df016 Allow reuse of hooks.
Remove debugging printfs.
Now compatible with ports/net/mpd-netgraph
2000-03-27 20:05:04 +00:00
imp
eb0a2e03e4 This file is obsolete, having long since been copied to sys/dev/adw/adw_pci.c
Pointed out by: gibbs
2000-03-27 19:57:40 +00:00
jlemon
0dcc5bc0d1 Add support for offloading IP/TCP/UDP checksums to NIC hardware which
supports them.
2000-03-27 19:14:27 +00:00
imp
555f22a351 Per conversations in -current, add #error to these drivers when you don't
have the right compatibility shims enabled.  ISA drivers to follow later.
2000-03-27 18:32:45 +00:00
mjacob
dc393630a7 It's the parent that is a CPU node- not GBus itself. 2000-03-27 08:22:23 +00:00
mjacob
b17700648d complain when you do not create a TLSB node 2000-03-27 08:20:44 +00:00
lile
f6f3b06726 o Get basic if_media support working.
o Add more diagnostic and status messages.

o General clean up of old debug messages and
  small style fixes.
2000-03-26 23:56:15 +00:00
alfred
16bf0867b4 repair half-Danish b.b_iocmd damage where writes/reads weren't getting
set properly in the struct buf with vinum:

  Fix locations where B_READ was cleared in the old code but
    b.b_iocmd wasn't set to BIO_WRITE
  Fix propogation of b_iocmd
  Correct comments to reflect reality
  Don't compare b_flags with BIO_READ, it's in b_iocmd.

Submitted by: Bernd Walter <ticso@cicely.de>
2000-03-26 23:06:12 +00:00
charnier
6e109d2561 Remove duplicate word 2000-03-26 15:24:53 +00:00
charnier
686df89909 Spelling 2000-03-26 15:20:23 +00:00
sos
ba32cceab3 Correct a mishap in phk's BIO_* changes. 2000-03-26 12:01:27 +00:00
alfred
48a45c9a17 rqe->b.b_flags |= B_READ; became
rqe->b.b_iocmd == BIO_READ instead of
rqe->b.b_iocmd = BIO_READ;
fix it.
2000-03-26 09:20:33 +00:00
hm
375cbf5596 Substantially cleanup of the pcvt kernel part. This cleanup does
not introduce (hopefully) any functional changes but gets rid of
the #ifdef spaghetti pcvt suffered from more and more over the
years.

Several no more used parts of the source were removed, others
which are used by default are now non-optional components:

PCVT_NETBSD		removed completety
PCVT_FREEBSD		removed option, code is now standard
PCVT_KBD_FIFO		removed option, code is now standard
PCVT_EMU_MOUSE		removed completety
PCVT_SW0CNOUTP		removed completety
PCVT_PORTIO_DELAY	obsolete, removed
PCVT_KEYBDID		removed option, code is now standard
PCVT_SIGWINCH		removed option, code is now standard
PCVT_PALFLICKER		removed completety
PCVT_WAITRETRACE	removed completety
PCVT_NOFASTSCROLL	removed option, code is now standard
PCVT_USL_VT_COMPAT	removed the "old" non-vt Xserver code completely,
			depending on XSERVER, this code is now standard.

Pcvt userland cleanup will follow as well as newbusifying the
kernel part.
2000-03-26 09:17:14 +00:00
imp
fb38d30359 Minor changes to some of the interfaces.
Remove RF_PCCARD_ATTR in anticipation of removing it from sys/rman.h
Add interface for setting "attributes" of pccard/cardbus devices.
Minor formatting nits.
2000-03-26 07:01:52 +00:00
n_hibma
5d7a27cc6e The REQUEST SENSE command is 6b not 16b. Use the struct scsi_sense to
indicate that we are working with that command.

Some corrected/added comments.
2000-03-26 01:39:12 +00:00
phk
10fa9e8fac Fix floppy driver after my isadma changes. 2000-03-25 21:20:23 +00:00
kris
e2384e4d8c Reword warning to make it clearer (I read it as "remove block devices created
before 2000-06-01" which is obviously not what was intended :-)
2000-03-25 21:10:20 +00:00
imp
f591b7ac7e More fully initialize cardbus bridges. We now call the new generic
cardbus bridge init routine for all cardbuses.  This routine attempts
to compensate for BIOSes that do not setup the cardbus bridge into
legacy mode.  Since this is becoming more common, and cardbus pci
cards have appeared on the market, this makes sense.

Do some TI113x specific initialization.  This came in as part of the
patch.  Report TI1[1234]XX specific config registers protected by
bootverbose.

Minor code cleanup while I'm here.  I've also removed the unused code
present in the original patches, and cleaned it up slightly in places
as well.

The original patches supported more than one card, but these patches
support just one.  We should likely revisit this in the future.

This makes the Compaq card that Walnut Creek CD purchased for me work
in my bouncer box.

This is a MFC candidate.  However, I'd like to get some airtime on
these patches on as many laptops as possible before doing the MFC.  It
does change things somewhat.  In theory, apart from the minor TI
tweaks, this shouldn't change anything if the bridge is in legacy mode
already.

Submitted by: sanpei@sanpei.org (MIHIRA Yoshiro)
2000-03-25 20:29:55 +00:00
des
e5570010b3 Attempt to provide real values for meminfo. 2000-03-25 19:41:18 +00:00
imp
b92dd7d6c1 Two new chips found in Steve Passe's Protoge' laptop:
Lucent 56Flex DVS LTMOTEM (winmodem and unsupported)
	Cinemaster C 3.0 DVD Decoder
2000-03-25 17:01:59 +00:00
des
d815a57ddd Linux /proc filesystem.
Submitted by:	pb
2000-03-25 13:23:02 +00:00
imp
ba273c276b Regen 2000-03-25 04:05:16 +00:00
imp
41085dd330 Merge 1.60 to 1.85 of NetBSD's pcmciadevs into our database. 2000-03-25 04:04:24 +00:00
imp
5c3edf7db4 More pnpids. 2000-03-25 03:24:43 +00:00
imp
eaa8bd557a Make pcic module compile again for NEWCARD (not for old pccard). 2000-03-25 03:16:19 +00:00
imp
da4e48c324 Make this compile again and harmonize with GENERIC:
o added gif, faith, wx, ida, amr, mlw, INET6
o many comment nits
o Comment out all the compat shim devices, mostly so that I know what
  they are:
	amd, dpt, ncr, adv, tx, vx, fe, cs, lnc,
o Leave the following commented out:
	ie, le

NEWCARD now compiles again.  Back to testing...
2000-03-25 03:15:03 +00:00
mdodd
706ffe4486 Fix a problem that caused TCP fragments to be lost (among other things.) 2000-03-24 23:31:42 +00:00
jhb
8c16543d94 Update sysinstall to use struct uc_device instead of struct isa_device
for generating /boot/kernel.conf.  Since this structure is shared, move
its definition out to a header file, just as struct isa_device was defined
in a header file.  This fixes the sysinstall breakage in -current.
2000-03-24 22:24:09 +00:00
asmodai
efc73ae8d0 Fix spelling, slingly -> singly.
Submitted by:	nrahlstr
2000-03-24 21:02:14 +00:00
billf
5d7f379e33 Add Mach64-LB graphics accelerator
Submitted by:	Brandon Martus <bmartus@chc-chimes.com> (unwittingly)
Obtained from:	NetBSD (syssrc/sys/dev/pci/pcidevs)
2000-03-24 19:31:02 +00:00
sos
0ab6e0ba4d Fix the panic occuring on non-changer devices. 2000-03-24 07:44:20 +00:00
cg
a553c0f5cf don't check extended features on codecs known to hang. should fix neomagic
problems.
2000-03-24 03:14:35 +00:00
dillon
b61b444c79 Fix in-kernel infinite loop in pipe_write() when the reader goes away
at just the wrong time.
2000-03-24 00:47:37 +00:00
bde
31b37e6e68 Remove unused file. 2000-03-23 19:22:14 +00:00
bde
c339b2bce5 Fixed most disordering (almost all except for i4b and targets with
complicated rules).
2000-03-23 19:08:49 +00:00
bde
38edf8e123 Fixed most disordering (all except for targets with complicated rules). 2000-03-23 19:03:26 +00:00
dillon
0c55db51df Fix parens in m_pullup() line in arp handling code. The code was
improperly doing the equivalent of (m = (function() == NULL)) instead
    of ((m = function()) == NULL).

    This fixes a NULL pointer dereference panic with runt arp packets.
2000-03-23 18:58:59 +00:00
bde
47452562a1 Fixed my breakage of SPLASSERT() in rev.1.15. There was a stray semicolon
after "if ()".
2000-03-23 18:46:44 +00:00
msmith
2054c7bab4 Fix detection of the card-ready-for-command state. Use an ultimate
timeout closer to the 1-second value that AMI use in their Linux
driver, and mark the mailbox structures as volatile so that gcc
doesn't over-optimise access to them.

This should fix the "controller wedged" bug.

Submitted by:	Brian Dean <brdean@unx.sas.com>
2000-03-23 18:33:19 +00:00