#
44ec8394 |
| 30-Jun-2006 |
dlg <dlg@openbsd.org> |
add mpi_inq. this is a custom io function that does an inquiry against either a normal target, or against a physical disk using the raid passthru command. it is necessary since the normal io path can
add mpi_inq. this is a custom io function that does an inquiry against either a normal target, or against a physical disk using the raid passthru command. it is necessary since the normal io path can only be used by the midlayer, and only against normal targets. this will be used for ppr against the disks in raid volumes on scsi controllers.
tested by marco@
show more ...
|
#
01ecf088 |
| 29-Jun-2006 |
dlg <dlg@openbsd.org> |
split some fields up in the spi port and dev config pages. makes the ppr code easier since we dont have to byteswap and shift stuff around so much. no functional change though.
|
#
47a8549d |
| 29-Jun-2006 |
dlg <dlg@openbsd.org> |
theres a ton of 32bit fields in mpi messages that have subfields that lie on byte boundaries. so rather than byteswappping and bitshifting the values in these subfields around we can break them up in
theres a ton of 32bit fields in mpi messages that have subfields that lie on byte boundaries. so rather than byteswappping and bitshifting the values in these subfields around we can break them up into byte fields and access them directly.
this breaks up the control field in the scsi io command.
show more ...
|
#
cbffd705 |
| 19-Jun-2006 |
miod <miod@openbsd.org> |
Everytime one forgets an argument in a printf-like function call, God kills a kitten. Commiters, please think of the kittens when working on code.
|
#
cc98c260 |
| 18-Jun-2006 |
marco <marco@openbsd.org> |
Make mpi not spit out WWNN and WWPN as requested by deraadt and dlg. Do store these values in the scsi_link structure for each device.
ok dlg.
|
#
cd1b736f |
| 18-Jun-2006 |
marco <marco@openbsd.org> |
Don't walk memory whenever there is nothing there. I ran into this while debugging FC stuff.
|
#
50083d53 |
| 18-Jun-2006 |
marco <marco@openbsd.org> |
Print World Wide Node Name and World Wide Port Name during dmesg so that we can actually find the drives on the fabric. Requested by kettenis krw and brad.
ok dlg
|
#
c429ac72 |
| 16-Jun-2006 |
dlg <dlg@openbsd.org> |
vmware emulates mpi, but it does a half arsed job of it. half the fields we read off the hardware and use to configure the driver with are set to zero, so things dont really work like we want them to
vmware emulates mpi, but it does a half arsed job of it. half the fields we read off the hardware and use to configure the driver with are set to zero, so things dont really work like we want them to.
one of these fields is the pci subsystem id which is something we can fetch really early in the attach process. so if the subsys is 0 then we go on and fix up some of the values we get off the "hardware". now we can attach disks on vmware.
"sneaky" and ok marco@ tested by and ok brad@
show more ...
|
#
cb777b69 |
| 15-Jun-2006 |
marco <marco@openbsd.org> |
Add detection of RAID volume during PPR. Doesn't fan out the ppr to individual devices yet.
|
#
d0161c0f |
| 15-Jun-2006 |
marco <marco@openbsd.org> |
Add IOC page 3 support. Needed for RAID and bio.
|
#
3cdae03c |
| 15-Jun-2006 |
marco <marco@openbsd.org> |
Print volume details in debug.
|
#
343876ed |
| 15-Jun-2006 |
marco <marco@openbsd.org> |
And now without a buffer overflow. Pointed out by dlg. No cookie for me.
|
#
08494a45 |
| 15-Jun-2006 |
marco <marco@openbsd.org> |
Add structures and initial code to retrieve IOC page 2. We need this for RAID support and bio. "go at it" dlg
|
#
6428c561 |
| 15-Jun-2006 |
marco <marco@openbsd.org> |
Print some useful error information during failure. We need this to be able to diagnose field issues. Talked through with dlg.
|
#
af2c36a0 |
| 13-Jun-2006 |
dlg <dlg@openbsd.org> |
we sometimes bundle chunks that the ioc will write to in the request space as well as the request itself, so we need to sync the memory in both directions for dma.
|
#
26a8dcc1 |
| 12-Jun-2006 |
dlg <dlg@openbsd.org> |
i stashed the dva and kva of each request space in its ccb, so why am i recalculating them whenever i want to use them? shorten code a bit by using the stored values.
|
#
19fb12a7 |
| 12-Jun-2006 |
dlg <dlg@openbsd.org> |
fix sgl loading. there were a few issues, the main ones being: - when the sgl grew too large it became bigger than the maximum frame size that the ioc would deal with, and then it would just stop doi
fix sgl loading. there were a few issues, the main ones being: - when the sgl grew too large it became bigger than the maximum frame size that the ioc would deal with, and then it would just stop doing io. i was using the wrong field from iocfacts to figure out how large an sgl should be. - chained sgls were broken cos i was including the current chain element in the calculation of the offset to the next chain element.
big ok from marco@
show more ...
|
#
c00bbc89 |
| 12-Jun-2006 |
dlg <dlg@openbsd.org> |
reset the reply pointer to NULL every time we get a context reply in mpi_interrupt and mpi_completion. if we got an address reply followed by a context reply we used to pass that same reply to both c
reset the reply pointer to NULL every time we get a context reply in mpi_interrupt and mpi_completion. if we got an address reply followed by a context reply we used to pass that same reply to both completion routines.
show more ...
|
#
62ebb1fa |
| 12-Jun-2006 |
dlg <dlg@openbsd.org> |
white space fixes
|
#
465e56bf |
| 12-Jun-2006 |
marco <marco@openbsd.org> |
Initial version of dv for scsi. Work based on dlg's code. ok dlg
|
#
4ea62cdd |
| 10-Jun-2006 |
marco <marco@openbsd.org> |
Make id in mpi_complete an unused value instead of random stack garbage. This was causing the "empty portfacts" issue since the IOC wasn't complete yet with the request however since the id would mat
Make id in mpi_complete an unused value instead of random stack garbage. This was causing the "empty portfacts" issue since the IOC wasn't complete yet with the request however since the id would match the requested id the timeout was a terminal condition.
show more ...
|
#
925b3e6b |
| 10-Jun-2006 |
dlg <dlg@openbsd.org> |
if we're not reading a page then we're writing a page. stupid braino from me pointed out by marco.
|
#
3829b3d1 |
| 10-Jun-2006 |
marco <marco@openbsd.org> |
Redo debug prints to make it less loud and more granular.
ok dlg
|
#
f7939e29 |
| 08-Jun-2006 |
dlg <dlg@openbsd.org> |
unsigned long long -> u_int64_t
|
#
a3bd562f |
| 08-Jun-2006 |
dlg <dlg@openbsd.org> |
dont panic on empty portfacts or portenable replies. we should probably retry the init sequence if this happens.
|