| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
XXX: this program currently doesn't parse macros that cross the EOL with \
(there are a couple in sys/dev/scsipi/scsi_message.h).
with that issue temporarily worked around, this change generates the
same output as the version of aicasm without this change.
|
|
|
|
|
|
|
|
between script and driver. This allows more than one flag, and is easier to
manage (we almost can't read/write istat outside of the irq handler).
|
|
|
|
if error occurs after status is collected) race condition
when using the status byte to detect completed commands (a command descriptor
could be recycled before the device disconnected), and make the
interrupt routine handling completed commands more efficient (no need to
scan target * lun * tag array any more).
|
|
when setting f_cmd_free.
|
|
there may be tagged commands still running when we queue a request sense
command.
Solve this by using 2 DSA entry per LUN
- Now that we have the command DSA before select, we can load T/L/Q in
SCRATCHC. This makes the selection timeout handler simpler.
- Avoid a race condition when setting the free flag in the cmd ring (see
comment in the script)
- don't forget to update the ID in the head of LUN table after a sync/wide
negotiation. This fixes the command timeout at the first data command
after negotiation (the bus reset handler did update the ID properly,
so subsequent commands were OK).
- for DMA interrupts, clear fifo if it's not empty. Leaving the fifo dirty
would prevent subsequent interrupts from coming in.
- Various improvements in debug messages
- misc cleanups.
|
|
|
|
scheduler slot. This costs a few more instructions but divide the size of the
scheduler ring by 2, saving 1k of onboard RAM (a bus with 15 devices would
overflow the on-board RAM by 128 bytes).
|
|
|
|
|
|
|
|
|
|
|
|
enouth for IDENTIFY + TAG + PPR.
Get rid of constants in C code by use of a offsetof macro.
|
|
|
|
after the selection timeout is posted but the number executed isn't
reliable. So wait for MSG_OUT rigth after the select so that the state of
the script when the interruption is handled is known.
|
|
|
|
|
|
For this add another indirecton: the DSA in the LUN table points to
a table of DSA indexed by the tag number when tagged command is in use.
For non tagged command, the LUN DSA still points to the tables describing the
xfer directly.
|
|
|
|
yet.
If is restricted to SIOP which implement the load/store instruction, and
has 10 scratch registers (basically, 825 and newer, possibly 770).
It implements a different interface between host and script, using a real
ring for command starts, and improved support for reconnect which will allow
256 tag per device. It uses interrupt on the fly to signal complete command,
which allows several commands to be serviced per interrupt and doesn't require
the script to stop to signal command completion.
|
|
- hanlde set/clear carry
- handle shl, shr (shift left and rigth) and xor operators
|
|
|
|
|
|
tekram and symbios adapters.
|
|
|
|
Obtained from Tim Gardner <timg@tpi.com> who developoed the Linux driver.
And approved by Brad Lefore <blefore@sj.symbol.com> to redistribute it
with BSD license.
|
|
|
|
microcode implements an interrupt mitigation function for several
specific revisions of the i8255x family.
From FreeBSD.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Initial compiled script for 53c700.
|
|
This chip is very similar to the 53c710, except that it's
missing a few registers, doesn't do relative jumps and
doesn't have the table-indirect addressing mode.
I have checked that this still generates the same output
on the existing scripts for the other chips.
|
|
This is closely related to osiop.ss, the script for the
53c710.
|
|
|
|
2-Gigabit card firmware.
|
|
|
|
|
|
so as not to clutter the output of the what(1) command when run on a kernel.
|