diff options
Diffstat (limited to 'src/mem.rs')
| -rw-r--r-- | src/mem.rs | 80 |
1 files changed, 32 insertions, 48 deletions
@@ -49,7 +49,7 @@ impl MemConfig { addr, })?; - interface.read_dword(addr) + interface.read_dword(addr).map_err(|e| e.with_addr(addr)) } } pub fn read_word(&self, addr: u64) -> Result<u32, MemoryException> { @@ -67,7 +67,7 @@ impl MemConfig { addr, })?; - interface.read_word(addr) + interface.read_word(addr).map_err(|e| e.with_addr(addr)) } } pub fn read_hword(&self, addr: u64) -> Result<u16, MemoryException> { @@ -84,7 +84,7 @@ impl MemConfig { type_: MemoryExceptionType::AccessFault, addr, })?; - interface.read_hword(addr) + interface.read_hword(addr).map_err(|e| e.with_addr(addr)) } } pub fn read_byte(&self, addr: u64) -> Result<u8, MemoryException> { @@ -95,7 +95,7 @@ impl MemConfig { type_: MemoryExceptionType::AccessFault, addr, })?; - interface.read_byte(addr) + interface.read_byte(addr).map_err(|e| e.with_addr(addr)) } } @@ -113,7 +113,9 @@ impl MemConfig { type_: MemoryExceptionType::AccessFault, addr, })?; - interface.write_dword(addr, value) + interface + .write_dword(addr, value) + .map_err(|e| e.with_addr(addr)) } } pub fn write_word(&self, addr: u64, value: u32) -> Result<(), MemoryException> { @@ -130,7 +132,9 @@ impl MemConfig { type_: MemoryExceptionType::AccessFault, addr, })?; - interface.write_word(addr, value) + interface + .write_word(addr, value) + .map_err(|e| e.with_addr(addr)) } } pub fn write_hword(&self, addr: u64, value: u16) -> Result<(), MemoryException> { @@ -147,7 +151,9 @@ impl MemConfig { type_: MemoryExceptionType::AccessFault, addr, })?; - interface.write_hword(addr, value) + interface + .write_hword(addr, value) + .map_err(|e| e.with_addr(addr)) } } pub fn write_byte(&self, addr: u64, value: u8) -> Result<(), MemoryException> { @@ -158,7 +164,9 @@ impl MemConfig { type_: MemoryExceptionType::AccessFault, addr, })?; - interface.write_byte(addr, value) + interface + .write_byte(addr, value) + .map_err(|e| e.with_addr(addr)) } } @@ -531,53 +539,29 @@ impl Default for MmioSecondLevel { #[allow(unused_variables)] pub trait MemDeviceInterface { - fn write_dword(&self, addr: u64, value: u64) -> Result<(), MemoryException> { - Err(MemoryException { - type_: MemoryExceptionType::AccessFault, - addr, - }) + fn write_dword(&self, addr: u64, value: u64) -> Result<(), MemoryExceptionType> { + Err(MemoryExceptionType::AccessFault) } - fn write_word(&self, addr: u64, value: u32) -> Result<(), MemoryException> { - Err(MemoryException { - type_: MemoryExceptionType::AccessFault, - addr, - }) + fn write_word(&self, addr: u64, value: u32) -> Result<(), MemoryExceptionType> { + Err(MemoryExceptionType::AccessFault) } - fn write_hword(&self, addr: u64, value: u16) -> Result<(), MemoryException> { - Err(MemoryException { - type_: MemoryExceptionType::AccessFault, - addr, - }) + fn write_hword(&self, addr: u64, value: u16) -> Result<(), MemoryExceptionType> { + Err(MemoryExceptionType::AccessFault) } - fn write_byte(&self, addr: u64, value: u8) -> Result<(), MemoryException> { - Err(MemoryException { - type_: MemoryExceptionType::AccessFault, - addr, - }) + fn write_byte(&self, addr: u64, value: u8) -> Result<(), MemoryExceptionType> { + Err(MemoryExceptionType::AccessFault) } - fn read_dword(&self, addr: u64) -> Result<u64, MemoryException> { - Err(MemoryException { - type_: MemoryExceptionType::AccessFault, - addr, - }) + fn read_dword(&self, addr: u64) -> Result<u64, MemoryExceptionType> { + Err(MemoryExceptionType::AccessFault) } - fn read_word(&self, addr: u64) -> Result<u32, MemoryException> { - Err(MemoryException { - type_: MemoryExceptionType::AccessFault, - addr, - }) + fn read_word(&self, addr: u64) -> Result<u32, MemoryExceptionType> { + Err(MemoryExceptionType::AccessFault) } - fn read_hword(&self, addr: u64) -> Result<u16, MemoryException> { - Err(MemoryException { - type_: MemoryExceptionType::AccessFault, - addr, - }) + fn read_hword(&self, addr: u64) -> Result<u16, MemoryExceptionType> { + Err(MemoryExceptionType::AccessFault) } - fn read_byte(&self, addr: u64) -> Result<u8, MemoryException> { - Err(MemoryException { - type_: MemoryExceptionType::AccessFault, - addr, - }) + fn read_byte(&self, addr: u64) -> Result<u8, MemoryExceptionType> { + Err(MemoryExceptionType::AccessFault) } } |
