11625 Commits

Author SHA1 Message Date
tegge
857a03a573 Maintain a mapping from irq number to (ioapic number, int pin) tuple,
and use this when masking/unmasking interrupts.

Maintain a mapping from (iopaic number, int pin) tuple to irq number,
and use this when configuring devices and programming the ioapics.

Previous code assumed that irq number was equal to int pin number, and
that the ioapic number was 0.

Don't let an AP enter _cpu_switch before all local apics are initialized.
1998-09-06 22:41:42 +00:00
rvb
e08529ca69 Clean LINT 1998-09-06 20:01:34 +00:00
wpaul
70e4d378e2 Patch the transmit error handler to avoid following NULL pointers and
generating a trap 12 panic. The code blindly assumed that in the event
of a transmit error, the packet that caused the error would still be
at the head of the driver's transmit queue (sc->xl_cdata.xl_tx_head).
However in the case of error 82 (which indicates that a transmit error
occurred after part of the transmit FIFO memory has been reclaimed)
this is not true: the TX queue has already been flushed, and the
pointer to the head of the queue is NULL, so trying to dereference
the pointer to find the transmit descriptor address causes a crash.

The code now checks for a NULL pointer before trying to reload the
chip's download pointer register. There may still be error messages
printed warning of the transmit error, but no panic should occur.

Note that this eror code is only generated with "cyclone" chipsets
(3c900B, 3c905B, and presumeably the 3c980 server adapter). It should
only appear during periods of heavy traffic, probably only on
non-switched networks.

Problem reported by: Darcy Buskermolen <darcy@ok-connect.com>
1998-09-06 14:58:46 +00:00
phk
554e90e43f RFC 1644 has the status "Experimental Protocol", which means:
4.1.4.  Experimental Protocol

      A system should not implement an experimental protocol unless it
      is participating in the experiment and has coordinated its use of
      the protocol with the developer of the protocol.

Pointed out by:	Steinar Haug <sthaug@nethelp.no>
1998-09-06 08:17:35 +00:00
ache
b9386dfd70 Store formatted panic string in static buffer to make it available later
for savecore.
Previous code give only panic format to savecore
1998-09-06 06:25:18 +00:00
jb
dfdc8cd38c Change the ELF64_R_SYM() to shift 32 bits instead of 8 bits to match
binutils.

Ensure that three of the structures are the size that binutils writes
them. I just love code that doesn't share header files to avoid
problems like these.

With this change rtld-elf works on alpha.
1998-09-05 23:07:59 +00:00
bde
0f44756d5a Ignore the statically configured vfs type numbers and assign vfs
type numbers in vfs attach order (modulo incomplete reuse of old
numbers after vfs LKMs are unloaded).  This requires reinitializing
the sysctl tree (or at least the vfs subtree) for vfs's that support
sysctls (currently only nfs).  sysctl_order() already handled
reinitialization reasonably except it checked for annulled self
references in the wrong place.

Fixed sysctls for vfs LKMs.
1998-09-05 17:13:28 +00:00
bde
a84a2dedfc Instantiate `nfs_mount_type' in a standard file so that it is present
when nfs is an LKM.  Declare it in a header file.  Don't forget to use
it in non-Lite2 code.  Initialize it to -1 instead of to 0, since 0
will soon be the mount type number for the first vfs loaded.

NetBSD uses strcmp() to avoid this ugly global.
1998-09-05 15:17:34 +00:00
bde
572c995dfc Fixed bogotification of pseudocode for syscall args by rev.1.53 of
syscalls.master.
1998-09-05 14:30:11 +00:00
bde
668b45f6c6 Sysctl nodes are written to, so don't put them in the text section.
Our write protection of the kernel text on i386's doesn't actually
work in many cases:
- use of the 4MB page completely breaks it.
- CR0_WP isn't set until just before init is started, so the kernel
  text is not write protected during kernel initialization.
1998-09-05 14:13:35 +00:00
phk
4630814c8b Add a new vnode op, VOP_FREEBLKS(), which filesystems can use to inform
device drivers about sectors no longer in use.

Device-drivers receive the call through d_strategy, if they have
D_CANFREE in d_flags.

This allows flash based devices to erase the sectors and avoid
pointlessly carrying them around in compactions.

Reviewed by:	Kirk Mckusick, bde
Sponsored by:	M-Systems (www.m-sys.com)
1998-09-05 14:13:12 +00:00
bde
ec3c90cf78 Fixed recently perpetrated printf format errors. 1998-09-05 13:24:39 +00:00
bde
9dcb0eb1af Don't comment out dead code. Remove it.
Fixed disgustingly long lines.

Improved English in some comments.
1998-09-05 12:42:56 +00:00
jb
e53f0d692a Add support for MACHINE=pc98. This leaves a single legacy entry for
the old aout bootloader.
1998-09-05 08:27:56 +00:00
jb
e34d5e7231 Add a GENERICupgrade config file for pc98 users to upgrade to elf
in the same way as i386 users. This is a copy of GENERIC98.
1998-09-05 08:14:36 +00:00
kato
bd08049a95 Sync with sys/i386/conf/files.i386 revision 1.201. 1998-09-05 02:36:18 +00:00
kato
d6c692bdc8 Sync with sys/i386/conf/Makefile.i386 revision 1.121. 1998-09-05 02:35:21 +00:00
kato
2af24be96c Increase 'maxusers' to 32. 1998-09-05 02:20:52 +00:00
luoqi
860cc09a35 Make irq forwarding truely functional. 1998-09-04 23:03:04 +00:00
msmith
f8b9e87456 Increase 'maxusers' to 32; with the number of people using GENERIC as
their one-size-fits-all kernel, this should help reduce the "out of foo"
reports.

Reviewed by:	jkh
1998-09-04 19:55:51 +00:00
dfr
cc6d00dd2e Cosmetic changes to the PAGE_XXX macros to make them consistent with
the other objects in vm.
1998-09-04 18:49:35 +00:00
nsouch
742fe357a3 Device registration temporaly removed until major number allocation ok. 1998-09-04 17:53:42 +00:00
wpaul
5592ace7c5 Modify the xl_mediacheck() routine to also test for the case where the
XCVR value read from the EEPROM is completely wrong. I've had one report
of a 3c900 card that returns an xcvr value of 14, which is impossible
(the manual states that all vales above 8 are reserved). If the value
is out of the expe

Add PCI vendor ID for the 3c980-TX server adapter card, which apparently
also uses the cyclone chip. Graciously supplied Mats O Jansson
<maja@cntw.com>.

Also noted by Mats, the 10mpbs cyclone adapters should be named 3c900B,
not 3c905B. I haven't actually encountered a 10mbps only cyclone adapter
yet, nor anybody who has one, but this makes sense given the naming
scheme used for the older boomerang adapters.
1998-09-04 16:22:15 +00:00
ache
2d03d4a5b5 make sbflush panic messages more descriptive 1998-09-04 13:13:18 +00:00
ache
06c4074b1e PAGE_WAKEUP -> vm_page_wakeup 1998-09-04 13:10:34 +00:00
dfr
e2df972eb1 Cosmetic changes to the PAGE_XXX macros to make them consistent with
the other objects in vm.
1998-09-04 08:06:57 +00:00
dfr
4b6b0ee13a Make SimOS work again. 1998-09-04 08:01:26 +00:00
dfr
c71608e226 Make this build even if sio is not in the kernel. 1998-09-04 07:58:33 +00:00
nsouch
3b89bdbe55 pcf.c added, support for the Philips PCF8584 I2C bus controller
(this is part of the iicbus system)
1998-09-04 06:06:55 +00:00
msmith
aa412001a9 Generic plug-and-play enumerator infrastructure. Query supplied
enumerators, crossreference returned identifiers with a text-format
database and automatically load corresponding modules and dependancies.
1998-09-04 02:43:26 +00:00
nsouch
5bbd0abeae Reviewed by: Doug Rabson
Submitted by:	nsouch
I2C and SMB files added + new bus arch. files description
1998-09-03 21:10:54 +00:00
nsouch
18263a1648 Reviewed by: Doug Rabson
Submitted by:	nsouch
Philips PCF8584 chipset support. Chipset controller for the I2C bus.
1998-09-03 21:01:22 +00:00
nsouch
40be73b11b Reviewed by: Doug Rabson
Submitted by:	nsouch
I2C and SMB ioctls
1998-09-03 21:00:08 +00:00
nsouch
816c8cb32c Reviewed by: Doug Rabson
Submitted by:	nsouch
root_bus_configure() call to initialize new bus arch in i386 env.
1998-09-03 20:59:28 +00:00
nsouch
ed5267486e Reviewed by: Doug Rabson
Submitted by:	nsouch
Adding I2C and SMB entries to LINT, CONFIGVERS modified in Makefile.i386
1998-09-03 20:58:34 +00:00
nsouch
21934abf1e This commit was generated by cvs2svn to compensate for changes in r38776,
which included commits to RCS files with non-trunk default branches.
1998-09-03 20:52:54 +00:00
nsouch
ec25a2ed53 Submitted by: nsouch
System Management Bus generic support over new bus architecture.
1998-09-03 20:52:54 +00:00
nsouch
9a60f60a99 This commit was generated by cvs2svn to compensate for changes in r38774,
which included commits to RCS files with non-trunk default branches.
1998-09-03 20:51:50 +00:00
nsouch
165178e426 Submitted by: nsouch
Philips I2C bus generic support other new bus architecture.
1998-09-03 20:51:50 +00:00
asami
be3583c2b6 Bump __FreeBSD_version to 300004 to indicate post E-day.
Reviewed by:	jdp
1998-09-03 08:28:42 +00:00
dillon
16ae72c2ec Reviewed by: J Wunsch <j@uriah.heep.sax.de>
-current commit for st.c, kernel support for /bin/mt's 'comp' option.
    (tested with exabyte and DAT tape units.  Does not apparently work with
    all SCSI tape's, though).
1998-09-03 07:01:39 +00:00
jkh
50ed861cdd Allow quoted strings (single or double) for grouping whitespace separated
items.  Eliminate warnings.
1998-09-03 06:14:41 +00:00
msmith
2feae82d78 Bootstrap updates.
- Move some startup code from MD to MI sections
 - Add a 'copyout' and some copyout-related functions.  These will be
   obsoleted when BTX is available for the 386 and the kernel load
   area becomes directly addressable.
 - Add the ability load an arbitrary file as a module, associating
   and arbitrary type string with it.  This can be used eg. for loading
   splash-screen images etc.
 - Add KLD module dependancy infrastructure.  We know how to look for
   dependancies inside KLD modules, how to resolve these dependancies
   and what to do if things go wrong.  Only works for a.out at the
   moment, due to lack of an MI ELF loader.  Attach KLD module information
   to loaded modules as metadata, but don't pass it to the kernel (it
   can find it itself).
 - Load a.out KLD modules on a page boundary.  Only pad the a.out BSS
   for the kernel, as it may want to throw symbols away.  (We might want
   to do this for KLD modules too.)
 - Allow commands to be hidden from the '?' display, to avoid cluttering
   it with things like 'echo'.  Add 'echo'.
 - Bring the 'prompt' command into line with the parser syntax.
 - Fix the verbose 'ls'; it was using an uninitialised stack variable.
 - Add a '-v' flag to 'lsmod' to have it display module metadata as well
   (not terribly useful for the average user)
 - Support a 'module searchpath' for required modules.
 - The bootstrap file on i386 is now called 'loader' to permit the
   /boot directory to use that name.
 - Discard the old i386 pread() function, as it's replaced by
   arch_readin()
1998-09-03 02:10:09 +00:00
nsouch
b17369f2d0 printing with compatible mode fixed if ECP available + more verbose if bootverbose set 1998-09-02 20:34:34 +00:00
phk
256218ff32 Widen and change the layout of the IPFW structures flag element.
This will allow us to add dummynet to 3.0

Recompile /sbin/ipfw AND your kernel.
1998-09-02 19:14:01 +00:00
rvb
9d7a126e4f Pass2 complete 1998-09-02 19:09:53 +00:00
bde
e4b7494799 Added a vfs_oid pointer and a vfs_uninit() function to struct
vfsops.  vfs_oid will be used to attach and detach vfs sysctls
dynamically.  vfs_uninit() will be used to clean up before
modunloading vfs LKMs.  The nfs LKM needs these features most.
1998-09-02 17:25:51 +00:00
bde
5dceba8aea Backed out previous commit. VFS_LKM_NO_DEFAULT_DISPATCH wasn't used for
long, and the ifdef for it broke the forward declaration for the
dispatch function.
1998-09-02 17:03:49 +00:00
wollman
1228ff1417 Properly fragment multicast packets.
PR: 7802
Submitted by:	Steve McCanne <mccanne@cs.berkeley.edu>
1998-09-02 15:11:14 +00:00
bde
83594b3e3a Add -aout to CFLAGS and LDFLAGS in bsd.kmod.mk, not in
src/lkm/Makefile.inc.  This fixes broken builds of the syscons LKMs
when OBJFORMAT=elf.  Removed src/lkm/Makefile.inc since it became
empty and is worse than useless.
1998-09-02 14:29:09 +00:00