Commit Graph

21129 Commits

Author SHA1 Message Date
Matt Jacob
910fb4f6ee The SERVICING_INTERRUPT isn't quite safe yet. 2000-07-18 07:04:07 +00:00
Matt Jacob
f48ce1882f Add a isp_target_putback_atio- we aren't using CCINCR at this time, so
we need a function that tells the Qlogic f/w that a target mode command
is done, so increase the resource count for that lun. Add in a timeout
function to kick the putback again if we fail to do it the first time (we
may not have the request queue space for ATIO push). Split the function
isp_handle_platform_ctio into two parts so that the timeout function for
the ATIO push or isp_handle_platform_ctio can inform CAM that the requested
CTIO(s) are now done.

Clean up (cough) residual handling. What we need for Fibre Channel
is to preserve the at_datalen field from the original incoming ATIO
so we can calculate a 'true' residual.  Unfortunately, we're not
guaranteed to get that back from CAM. We'll *try* to find it hiding
in the periph_priv field (layering violation)- but if an ATIO was
passed in from user land- forget it. This means that we'll probably
get residuals wrong for Fibre Channel commands we're completing
with an error. It's too late to 4.1 release to fix this- too bad.
Luckily the only device we'd really care about this occurring on
is a tape device and they're still so rare as FC attached devices
that this can be considered an untested combination anyway.

Remove all CCINCR usage (resource autoreplenish). When we've proved
to ourself that things are working properly, we can add it back
in.

Make sure we propage 'suggested' sense data from the incoming ATIO
into the created system ATIO- and set sense_len appropriately.
Correctly propagate tag values.

Fall back to the model of generating (well, the functions in isp_pci.c
do the work) multiple CTIOs based upon what we get from XPT. Instead
of being able to pair Qlogic generated ATIOs with CAM ATIOs, and then
to pair CAM CTIOs with Qlogic CTIOs, we have to take the CTIO passed
to us from XPT, and if it implies that we have to generate extra
Qlogic CTIOs, so be it. This means that we have to wait until the
last CTIO in a sequence we generated completes before calling xpt_done.

Executive summary- target mode actually now pretty much works well
enough to tell folks about.
2000-07-18 06:58:28 +00:00
Matt Jacob
c77d11d0cc Raise debug level for some messages. Fix botched inversion
about MBOX_COMMAND_ERROR vs. MBOX_COMMAND_PARAM_ERROR.
2000-07-18 06:46:48 +00:00
Matt Jacob
05fbcbb000 Keep interrupts blocked for all of isp_pci_attach. Redo DMA routines
for target mode for cleanliness and accuracy.
2000-07-18 06:40:22 +00:00
Matthew N. Dodd
5ce6286805 Properly detect ISA cards in EISA mode and skip them in the ISA identify
routine so that they will be picked up by the EISA front end.

PR:		i386/2598
2000-07-18 06:37:08 +00:00
Peter Wemm
f03c9f90d1 Patch up some bogons in the resource_find() vs resource_find_hard()
interfaces.  The original resource_find() returned a pointer to an internal
resource table entry.  resource_find_hard() dereferences the actual
passed in value (oops!) - effectively trashing random memory due to
the pointer being passed in with a random initial value.

Submitted by:  bde
2000-07-18 06:08:27 +00:00
David E. O'Brien
ff1e937c46 Declare our DEC Alpha cdboot to be a fully released version 1.0. 2000-07-18 04:15:06 +00:00
Brian Somers
36976ff534 Initialise ifnet::if_type
PR:		17873
Submitted by:	Kensaku Masuda <greg@greg.rim.or.jp>
2000-07-17 23:21:42 +00:00
Luigi Rizzo
e07e817462 close PR 19544 - ipfw pipe delete causes panic when no pipes defined
PR: 19544
2000-07-17 20:03:27 +00:00
John Baldwin
f15da231c5 Oops. Remove some debugging code used to display a hexdump of the sector
we just loaded from the disk.  The code to call it was commented out, and
it easily fit into the extra sector, but remove it anyway as it is
unneeded.
2000-07-17 19:39:50 +00:00
Nick Hibma
bda0fa93eb The modem driver for Communication Device Class, ACM compliant devices.
There is a number of devices that are compliant, of which the 3Com 5605 is
has been verified to work.

The driver is not perfect yet, but should be able to get you somewhere.

The driver was originally written by Lennart Augustsson, but Mike Smith
and Mike Meyer <mwm@mired.org> did the porting.
2000-07-17 19:28:29 +00:00
Bill Paul
ead7cde9d1 Add the PCI IDs for the Macronix 98727 and 98732 parts. These are
3.3volt PCI/cardbus chipsets similar to the 98715 (and they have
512-bit hash tables). Also update the man page to mention the 98727/98732
and the SOHOware SFA110A Rev B4 card with the 98715AEC-C chip.
2000-07-17 19:27:41 +00:00
Jonathan Lemon
cd914f8fa0 Unbreak the build -- no manual page for this yet. 2000-07-17 19:03:58 +00:00
Nick Hibma
4f04f78215 Remove __P prototypes to reduce diffs between the NetBSD and FreeBSD
versions.
2000-07-17 18:41:20 +00:00
Jonathan Lemon
15602c8dd8 Hook up liloldr 2000-07-17 17:06:27 +00:00
Jonathan Lemon
9ebf93dc6d This is `liloboot', which creates a file which can be treated like a
Linux kernel image, and is designed to be dropped into a Linux system
and booted via LILO.  Once booted, the user is greeted by the FreeBSD
loader.  This still isn't quite complete, as the the root= specification
from LILO isn't currently passed to the loader yet.
2000-07-17 17:06:04 +00:00
Sheldon Hearn
f274479332 Rename MDNSECT to MD_NSECT and declare it as something that isn't
default in NOTES.

Requested by:	bde
Approved by:	phk
2000-07-17 13:13:04 +00:00
Mark Murray
720a3741cf Add randomness write functionality. This does absolutely nothing for
entropy estimation, but causes an immediate reseed after the input
(read in sizeof(u_int64_t) chunks) is "harvested".

This will be used in the reboot "reseeder", coming in another
commit. This can be used very effectively at any time you think
your randomness is compromised; something like

# (ps -gauxwww; netstat -an; dmesg; vmstat -c10 1) > /dev/random

will give the attacker something to think about.
2000-07-17 12:23:04 +00:00
Nick Hibma
f10e5a6e89 Regen. 2000-07-17 09:56:01 +00:00
Nick Hibma
b067ff95e2 Lots of new device Ids. From NetBSD. 2000-07-17 09:55:34 +00:00
Matt Jacob
0bee04cc98 Preserve CAM_DIS_DISCONNECT as passed up from SIM (like
CAM_TAG_ACTION_VALID and CAM_DIR_MASK). Remove redundant
CAM_DEBUG line. Spiff up CAM_DEBUG printout for commands
and move the printout up to the top where we can see it,
even for the pending_ua/pending_ca cass. Add missing
newline in a CAM_DEBUG.
2000-07-17 01:45:51 +00:00
Matt Jacob
a4eb4f1646 Whoops- forgot to commit this other pearl from Justin- only set or
clear CAM_TAG_ACTION_VALID if this is an XPT_SCSI_IO CCB (otherwise,
the peripheral driver knows best...)..
Obtained from:gibbs@freebsd.org
2000-07-17 00:43:47 +00:00
Matt Jacob
a4de02ec12 Roll back target mode f/w to 7.55- 7.65 hangs when presented with a
non-disconnecting command. Interestingly enough, of the other flavors
of the 7.65 f/w (the dual-id and multi-id flavor)- the dual-id doesn't
hang (they're also supposed to be the same except for supporting dual
or multi-id capture!), but other things are questionable as well.
2000-07-17 00:34:52 +00:00
Marcel Moolenaar
d5124417a7 Implement pread and pwrite.
PR: 17991
Submitted by: Geoffrey Speicher <geoff@caribbean.sea-incorporated.com>
2000-07-17 00:17:07 +00:00
Marcel Moolenaar
6037da7d24 Add prototypes for linux_pread and linux_pwrite.
PR: 17991
Submitted by: Geoffrey Speicher <geoff@caribbean.sea-incorporated.com>
2000-07-17 00:13:38 +00:00
Marcel Moolenaar
ddb48608ab Implement setfsuid and setfsgid. Implementation derived from patch
in PR.

PR: 16993
Submitted by: Bjoern Groenvall <bg@sics.se>
2000-07-16 21:23:34 +00:00
Nick Hibma
fba108ec94 Add some detection code for the InSystem USB cable (ATAPI support not yet
there, so the cable does not work yet)
2000-07-16 17:40:23 +00:00
Andrey A. Chernov
8804e81e7e Bump __FreeBSD_version to indicate mtree defaults changed back to original 2000-07-16 10:02:34 +00:00
Mark Murray
7d4e8b5df8 Don't break the ability to debug the kernel when gathering entropy.
Pointed out by:	bde
2000-07-16 09:25:04 +00:00
Jun-ichiro itojun Hagino
059e468480 s/IPSEC_IPV6FWD/IPSEC/. this avoids unexpected behavior on ipv6 fowarding.
(even if you ask for tunnel-mode encryption packets will go out in clear)
sync with kame.
2000-07-16 07:56:54 +00:00
Kenneth D. Merry
259665fa0a Get rid of non-existent CAM 'scan' device.
PR:		19961
Submitted by:	Cyrille Lefevre <clefevre@citeweb.net>
2000-07-16 02:49:23 +00:00
Jun-ichiro itojun Hagino
978ee2ed92 improve route/nd cache cleanup on interface removal.
CAVEAT: haven't really tested it yet, please report
2000-07-16 01:46:42 +00:00
Marcel Moolenaar
fbdf894562 Simplify the F_GETOWN and F_SETOWN fcntl commands. The workaround
is not needed since the FreeBSD native implementation switched
from TIOC{G|S}PGRP to FIO{G|S}ETOWN (kern_descrip.c rev 1.55).

PR: 16946
Submitted by: Victor Salaman <salaman@teknos.com>
2000-07-15 22:33:24 +00:00
Bill Paul
79d11e0960 Apply patch to the dc driver to handle Macronix MX98715AEC-C/D/E chips,
which differ slightly from the Macronix MX98715AEC chip on the sample
adapter that I have in that the multicast hash table is only 128 bits
wide instead of 512. New adapters are popping up with this chip, and
due to improper handling of the smaller hash table, broadcast packets
were not being received correctly.
2000-07-15 17:54:30 +00:00
Andrey A. Chernov
40b376941a Shorten 49m attr resetting expression 2000-07-15 14:13:42 +00:00
Andrey A. Chernov
7e1eea4825 Reset corresponding color attributes on 39m and 49m
Unify comments related to color
2000-07-15 13:46:57 +00:00
Hellmuth Michaelis
fc80937e0b have pcvt's non-console probe and attach routines called again in case
it is configured in the kernel.
2000-07-15 13:16:28 +00:00
Andrzej Bialecki
bd3cdc3105 These patches implement dynamic sysctls. It's possible now to add
and remove sysctl oids at will during runtime - they don't rely on
linker sets. Also, the node oids can be referenced by more than
one kernel user, which means that it's possible to create partially
overlapping trees.

Add sysctl contexts to help programmers manage multiple dynamic
oids in convenient way.

Please see the manpages for detailed discussion, and example module
for typical use.

This work is based on ideas and code snippets coming from many
people, among them:  Arun Sharma, Jonathan Lemon, Doug Rabson,
Brian Feldman, Kelly Yancey, Poul-Henning Kamp and others. I'd like
to specially thank Brian Feldman for detailed review and style
fixes.

PR:		kern/16928
Reviewed by:	dfr, green, phk
2000-07-15 10:26:04 +00:00
David E. O'Brien
53d52f0b40 Add SOFTUPDATES to GENERIC (BOOTMFS has this filtered out) 2000-07-15 06:06:42 +00:00
Alfred Perlstein
af0e6bcdf0 Make mbstat.m_mtypes seperate and viewable via sysctl, also
expand the size from short to ulong

Submitted by: Ian Dowse <iedowse@maths.tcd.ie>
PR: kern/19809
2000-07-15 06:02:48 +00:00
Archie Cobbs
840e97785b Set NG_INVALID flag when destroying node. 2000-07-14 22:35:13 +00:00
Matt Jacob
6bd19f4257 Don't, when doing cam_fill_ctio, add a SIMPLE Q tag unless
TAG_ACTION_VALID is set.
2000-07-14 21:09:25 +00:00
Matt Jacob
0cf933ba30 Pick up some changes from Justin (add tagged queing support, remember
to splx(s) if cam_extend_get fails and we return ENXIO, reset ccb flags
when we push ATIOs back to the SIM, do some data increment fixes, set
priority of command based on whether CAM_DIS_DISCONNECT is set and related
changes).

Add in some more CAM_DEBUG_PERIPH debug statements and also add in support
for TARGIODEBUG which then will enable or disable CAM_DEBUG_PERIPH tracing
for an instance.
2000-07-14 19:45:43 +00:00
Matt Jacob
17db9a57e1 Add a TARGIODEBUG ioctl to allow for CAM_DEBUG_PERIPH tracing on
an opened target instance.
2000-07-14 19:42:47 +00:00
Matt Jacob
966a2adf7f Properly initialize softc. Do some minor SCSI_CDB6_LEN changes.
Obtained from:gibbs@freebsd.org
2000-07-14 19:41:43 +00:00
Matt Jacob
bc07f47f5d Add SCSI_CDB6_LEN macro (where 0 ==> 256).
Obtained from:gibbs@freebsd.org
2000-07-14 19:40:54 +00:00
Bill Paul
eddceb0d2b Close PR# 19904: remember to call sf_setmulti() when initializing the
interface so the multicast filter will be programmed correctly.
2000-07-14 19:11:02 +00:00
Archie Cobbs
f8725add80 Bump __FreeBSD_version to mark the ether_ifattach()/ether_ifdetach() changes.
This allows the VMWare port to be unbroken, using a patch based on it.

Requested by:	haro@tk.kubota.co.jp (Munehiro Matsuda)
2000-07-14 15:44:58 +00:00
Sheldon Hearn
866c1fb1b7 Add options<sp><tab>MDNSECT=2000 . 2000-07-14 12:21:14 +00:00
Sheldon Hearn
b36ee384e6 Actually allow ``options MDNSECT=<numsects>'' in kernel configs to
specify the default maximum size of malloc(9)-backed md(4) devices
and complete the documentation of this option.
2000-07-14 12:14:13 +00:00