12794 Commits

Author SHA1 Message Date
KATO Takenori
6684a4f19d Sync with sys/i386/isa/fd.c revision 1.125. 1998-12-05 09:24:20 +00:00
KATO Takenori
dae18d3bae Sync with sys/i386/i386/userconfig.c revision 1.116. 1998-12-05 09:22:05 +00:00
KATO Takenori
7d1d31e431 Sync with sys/i386/conf/optins.i386 revision 1.94. 1998-12-05 09:20:53 +00:00
KATO Takenori
0289a3dcbb Sync with sys/i386/conf/SMP-GENERIC revision 1.23. 1998-12-05 09:19:30 +00:00
KATO Takenori
5365b3a408 Sync with sys/i386/conf/GENERIC revision 1.133. 1998-12-05 09:17:31 +00:00
Kirk McKusick
fcdfed00d5 Even the most recently allocated buffer may not have its b_blkno
field properly filled in, so we must do a VOP_BMAP on that buffer
as well if it is not resolved.
Submitted by: Luoqi Chen <luoqi@watermarkgroup.com>
1998-12-05 06:12:14 +00:00
Matthew Dillon
dadea2fa26 Obtained from: "Kenneth D. Merry" <ken@plutotech.com>
ICMP_BANDLIM option moved from i386/conf/options.i386 to generic
    conf/options since it is platform indpendant.
1998-12-05 03:19:51 +00:00
Bill Paul
f5c444e19e Add sanity check to foo_start() routines: in the unlikely (though
apparently possible) event that the transmit start routine is
called with and empty if_snd queue, bail out instead of dereferencing
unilitialized transmit list pointers and panicking.
1998-12-05 02:21:44 +00:00
Matt Jacob
cc56928232 oops on last 1998-12-05 01:46:40 +00:00
Matt Jacob
e205b454ac Remove the Target mode functions until they're in better shape. Implement some
suggested compilation cleanups from Eklund. Wire down a hard loop id if we are
not on a platform that has the ability to get to a PCI BIOS (it still will
float to the ID it gets after a LIP but at least we can try). Clarify that the
expanded lun is based upon SCCLUN defines (in f/w).
1998-12-05 01:33:57 +00:00
Matt Jacob
d3a9eb2ebe make a real "done" func; clarify some LUN widths 1998-12-05 01:31:21 +00:00
Matt Jacob
e9c2652818 compilation fixes from Eklund 1998-12-05 01:30:52 +00:00
Matt Jacob
828dbae745 compilation fixes from Eklund && move XS_CMD_DONE to be a real function 1998-12-05 01:30:27 +00:00
Matt Jacob
ff717ff328 do a bit of cleanup on some target mode structures and clarify a couple other minro things 1998-12-05 01:29:43 +00:00
Matt Jacob
9f8afea40b roll core version minor and wire a non-i386 default Loop ID to 113 1998-12-05 01:28:38 +00:00
Matt Jacob
f1535c024e offset was wrong for HARDLOOPID in NVRAM 1998-12-05 01:07:52 +00:00
Matt Jacob
fef255f9d9 Roll to 1.15 f/w level for Qlogic 2100. Leave all flavors in, but control which
one gets compiled in by default. The default is private loop, non-expanded lun.
1998-12-05 00:47:25 +00:00
Matt Jacob
6fa014b216 roll to 1.31 level 1998-12-05 00:38:31 +00:00
Matt Jacob
2fa86a2b83 trivial header fix 1998-12-05 00:07:04 +00:00
Archie Cobbs
2127f26023 Examine all occurrences of sprintf(), strcat(), and str[n]cpy()
for possible buffer overflow problems. Replaced most sprintf()'s
with snprintf(); for others cases, added terminating NUL bytes where
appropriate, replaced constants like "16" with sizeof(), etc.

These changes include several bug fixes, but most changes are for
maintainability's sake. Any instance where it wasn't "immediately
obvious" that a buffer overflow could not occur was made safer.

Reviewed by:	Bruce Evans <bde@zeta.org.au>
Reviewed by:	Matthew Dillon <dillon@apollo.backplane.com>
Reviewed by:	Mike Spengler <mks@networkcs.com>
1998-12-04 22:54:57 +00:00
Archie Cobbs
790eeb2b51 Fix compiler warnings. 1998-12-04 22:14:05 +00:00
Archie Cobbs
70b4961b81 Eliminate a zillion "left-hand operand of comma expression has no effect"
compiler warnings when NLPT_DEBUG is not defined.
1998-12-04 22:00:33 +00:00
Bill Paul
c13be48aee Put back some missing chip identification code that got lost somehow
during a trek through RCS. The Macronix 98713 and 98713A both have the
same PCI device ID but different revision numbers, and we need to be
able to tell one from the other. The 98715 and 98715A chips have the
same device ID as the 98725 chip but different revision numbers, however
we lump them into the same category except when identifying them during
the PCI probe output.

The main reason we need tell the chips apart is that the Macronix app
notes say you have to write a special magic number into one of the
registers in order to put the chip in normal operating mode. The 98713
requires one magic value, while all the others require a different one.
1998-12-04 21:48:12 +00:00
Archie Cobbs
03ba67cd99 Fix typo: expression needs parentheses
PR:             8280 (3/3 patches contained in this PR)
Submitted by:   Sakari Jalovaara <sja@tekla.fi>
1998-12-04 21:41:18 +00:00
Archie Cobbs
aa0d9efc2e Fix typo: the expression .. & .. == .. needs parentheses: (.. & ..) == ..
PR:             8280 (2/3 patches contained in this PR)
Submitted by:   Sakari Jalovaara <sja@tekla.fi>
1998-12-04 21:33:06 +00:00
Archie Cobbs
4c6844ea51 Fix typo: "==" should have been "="
PR:		8280 (1/3 patches contained in this PR)
Reviewed by:	Nate Williams <nate@mt.sri.com>
Submitted by:	Sakari Jalovaara <sja@tekla.fi>
1998-12-04 21:28:39 +00:00
Robert V. Baron
0f45501efd Don't print diagnostic anymore 1998-12-04 18:44:21 +00:00
Robert V. Baron
af1f63c7eb In vnode_pager_input_old, set auio.uio_procp = curproc
vs auio.uio_procp = (struct proc *) 0
1998-12-04 18:39:44 +00:00
Bill Paul
726ff6a158 An early Christmas present: add driver support for a whole bunch of
PCI fast ethernet adapters, plus man pages.

if_pn.c: Netgear FA310TX model D1, LinkSys LNE100TX, Matrox FastNIC 10/100,
         various other PNIC devices

if_mx.c: NDC Communications SOHOware SFA100 (Macronix 98713A), various
         other boards based on the Macronix 98713, 98713A, 98715, 98715A
         and 98725 chips

if_vr.c: D-Link DFE530-TX, other boards based on the VIA Rhine and
         Rhine II chips (note: the D-Link and certain other cards
         that actually use a Rhine II chip still return the PCI
         device ID of the Rhine I. I don't know why, and it doesn't
         really matter since the driver treats both chips the same
         anyway.)

if_wb.c: Trendware TE100-PCIE and various other cards based on the
         Winbond W89C840F chip (the Trendware card is identical to
         the sample boards Winbond sent me, so who knows how many
         clones there are running around)

All drivers include support for ifmedia, BPF and hardware multicast
filtering.

Also updated GENERIC, LINT, RELNOTES.TXT, userconfig and
sysinstall device list.

I also have a driver for the ASIX AX88140A in the works.
1998-12-04 18:01:24 +00:00
KATO Takenori
c31c6a9cce Sync with sys/i386/conf/majors.i386 revision 1.93. 1998-12-04 14:41:32 +00:00
KATO Takenori
7ef0b9d6e5 Sync with sys/i386/conf/majors.i386 revision up to 1.55. 1998-12-04 14:39:29 +00:00
Doug Rabson
5b38fe900d Implement 'software completion' for floating point arithmetic. On the
alpha, operations involving non-finite numbers or denormalised numbers
or operations which should generate such numbers will cause an arithmetic
exception.  For programs which follow some strict code generation rules,
the kernel trap handler can then 'complete' the operation by emulating
the faulting instruction.

To use software completion, a program must be compiled with the arguments
'-mtrap-precision=i' and '-mfp-trap-mode=su' or '-mfp-trap-mode=sui'.
Programs compiled in this way can use non-finite and denormalised numbers
at the expense of slightly less efficient code generation of floating
point instructions.  Programs not compiled with these options will receive
a SIGFPE signal when non-finite or denormalised numbers are used or
generated.

Reviewed by: John Polstra <jdp@polstra.com>
1998-12-04 10:52:48 +00:00
Matthew Dillon
5fce7fc47f Cleanup icmp_var.h, make icmp bandlim sysctl permanent but if ICMP_BANDLIM
option not defined the sysctl int value is set to -1 and read-only.

    #ifdef KERNEL's added appropriately to wall off visibility of kernel
    routines from user code.
1998-12-04 04:21:25 +00:00
Matthew Dillon
a3e7459d60 Obtained from: "Andrey A. Chernov" <ache@nagual.pp.ru>
Quick add #ifdef KERNEL for ICMP_BANDLIM option so userland program
     can #include icmp_var.h
1998-12-04 03:49:18 +00:00
John Birrell
a05e9b7308 Add __attribute__ ((unused)) to the SYSINIT etc macros which declare
static structures that are used with the data set magic. This allows
kernel modules, for example, to be compiled with -Wall -Werror.
1998-12-03 23:02:03 +00:00
Matthew Dillon
aeb728f0d5 Make bootp error message slightly more verbose 1998-12-03 20:28:23 +00:00
Matthew Dillon
51508de112 Reviewed by: freebsd-current
Add ICMP_BANDLIM option and 'net.inet.icmp.icmplim' sysctl.  If option
    is specified in kernel config, icmplim defaults to 100 pps.  Setting it
    to 0 will disable the feature.  This feature limits ICMP error responses
    for packets sent to bad tcp or udp ports, which does a lot to help the
    machine handle network D.O.S. attacks.

    The kernel will report packet rates that exceed the limit at a rate of
    one kernel printf per second.  There is one issue in regards to the
    'tail end' of an attack... the kernel will not output the last report
    until some unrelated and valid icmp error packet is return at some
    point after the attack is over.  This is a minor reporting issue only.
1998-12-03 20:23:21 +00:00
Matthew Dillon
3b60b6ac12 Reviewed by: freebsd-current
Add ICMP_BANDLIM option
1998-12-03 20:06:01 +00:00
David Greenman
911e8dbc2a Fixed broken code in sendfile(2) when using file offsets. 1998-12-03 12:35:47 +00:00
Jordan K. Hubbard
c918f6386e Local reserved range is now 100-127 for bdevs and 200-255 for cdevs.
Corrected by:	bde
1998-12-03 08:32:49 +00:00
Archie Cobbs
8245f3f5b4 Add snprintf(3) and vsnprintf(3) capability to the kernel.
Reviewed by:	bde
1998-12-03 04:45:57 +00:00
Jordan K. Hubbard
78a0ae7aa1 109 id Intelligent Disk [Array] (md@doc.ic.ac.uk)
Requested by:		Mark Dawson <md@doc.ic.ac.uk>
1998-12-02 21:26:11 +00:00
Kenneth D. Merry
4f1d0ef261 "Fix" a problem with the Quantum Viking. It appears that this drive does
not like the 6-byte read and write commands!  It returns illegal request,
with the field pointer pointing to byte 9 of a 6 byte CDB.

In any case, the work around is to put in a quirk mechanism that makes sure
that we don't send 6-byte reads or writes to this device.  It's rather sad
that this is necessary.  You'd think that they would be able to get
something that basic to work right in their firmware...

Reviewed by:	gibbs
Reported by:	Adam McDougall <bsdx@spawnet.com>
1998-12-02 17:35:28 +00:00
Doug Rabson
28ae06aad0 Restore the user HAE all the time, not just when returning to usermode.
This closes a very small window where the use HAE might not be restored
at all.  This only happens when switching to a process which has used the
HAE.
1998-12-02 10:24:56 +00:00
Doug Rabson
5ac82ff587 Enable BWX i/o access. I disabled it by mistake with the last commit.
Pointed out by: Andrew Gallatin <gallatin@cs.duke.edu>
1998-12-02 09:33:27 +00:00
KATO Takenori
9ad861edee - For some old Cyrix CPUs, %cr2 is clobbered by interrupts. This
problem is worked around by using an interrupt gate for the page
   fault handler.  This code was originally made for NetBSD/pc98 by
   Naofumi Honda <honda@kururu.math.sci.hokudai.ac.jp> and has already
   been in PC98 tree.  Because of this bug, trap_fatal cannot show
   correct page fault address if %cr2 is obtained in this function.
   Therefore, trap_fatal uses the value from trap() function.
-  The trap handler always enables interruption when buggy application
   or kernel code has disabled interrupts and then trapped.  This code
   was prepared by Bruce Evans <bde@FreeBSD.org>.

Submitted by:	Bruce Evans <bde@FreeBSD.org>
		Naofumi Honda <honda@kururu.math.sci.hokudai.ac.jp>
1998-12-02 08:15:17 +00:00
KATO Takenori
2992cdbc3f Sync with sys/i386/isa/isa.c revision 1.117. 1998-12-02 08:04:12 +00:00
KATO Takenori
de693de8e7 Sync with sys/i386/conf/majors.i386 revision up to 1.53. 1998-12-02 08:02:41 +00:00
Jordan K. Hubbard
2ba88dd218 (deliberately seperate commits) - reserve cdev for Nick Hibma's usb
driver.
1998-12-02 03:14:27 +00:00
Jordan K. Hubbard
a2c5c55001 *thwap* - move id driver to blkdev from cdev list; it's obviously
going to want a major number from that list instead.  Also use the
same preallocated local range (500-600) for blkdevs as well as cdevs,
just to be orthogonal.  The latter was for Brian, who has a *lot*
of local device drivers and needs more than just a single reserved
number.
1998-12-02 03:13:35 +00:00