Age | Commit message (Collapse) | Author |
|
ok jmatthew@
|
|
|
|
ok krw@
|
|
at the very least it stops the compiler omgoptimising away important
code.
tested by and ok deraadt@ jmatthew@
|
|
make NVMe on the Apple M1 stable. Hopefully we can figure out the real
issue in the future.
ok jmatthew@
|
|
a botched merge meant i was posting the previously used slot to the
chip to process before posting the current slot.
ok deraadt@
|
|
brackets to manage operator precedence. Otherwise we'd attempt to sync
more than needed, which doesn't cause issues, but it's still wrong.
ok dlg@ jmatthew@
|
|
hopefully big endian still works.
|
|
"makes sense" jmatthew@
|
|
This makes the NVMe storage on the Apple M1 machines actually work!
ok patrick@, dlg@
|
|
this paves the way for supporting the apple nvme storage controllers.
hopefully most of the remaining work on that is in the bus glue for
those controllers and this code won't need more tweaks.
hibernate still works, but it's relying on luck at the moment.
hibernate on arm64 and the apple controllers in particular will
almost certainly require more work here.
ok jmatthew@
|
|
ok jmatthew@
|
|
|
|
ok jmatthew@
|
|
this allows nvme bus glue to use the macros too.
ok jmatthew@
|
|
This also fixes two NULL ptr derefs in later code path.
OK patick@, krw@
|
|
should ensure that we don't read a stale command ID and complete the
wrong scsi io. powerpc64 base builds were crashing like this fairly
regularly.
ok deraadt@ dlg@
|
|
to scsi_copy_internal_data(). Thus getting xs->resid properly set and adding the
usual uio/size sanity checks.
|
|
member of 'struct scsi_xfer' has always been pointed at the 'struct scsi_generic
cmdstore' member of the same instance. So nuke 'cmdstore' and remove the '*'
from cmd. Take the address of cmd as required by the various casts.
No intentional functional change.
luna88k test by aoyama@, sparc64 test by jmatthew@
Identification of 2009's last *cmd use and ok jmatthew@
|
|
responses. This is what the SCSI specifications say is the correct value and
already used in several cases.
|
|
|
|
initialize the 'version' field. Not numbers.
|
|
struct scsi_rw_10.
ok gnezdo@ jmatthew@ (who also did sparc64 compile test)
|
|
fields to struct scsibus_attach_args. Nuke the struct scsi_link *
(saa_sc_link) in scaibus_attach_args.
Explicitly initialize each field in scsibus_attach_args variables.
|
|
adapter_buswidth, adapter_softc) from struct scsi_link to struct
scsibus_attach_args.
Additional compile tests by jmatthew@ (sparc64) and aoyam@ (luna88k).
|
|
In sparc64 autoconf access 'luns' via sb_luns and 'adapter_buswidth'
via sb_adapter_buswidth.
Removes last post-config uses of the copies of bus related
information in scsi_link.
|
|
somehow. Cleaning it out and config/compile from scratch and all seems
well.
|
|
|
|
|
|
configured but have a size of 0.
Should eliminate the 31 bogus sd(4) devices reported by Janne
Johansson (occasionally known as jj@) on some Micron SSD's that passed
through his hands.
Doesn't break my nvme SSD's, nor jca@'s.
ok deraadt@
|
|
immediately before initializing the only field in the struct.
|
|
"Bump nvme(4) max physio() i/o size to 128K"
|
|
The coverity-related diff breaks sparc64's ability to read the disk.
ok deraadt
|
|
|
|
12. PAGE_SHIFT is 12 (a.k.a. PAGE_SIZE == 4096) or more on OpenBSD
architectures. So remove some dead code by unconditionally setting
sc_mps (memory page size) to 1 << PAGE_SHIFT.
CID 1491655.
No functional change.
|
|
different things in the NVMe world. Only the latter is currently
implemented in nvme(4) so rename sc_max_sgl to sc_max_prpl to reflect
this.
No functional change.
|
|
No functional change.
|
|
and ffs(16)-1 with the constant results (i.e. 6 and 4). Add comments
to clarify use of these constants. Net result, one less invocation of
ffs(), softc smaller by one u_int, and less potential confusion over
'mps'.
No functional change.
|
|
Nuke the latter and use the former to get the same value.
|
|
|
|
work with nvme.
ok jmatthew
|
|
'minphys()'. Just use & check for NULL instead, since 'minphys()' is
always called on the code path ([cd|sd|st]minphys) that calls
physio().
|
|
in drivers. Terse one liners, NULLs instead of 0's, explicitly specify
all members, etc.
Nuke #ifdef notyet blocks related to the scsi_adapter in aic.
No intentional functional change.
ok tedu@
|
|
from nvme(4) on sparc64 as the OBP device paths contain namespace identifiers
that we end up matching to targets when trying to find the device we booted
from. Also results in (slightly) cleaner code and less confusion as the
numbers now match instead of being off-by-one.
ok dlg@
|
|
ok deraadt mpi
|
|
ok dlg
|
|
ok mikeb@
|
|
|
|
only active during hibernation, preallocating the the submission and completion
queues during attach as they need to be page-aligned.
tested on an x270 that successfully hibernates now.
ok dlg@
|
|
NVM_ADMIN_DEL_IOCQ does not need prp1 (just as NVM_ADMIN_DEL_IOSQ).
Remove what is likely a cut'n'paste error from the *_ADD_* code.
tested by claudio@
ok jmatthew@
|