class ScsiDevice

Defined at line 36 of file ../../src/devices/block/drivers/virtio/scsi.h

Public Methods

void ScsiDevice (ScsiDriver * scsi_driver, zx::bti bti, std::unique_ptr<Backend> backend)

Defined at line 44 of file ../../src/devices/block/drivers/virtio/scsi.h

void IrqConfigChange ()

Invoked on config change interrupts.

Defined at line 52 of file ../../src/devices/block/drivers/virtio/scsi.h

const char * tag ()

Defined at line 53 of file ../../src/devices/block/drivers/virtio/scsi.h

zx_status_t Init ()

virtio::Device overrides

Defined at line 493 of file ../../src/devices/block/drivers/virtio/scsi.cc

void IrqRingUpdate ()

Invoked for most device interrupts.

Defined at line 67 of file ../../src/devices/block/drivers/virtio/scsi.cc

void FillLUNStructure (struct virtio_scsi_req_cmd * req, uint8_t target, uint16_t lun)

Fill in req->lun with a single-level LUN structure representing target:lun.

Defined at line 35 of file ../../src/devices/block/drivers/virtio/scsi.cc

void QueueCommand (uint8_t target, uint16_t lun, iovec cdb, bool is_write, zx::unowned_vmo data_vmo, zx_off_t vmo_offset_bytes, size_t transfer_bytes, void (*)(void *, zx_status_t) cb, void * cookie, void * data, bool vmar_mapped, std::optional<zx::vmo> trim_data_vmo)

Defined at line 321 of file ../../src/devices/block/drivers/virtio/scsi.cc

zx::result<> AllocatePages (zx::vmo & vmo, fzl::VmoMapper & mapper, size_t size)

Defined at line 233 of file ../../src/devices/block/drivers/virtio/scsi.cc

zx_status_t ProbeLuns ()

Defined at line 455 of file ../../src/devices/block/drivers/virtio/scsi.cc

Enumerations

enum Queue
Name Value
CONTROL 0
EVENT 1
REQUEST 2

Defined at line 38 of file ../../src/devices/block/drivers/virtio/scsi.h