diff --git a/services/usb-device-xous/src/block_device.rs b/services/usb-device-xous/src/block_device.rs new file mode 100644 index 000000000..6473e4932 --- /dev/null +++ b/services/usb-device-xous/src/block_device.rs @@ -0,0 +1,17 @@ +pub struct BlockDevice{} + +impl usbd_scsi::BlockDevice for BlockDevice { + const BLOCK_BYTES: usize = 512; + + fn read_block(&self, lba: u32, block: &mut [u8]) -> Result<(), usbd_scsi::BlockDeviceError> { + Err(usbd_scsi::BlockDeviceError::HardwareError) + } + + fn write_block(&mut self, lba: u32, block: &[u8]) -> Result<(), usbd_scsi::BlockDeviceError> { + Err(usbd_scsi::BlockDeviceError::WriteError) + } + + fn max_lba(&self) -> u32 { + 512 + } +} \ No newline at end of file diff --git a/services/usb-device-xous/src/main.rs b/services/usb-device-xous/src/main.rs index b43ade7d6..d37dfc436 100644 --- a/services/usb-device-xous/src/main.rs +++ b/services/usb-device-xous/src/main.rs @@ -20,6 +20,8 @@ mod spinal_udc; use packed_struct::PackedStructSlice; #[cfg(any(feature="precursor", feature="renode"))] use spinal_udc::*; +#[cfg(any(feature="precursor", feature="renode"))] +mod block_device; #[cfg(not(target_os = "xous"))] mod hosted;