>We're not Linux. If we still want driver version strings to be displayed
>at boot, then I suppose DEBUG is a reasonable compromise.
Makes the whole concept useless. This is for default printouts. If you
can build a debug kernel, you know what version you have. This was under
the concept of 'RAS' so that hapless users could tell you microversion
things. But I guess this isn't the right way according to our local
Jesuits. Oh, well. I'll think up something different and hopefully
less objectionable. And yes, NetBSD isn't linux. The developers seem
to be equally bad tempered, but linux is more successful.
Part B:
Field interrupts in OS layer so that (in this OS) bus_dmamap_sync(POSTREAD)
can (formally) ensure that the result queue is stable wrt to buffering
and that for sending a command a bus_dmamap_sync(PREWRITE) is done to
ensure that the device gets a good view of what the mailbox contents
should be.
Also- to be fair and on review, kern/391 isn't really addressed by
the previous commits. In reviewing, I'm embarassed to find that this
talks about reading at EOT. I'm actually going to claim that this
is 'not a bug' or 'fixed already' in that at the end of media (at the
edge of recorded media), you may continuously open the tape (should
you choose to) issue a read, and zero bytes will transfer- this is a
sufficient EOF indicator.
a now unused variable. Also, remove the restriction against at density
code being greater than the max SCSI 2 density code: 0x80..0xff are the
Vendor Unique codes and most certainly should be allowed. The check for
invalid values should be less than 0 or greater than 255.
Oh- yeah, the previous commit addressed kern/391.
EOM_PENDING. Set up a persistent EARLYWARNING behaviour flag. If
set, EOM behaviour forces a 'short read' to signal logical (as
opposed to physical) end of media. The user application may, of
course, do with this information what it will.
The EARLYWARNING behaviour may be enabled/disabled by a MTIOCTOP
operation. The default action is to not have EARLYWARNING enabled-
but this may be reversed by an option ST_ENABLE_EARLYWARN in
the kernel build.
interrupt context.
[I had some feline debugging help here. I noticed that every time Kem,
our kitty, jumped onto the USB keyboard the machine crashed.]
* attach arguments now directly support multiple register and
interrupt sets.
* address translation (`ranges') has been made bus-specific
* introduce sbus_destroy_attach_arg() to clean up after
attaching an an Sbus device.
a "fast scroll" by setting the display start in memory.
(Only implemented for "scroll up" because this is more used. "scroll down"
is easy to add.)
This moves the semantics of "copyrows" to something like "moverows";
the contents of the new visible lines at the bottom is undefined.
The emulations can live without the original "copy" semantics.
clock source. Now, when my EtherPower II locks up, it eventually recovers!
(Geez, I'd like to know why it does this, and only apparently in 10mb/s mode).
("CTLMODE") subdevice. There are legitimate uses for raw commands with
normal tape handles too.
[I'm not sure if this is a final solution. Administrators might want
to set up a more finegrained policy. However, this should not be mixed
with the "set defaults" semantics of the "CTLMODE" subdevice; another
flag should be used instead (eg execute permission or a minor number bit).]
tty structures, and on some machines (namely the DraCo internal lpt, and some
multi-i/o boards for Amigas and DraCos), tying spltty to the pretty high printer
interupt level would hurt serial performance.
On all affected ports but Amiga, spllpt() has been defined in machine/intr.h
to be spltty(), thus preserving old behaviour. Portmasters are encouraged to
change is, if they feel something else is better (e.g., one of its own were
possible).
us to call isp_reset/isp_init internally with impunity.
Rename isp_phoenix to isp_restart and make it global. Clean it up a tad.
If we get an ASYNC_SYSTEM_ERROR code in isp_intr, call isp_restart and
return- the f/w is toasted at this point (usually), so we have to bring
things back to a known state.
In isp_mboxcmd, when we don't see the HOST_INT bit go clear, try and
find out if the isp is trying to tell us something and try again. This
may avoid a potential deadlock where the previous mailbox command hasn't
been cleared by the ISP.
In isp_init don't try and get device parameters if we already have them-
this typically doesn't work if we're in the middle of an isp_restart.
data ASC/ASCQ of 0x04/0x01 (logical unit not ready, initialization in progress),
hang out for 5 seconds and return a RETRY THE OPERATION command. If we
get a check condition/sense data ASC/ASCQ of 0x04/0x02 (logical unit not
ready, initialization command required), send a polled/nosleep START UNIT
command and return a RETRY THE OPERATION command if that succeeds.
Don't send a START UNIT to a disk quirked as SDEV_NO_START. Don't send
a START UNIT to removable media. The reason for the latter is to not
just blindly spin up new (maybe changed) media.
I should note that I've successfully made this work with the ISP host
adapter so far. Other host adapters will need some work to be able
to manage or reasonably fail NOSLEEP/POLL commands while in this
state. Alternatively, the internal SCSI midlayer structure has got
to allow for more controlled error recovery (e.g., restart queues
controlled by the target driver).
drivers' sense handlers to return. Coincidentally one of them ends up
being ERESTARTSYS.
2) Add a SCSI_URGENT flag to xs structure- this allows host adapters that
do command tagging to do the right thing wrt a tag.
There is one change of note- build a list of completing commands in
ispintr and then say you're done- this avoids some re-entrancy issues
that had surfaced.
- USRobotics WorldPort 14.4 modem
- Mototola Personal Messenger 100c CDPD modem
- Socket Communications PageCard
Note: Most of this should be replaced with a com-port-detecting
heuristic better than the previous two.
cascaded and that it will be unmasked when DMA is thawed after being
frozen. (This also has the effect of making sure that no device ever
erroneously gets DRQ 4.)
1) Quirk entries for Storage Tek 9490 (Timberline) and D3 (Redwood)
drives.
2) Modification to st_loadtape to do a REWIND to BOT if the
action is a load and the tape doesn't support the LOAD command
(9490, SD3, and IBM 3590).
3) Cleaned up the 'undersized user record' error message to
make a little more sense.
Various bug fixes:
kern/1275: Now returns values in dsreg and erreg and sets resid
(as best as it can for a 16 but integer). See also
a recent change to mtio.h. We are declining to fix
the portion of this bug about naming a more specific
SCSI device. Since there is nothing programmatic
you can do with that information, it is not useful
to pass back at this time.
A side effect of this change is that doing MTIOCGET
also forces a mode sense (to get the current state
of WRITE PROTECT).
kern/5647: Now no longer logs to the console ILI or Filemark or (first)
EOM (on write) errors (unless SCSIDEBUG is set).
kern/5525: Substantially increased timeouts for a variety of
operations, and split them into categories of
I/O, Space, and Control operations (each have
likely different inherent times). I/O is for
reads/writes. Control is for mode sense/select.
Space is for spacing the tape.
Until EOM handling is changed, though kern/391 is still not fixed. A side
effect of EOM handling is that you now always 'lose' (to the writing
application's view) the last write since EIO is what is returned on
EOM detection during writes. Hopefully the reader applications don't
get too bent out of shape by this.