From 21a8479ce99f54012150cc948ed7e5bb066c61e0 Mon Sep 17 00:00:00 2001 From: taitep Date: Wed, 31 Dec 2025 13:16:32 +0100 Subject: Make MMIO devices not have control of the address of exceptions --- src/basic_uart.rs | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) (limited to 'src/basic_uart.rs') diff --git a/src/basic_uart.rs b/src/basic_uart.rs index 8317950..0e209ba 100644 --- a/src/basic_uart.rs +++ b/src/basic_uart.rs @@ -13,7 +13,7 @@ use std::time::Duration; use nix::fcntl::fcntl; use nix::fcntl::{FcntlArg, OFlag}; -use trve::exceptions::{MemoryException, MemoryExceptionType}; +use trve::exceptions::MemoryExceptionType; use trve::mem::MemDeviceInterface; /// byte 0: rx/tx @@ -77,26 +77,20 @@ impl BasicUart { } impl MemDeviceInterface for BasicUart { - fn write_byte(&self, addr: u64, value: u8) -> Result<(), MemoryException> { + fn write_byte(&self, addr: u64, value: u8) -> Result<(), MemoryExceptionType> { match addr { 0 => { self.write(value); Ok(()) } - _ => Err(MemoryException { - type_: MemoryExceptionType::AccessFault, - addr, - }), + _ => Err(MemoryExceptionType::AccessFault), } } - fn read_byte(&self, addr: u64) -> Result { + fn read_byte(&self, addr: u64) -> Result { match addr { 0 => Ok(self.read()), 1 => Ok(1 | (self.can_read() as u8) << 1), - _ => Err(MemoryException { - type_: MemoryExceptionType::AccessFault, - addr, - }), + _ => Err(MemoryExceptionType::AccessFault), } } } -- cgit v1.2.3