From 3300a1b87dec00579d29c134a605bd7652f884e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gianguido=20Sor=C3=A0?= Date: Wed, 4 Jan 2023 17:22:13 +0100 Subject: [PATCH] block_device: added empty implementation, will be needed once we figure out mass storage --- services/usb-device-xous/src/block_device.rs | 17 +++++++++++++++++ services/usb-device-xous/src/main.rs | 2 ++ 2 files changed, 19 insertions(+) create mode 100644 services/usb-device-xous/src/block_device.rs 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;