spimonitor: prefix bare Monitor* names with SpiMonitor Disambiguate the SPI monitor API from an upcoming BootMonitor subsystem so the two never collide. Rename in the spimonitor crate: Monitor (trait) -> SpiMonitorControl MonitorInstance -> SpiMonitorId (avoids clash with scu::SpiMonitorInstance) MonitorStatus -> SpiMonitorStatus MonitorState -> SpiMonitorState MonitorPolicy -> SpiMonitorPolicy The SpimWiringError::Monitor and SpiMonitorError::MonitorNotFound enum variants are left as-is; they are namespaced by their enum and cannot collide. Update the board impl accordingly. Assisted-by: Claude:claude-opus-4-8 Signed-off-by: Christina Quast <christina.quast@9elements.com>
diff --git a/target/ast10x0/board/src/spi_monitor.rs b/target/ast10x0/board/src/spi_monitor.rs index 62dfc72..c3aef11 100644 --- a/target/ast10x0/board/src/spi_monitor.rs +++ b/target/ast10x0/board/src/spi_monitor.rs
@@ -12,9 +12,9 @@ use ast10x0_peripherals::scu::registers::ScuRegisters; use ast10x0_peripherals::scu::types::{ScuExtMuxSelect, SpiMonitorInstance}; use ast10x0_peripherals::spimonitor::registers::SpiMonitorRegisters; -use ast10x0_peripherals::spimonitor::traits::Monitor; +use ast10x0_peripherals::spimonitor::traits::SpiMonitorControl; use ast10x0_peripherals::spimonitor::types::{ - BootError, BootResult, MonitorInstance, MonitorStatus, MuxSelect, PrivilegeDirection, + BootError, BootResult, SpiMonitorId, SpiMonitorStatus, MuxSelect, PrivilegeDirection, PrivilegeOp, }; @@ -29,9 +29,9 @@ /// ```ignore /// let mut board = Ast1060Board::init(); /// let mut monitor = board.monitor(); -/// monitor.set_mux(MonitorInstance::Spim0, MuxSelect::RotControl)?; +/// monitor.set_mux(SpiMonitorId::Spim0, MuxSelect::RotControl)?; /// monitor.set_address_privilege(/*...*/)?; -/// monitor.lock_policy(MonitorInstance::Spim0)?; +/// monitor.lock_policy(SpiMonitorId::Spim0)?; /// ``` pub struct Ast1060SpiMonitor<'a> { scu: &'a mut ScuRegisters, @@ -59,33 +59,33 @@ /// Get the register accessor for the specified monitor instance. #[inline] - fn regs(&self, instance: MonitorInstance) -> &SpiMonitorRegisters { + fn regs(&self, instance: SpiMonitorId) -> &SpiMonitorRegisters { match instance { - MonitorInstance::Spim0 => &self.spipf[0], - MonitorInstance::Spim1 => &self.spipf[1], - MonitorInstance::Spim2 => &self.spipf[2], - MonitorInstance::Spim3 => &self.spipf[3], + SpiMonitorId::Spim0 => &self.spipf[0], + SpiMonitorId::Spim1 => &self.spipf[1], + SpiMonitorId::Spim2 => &self.spipf[2], + SpiMonitorId::Spim3 => &self.spipf[3], } } /// Get mutable reference to register accessor (for write operations). #[inline] - fn regs_mut(&mut self, instance: MonitorInstance) -> &mut SpiMonitorRegisters { + fn regs_mut(&mut self, instance: SpiMonitorId) -> &mut SpiMonitorRegisters { match instance { - MonitorInstance::Spim0 => &mut self.spipf[0], - MonitorInstance::Spim1 => &mut self.spipf[1], - MonitorInstance::Spim2 => &mut self.spipf[2], - MonitorInstance::Spim3 => &mut self.spipf[3], + SpiMonitorId::Spim0 => &mut self.spipf[0], + SpiMonitorId::Spim1 => &mut self.spipf[1], + SpiMonitorId::Spim2 => &mut self.spipf[2], + SpiMonitorId::Spim3 => &mut self.spipf[3], } } - /// Map MonitorInstance to SCU SpiMonitorInstance for routing operations. - fn instance_to_scu(instance: MonitorInstance) -> SpiMonitorInstance { + /// Map SpiMonitorId to SCU SpiMonitorInstance for routing operations. + fn instance_to_scu(instance: SpiMonitorId) -> SpiMonitorInstance { match instance { - MonitorInstance::Spim0 => SpiMonitorInstance::Spim0, - MonitorInstance::Spim1 => SpiMonitorInstance::Spim1, - MonitorInstance::Spim2 => SpiMonitorInstance::Spim2, - MonitorInstance::Spim3 => SpiMonitorInstance::Spim3, + SpiMonitorId::Spim0 => SpiMonitorInstance::Spim0, + SpiMonitorId::Spim1 => SpiMonitorInstance::Spim1, + SpiMonitorId::Spim2 => SpiMonitorInstance::Spim2, + SpiMonitorId::Spim3 => SpiMonitorInstance::Spim3, } } @@ -125,8 +125,8 @@ } } -impl<'a> Monitor for Ast1060SpiMonitor<'a> { - fn set_mux(&mut self, instance: MonitorInstance, mux: MuxSelect) -> BootResult<()> { +impl<'a> SpiMonitorControl for Ast1060SpiMonitor<'a> { + fn set_mux(&mut self, instance: SpiMonitorId, mux: MuxSelect) -> BootResult<()> { // External mux selection is controlled via SCU0F0 register. // Delegate to SCU routing layer which has the actual register access. let scu_instance = Self::instance_to_scu(instance); @@ -135,14 +135,14 @@ Ok(()) } - fn read_mux(&self, instance: MonitorInstance) -> BootResult<MuxSelect> { + fn read_mux(&self, instance: SpiMonitorId) -> BootResult<MuxSelect> { // Read from SCU0F0 register via SCU routing layer. let scu_instance = Self::instance_to_scu(instance); let scu_mux = self.scu.get_spim_ext_mux(scu_instance); Ok(Self::scu_to_mux(scu_mux)) } - fn soft_reset(&mut self, instance: MonitorInstance) -> BootResult<()> { + fn soft_reset(&mut self, instance: SpiMonitorId) -> BootResult<()> { let regs = self.regs_mut(instance); // Soft reset clears status/logs but preserves policy. // NON-BLOCKING TODO 1: Verify soft reset bit position from AST10x0 datasheet. @@ -157,7 +157,7 @@ Ok(()) } - fn hardware_reset(&mut self, instance: MonitorInstance) -> BootResult<()> { + fn hardware_reset(&mut self, instance: SpiMonitorId) -> BootResult<()> { let regs = self.regs_mut(instance); // Full hardware reset of all state (SPIPF and related SCU registers). // NON-BLOCKING TODO 1: Verify hardware reset bit and sequence from AST10x0 datasheet. @@ -173,7 +173,7 @@ fn set_address_privilege( &mut self, - instance: MonitorInstance, + instance: SpiMonitorId, start_addr: u32, end_addr: u32, _direction: PrivilegeDirection, @@ -200,14 +200,14 @@ Ok(()) } - fn read_region_count(&self, _instance: MonitorInstance) -> BootResult<u32> { + fn read_region_count(&self, _instance: SpiMonitorId) -> BootResult<u32> { // Region count is tracked in memory (following aspeed-rust pattern). // aspeed-rust stores read_blocked_region_num and write_blocked_region_num as struct fields. // We return the read-blocked region count for now; write-blocked can be exposed via separate method if needed. Ok(self.read_blocked_region_count as u32) } - fn read_status(&self, instance: MonitorInstance) -> BootResult<MonitorStatus> { + fn read_status(&self, instance: SpiMonitorId) -> BootResult<SpiMonitorStatus> { let regs = self.regs(instance); let ctrl = regs.read_ctrl(); let lock_status = regs.read_lock_status(); @@ -217,7 +217,7 @@ let scu_mux = self.scu.get_spim_ext_mux(scu_instance); let mux = Self::scu_to_mux(scu_mux); - Ok(MonitorStatus { + Ok(SpiMonitorStatus { mux, policy_locked: Self::is_policy_locked(lock_status), enforcement_active: Self::is_enforcement_active(ctrl), @@ -232,7 +232,7 @@ true } - fn lock_policy(&mut self, instance: MonitorInstance) -> BootResult<()> { + fn lock_policy(&mut self, instance: SpiMonitorId) -> BootResult<()> { if !self.supports_policy_lock() { return Err(BootError::LockedOutFromMonitor); } @@ -246,7 +246,7 @@ Ok(()) } - fn verify_policy_locked(&self, instance: MonitorInstance) -> BootResult<()> { + fn verify_policy_locked(&self, instance: SpiMonitorId) -> BootResult<()> { if !self.supports_policy_lock() { return Ok(()); }
diff --git a/target/ast10x0/board/src/spim_wiring.rs b/target/ast10x0/board/src/spim_wiring.rs index 5ad4586..051c860 100644 --- a/target/ast10x0/board/src/spim_wiring.rs +++ b/target/ast10x0/board/src/spim_wiring.rs
@@ -21,8 +21,8 @@ }; use ast10x0_peripherals::smc::SmcController; use ast10x0_peripherals::spimonitor::{ - LockedSpiMonitor, MonitorPolicy, PassthroughMode, SpiMonitor, SpiMonitorController, - SpiMonitorError, Uninitialized, + LockedSpiMonitor, PassthroughMode, SpiMonitor, SpiMonitorController, SpiMonitorError, + SpiMonitorPolicy, Uninitialized, }; /// Static wiring for one external SPI monitor path. @@ -355,7 +355,7 @@ /// /// Order: validate → pinctrl → SCU route → passthrough → ext-mux → /// MISO multi-func → SPIPF policy → SPIPF lock. The lock is one-way; an empty -/// `MonitorPolicy::empty()` combined with lock will brick the SPI bus until +/// `SpiMonitorPolicy::empty()` combined with lock will brick the SPI bus until /// reset, so callers should pass a vetted preset (see [`presets`]). /// /// # Safety @@ -365,7 +365,7 @@ scu: &ScuRegisters, controller_id: SmcController, wiring: SpimWiring, - policy: &MonitorPolicy, + policy: &SpiMonitorPolicy, ) -> Result<LockedSpiMonitor, SpimWiringError> { unsafe { apply_spim_wiring_with_log(scu, controller_id, wiring, policy, None) } } @@ -380,7 +380,7 @@ scu: &ScuRegisters, controller_id: SmcController, wiring: SpimWiring, - policy: &MonitorPolicy, + policy: &SpiMonitorPolicy, log_buffer: Option<&'static mut [u32]>, ) -> Result<LockedSpiMonitor, SpimWiringError> { validate_controller_for_source(controller_id, wiring.source)?; @@ -431,10 +431,10 @@ } } -/// Built-in `MonitorPolicy` presets vetted against the BMC's flash opcode set. +/// Built-in `SpiMonitorPolicy` presets vetted against the BMC's flash opcode set. pub mod presets { use ast10x0_peripherals::spimonitor::{ - profile, MonitorPolicy, PrivilegeDirection, PrivilegeOp, + profile, PrivilegeDirection, PrivilegeOp, SpiMonitorPolicy, }; /// Allow-list for the BMC's normal flash opcodes covering both 3-byte and @@ -448,8 +448,8 @@ /// `RDSR` (`0x05`), `WREN` (`0x06`), `WRDI` (`0x04`), /// `RDID` (`0x9F`), `RSTEN` (`0x66`), `RST` (`0x99`). #[must_use] - pub const fn bmc_default_policy() -> MonitorPolicy { - let mut p = MonitorPolicy::empty(); + pub const fn bmc_default_policy() -> SpiMonitorPolicy { + let mut p = SpiMonitorPolicy::empty(); p.allow_commands[0] = 0x03; // READ p.allow_commands[1] = 0x0B; // FAST_READ p.allow_commands[2] = 0x0C; // FAST_READ_4B @@ -470,7 +470,7 @@ /// Policy matching the supplied Zephyr SPIM nodes: full command list and /// write protection over flash addresses `0x0000_0000..0x0800_0000`. #[must_use] - pub fn zephyr_spim_policy() -> MonitorPolicy { + pub fn zephyr_spim_policy() -> SpiMonitorPolicy { let mut policy = profile::zephyr_default(); let _ = policy.add_region( 0,
diff --git a/target/ast10x0/peripherals/spimonitor/controller.rs b/target/ast10x0/peripherals/spimonitor/controller.rs index 252f8f3..5f6a061 100644 --- a/target/ast10x0/peripherals/spimonitor/controller.rs +++ b/target/ast10x0/peripherals/spimonitor/controller.rs
@@ -8,11 +8,11 @@ use crate::scu::registers::ScuRegisters; use crate::scu::types::{ScuExtMuxSelect, SpiMonitorInstance}; use crate::spimonitor::commands::{fixed_slot, table_value, LOCKED as COMMAND_LOCKED}; -use crate::spimonitor::policy::{MonitorPolicy, MAX_REGION_SLOTS}; +use crate::spimonitor::policy::{SpiMonitorPolicy, MAX_REGION_SLOTS}; use crate::spimonitor::registers::{SpiMonitorController, SpiMonitorRegisters}; use crate::spimonitor::types::{ - ExtMuxSel, LockState, MonitorState, PassthroughMode, PrivilegeDirection, PrivilegeOp, Result, - SpiMonitorError, ViolationLogEntry, + ExtMuxSel, LockState, PassthroughMode, PrivilegeDirection, PrivilegeOp, Result, + SpiMonitorError, SpiMonitorState, ViolationLogEntry, }; /// Typestate: monitor is created but policy is not yet applied. @@ -61,7 +61,7 @@ /// Returns `Err(InvalidSlot)` if `allow_command_count` exceeds the command /// table length. Returns `Err(InvalidRegion)` if `region_count` exceeds /// `MAX_REGION_SLOTS`. - pub fn apply_policy(self, policy: &MonitorPolicy) -> Result<SpiMonitor<Configured>> { + pub fn apply_policy(self, policy: &SpiMonitorPolicy) -> Result<SpiMonitor<Configured>> { if policy.allow_command_count > policy.allow_commands.len() { return Err(SpiMonitorError::InvalidSlot); } @@ -158,8 +158,8 @@ } #[must_use] - pub const fn state(&self) -> MonitorState { - MonitorState::Uninitialized + pub const fn state(&self) -> SpiMonitorState { + SpiMonitorState::Uninitialized } /// Pulse the SPIPF software-reset bit for at least 5 microseconds. @@ -471,8 +471,8 @@ } #[must_use] - pub const fn state(&self) -> MonitorState { - MonitorState::Configured + pub const fn state(&self) -> SpiMonitorState { + SpiMonitorState::Configured } } @@ -527,8 +527,8 @@ } #[must_use] - pub const fn state(&self) -> MonitorState { - MonitorState::Locked + pub const fn state(&self) -> SpiMonitorState { + SpiMonitorState::Locked } }
diff --git a/target/ast10x0/peripherals/spimonitor/mod.rs b/target/ast10x0/peripherals/spimonitor/mod.rs index 4fb1175..bfb3d5f 100644 --- a/target/ast10x0/peripherals/spimonitor/mod.rs +++ b/target/ast10x0/peripherals/spimonitor/mod.rs
@@ -16,14 +16,14 @@ Configured, ConfiguredSpiMonitor, Locked, LockedSpiMonitor, SpiMonitor, UninitSpiMonitor, Uninitialized, }; -pub use policy::{MonitorPolicy, MAX_CMD_SLOTS, MAX_REGION_SLOTS}; +pub use policy::{SpiMonitorPolicy, MAX_CMD_SLOTS, MAX_REGION_SLOTS}; pub use registers::{ SpiMonitorController, SpiMonitorRegisters, SPIPF1_BASE, SPIPF2_BASE, SPIPF3_BASE, SPIPF4_BASE, SPIPF_REG_SIZE, }; -pub use traits::Monitor; +pub use traits::SpiMonitorControl; pub use types::{ - BootConfig, BootError, BootPhase, BootResult, ExtMuxSel, LockState, MonitorInstance, - MonitorState, MonitorStatus, MuxSelect, PassthroughMode, PrivilegeDirection, PrivilegeOp, + BootConfig, BootError, BootPhase, BootResult, ExtMuxSel, LockState, SpiMonitorId, + SpiMonitorState, SpiMonitorStatus, MuxSelect, PassthroughMode, PrivilegeDirection, PrivilegeOp, RegionPolicy, Result as SpiMonitorResult, SpiMonitorError, ViolationLogEntry, };
diff --git a/target/ast10x0/peripherals/spimonitor/policy.rs b/target/ast10x0/peripherals/spimonitor/policy.rs index fee1082..2d96906 100644 --- a/target/ast10x0/peripherals/spimonitor/policy.rs +++ b/target/ast10x0/peripherals/spimonitor/policy.rs
@@ -13,14 +13,14 @@ /// Policy payload applied to a monitor instance. #[derive(Clone, Debug)] -pub struct MonitorPolicy { +pub struct SpiMonitorPolicy { pub allow_commands: [u8; MAX_CMD_SLOTS], pub allow_command_count: usize, pub regions: [Option<RegionPolicy>; MAX_REGION_SLOTS], pub region_count: usize, } -impl MonitorPolicy { +impl SpiMonitorPolicy { #[must_use] pub const fn empty() -> Self { Self {
diff --git a/target/ast10x0/peripherals/spimonitor/profile.rs b/target/ast10x0/peripherals/spimonitor/profile.rs index e3f35e3..7463948 100644 --- a/target/ast10x0/peripherals/spimonitor/profile.rs +++ b/target/ast10x0/peripherals/spimonitor/profile.rs
@@ -4,15 +4,15 @@ //! Built-in SPI monitor policy profiles. //! //! Profiles provide command allow-lists only. Region entries are platform -//! policy and must be added by the caller via `MonitorPolicy::add_region` +//! policy and must be added by the caller via `SpiMonitorPolicy::add_region` //! using the PFM or provisioned manifest for the specific device. -use crate::spimonitor::policy::MonitorPolicy; +use crate::spimonitor::policy::SpiMonitorPolicy; /// Runtime profile: read-focused allow-list suitable for steady-state boot/runtime. #[must_use] -pub const fn runtime_read_only() -> MonitorPolicy { - let mut p = MonitorPolicy::empty(); +pub const fn runtime_read_only() -> SpiMonitorPolicy { + let mut p = SpiMonitorPolicy::empty(); p.allow_commands[0] = 0x03; // READ p.allow_commands[1] = 0x0B; // FAST_READ p.allow_commands[2] = 0x9F; // RDID @@ -22,7 +22,7 @@ /// Update profile: expands allow-list for controlled erase/program flows. #[must_use] -pub const fn firmware_update_window() -> MonitorPolicy { +pub const fn firmware_update_window() -> SpiMonitorPolicy { let mut p = runtime_read_only(); p.allow_commands[3] = 0x06; // WREN p.allow_commands[4] = 0x20; // SE @@ -33,8 +33,8 @@ /// Full command allow-list used by the AST1060 Zephyr device tree. #[must_use] -pub const fn zephyr_default() -> MonitorPolicy { - let mut p = MonitorPolicy::empty(); +pub const fn zephyr_default() -> SpiMonitorPolicy { + let mut p = SpiMonitorPolicy::empty(); p.allow_commands = [ 0x03, 0x13, 0x0b, 0x0c, 0x6b, 0x6c, 0x01, 0x05, 0x35, 0x06, 0x04, 0x20, 0x21, 0x9f, 0x5a, 0xb7, 0xe9, 0x32, 0x34, 0xd8, 0xdc, 0x02, 0x12, 0x3b, 0x3c, 0x70, 0xbb, 0xbc, 0x50, 0xeb,
diff --git a/target/ast10x0/peripherals/spimonitor/traits.rs b/target/ast10x0/peripherals/spimonitor/traits.rs index af455d6..a427740 100644 --- a/target/ast10x0/peripherals/spimonitor/traits.rs +++ b/target/ast10x0/peripherals/spimonitor/traits.rs
@@ -7,7 +7,7 @@ //! with SPI monitor hardware during platform initialization. use super::types::{ - BootError, BootResult, MonitorInstance, MonitorStatus, MuxSelect, PrivilegeDirection, + BootError, BootResult, SpiMonitorId, SpiMonitorStatus, MuxSelect, PrivilegeDirection, PrivilegeOp, }; @@ -16,18 +16,18 @@ /// Implementations of this trait provide register-level access to SPI monitor /// blocks via PAC or other register models. Boot code uses this trait to remain /// independent of the concrete register implementation. -pub trait Monitor { +pub trait SpiMonitorControl { /// Set monitor mux to ROT or Host control. - fn set_mux(&mut self, instance: MonitorInstance, mux: MuxSelect) -> BootResult<()>; + fn set_mux(&mut self, instance: SpiMonitorId, mux: MuxSelect) -> BootResult<()>; /// Read current mux setting. - fn read_mux(&self, instance: MonitorInstance) -> BootResult<MuxSelect>; + fn read_mux(&self, instance: SpiMonitorId) -> BootResult<MuxSelect>; /// Soft reset monitor (clears status/logs, preserves policy). - fn soft_reset(&mut self, instance: MonitorInstance) -> BootResult<()>; + fn soft_reset(&mut self, instance: SpiMonitorId) -> BootResult<()>; /// Hardware reset monitor (full reset of all state). - fn hardware_reset(&mut self, instance: MonitorInstance) -> BootResult<()>; + fn hardware_reset(&mut self, instance: SpiMonitorId) -> BootResult<()>; /// Configure an address privilege region. /// @@ -39,7 +39,7 @@ /// * `op` - Allow or Block access fn set_address_privilege( &mut self, - instance: MonitorInstance, + instance: SpiMonitorId, start_addr: u32, end_addr: u32, direction: PrivilegeDirection, @@ -47,10 +47,10 @@ ) -> BootResult<()>; /// Read number of configured address privilege regions. - fn read_region_count(&self, instance: MonitorInstance) -> BootResult<u32>; + fn read_region_count(&self, instance: SpiMonitorId) -> BootResult<u32>; /// Read monitor status snapshot. - fn read_status(&self, instance: MonitorInstance) -> BootResult<MonitorStatus>; + fn read_status(&self, instance: SpiMonitorId) -> BootResult<SpiMonitorStatus>; /// Check if policy write-lock is supported by this monitor. fn supports_policy_lock(&self) -> bool { @@ -60,7 +60,7 @@ /// Lock policy tables to prevent further modification. /// /// Returns error if not supported by hardware. - fn lock_policy(&mut self, _instance: MonitorInstance) -> BootResult<()> { + fn lock_policy(&mut self, _instance: SpiMonitorId) -> BootResult<()> { if !self.supports_policy_lock() { return Err(BootError::LockedOutFromMonitor); } @@ -70,7 +70,7 @@ /// Verify that policy is locked (if supported). /// /// No-op if policy lock is not supported. - fn verify_policy_locked(&self, instance: MonitorInstance) -> BootResult<()> { + fn verify_policy_locked(&self, instance: SpiMonitorId) -> BootResult<()> { if !self.supports_policy_lock() { return Ok(()); }
diff --git a/target/ast10x0/peripherals/spimonitor/types.rs b/target/ast10x0/peripherals/spimonitor/types.rs index 5c00cec..e66c9ea 100644 --- a/target/ast10x0/peripherals/spimonitor/types.rs +++ b/target/ast10x0/peripherals/spimonitor/types.rs
@@ -55,7 +55,7 @@ /// High-level monitor lifecycle stage. #[derive(Clone, Copy, Debug, Eq, PartialEq)] -pub enum MonitorState { +pub enum SpiMonitorState { Uninitialized, Configured, Locked, @@ -153,7 +153,7 @@ /// /// Maps to SPIPF1-4 hardware blocks on AST10x0. #[derive(Clone, Copy, Debug, Eq, PartialEq)] -pub enum MonitorInstance { +pub enum SpiMonitorId { /// SPIPF1 (0x7E79_1000) - typically BMC/SMC flash Spim0, /// SPIPF2 (0x7E79_2000) - typically BMC dual flash @@ -196,7 +196,7 @@ /// Monitor status snapshot at a point in time. #[derive(Clone, Copy, Debug, Eq, PartialEq)] -pub struct MonitorStatus { +pub struct SpiMonitorStatus { /// Current mux routing pub mux: MuxSelect, /// Whether policy tables are write-locked
diff --git a/target/ast10x0/tests/spimonitor/setup_all_spim.rs b/target/ast10x0/tests/spimonitor/setup_all_spim.rs index b6ba08c..2ca142a 100644 --- a/target/ast10x0/tests/spimonitor/setup_all_spim.rs +++ b/target/ast10x0/tests/spimonitor/setup_all_spim.rs
@@ -24,7 +24,7 @@ }; use ast10x0_peripherals::spimonitor::registers::SpiMonitorRegisters; use ast10x0_peripherals::spimonitor::{ - ConfiguredSpiMonitor, LockedSpiMonitor, MonitorPolicy, PrivilegeDirection, PrivilegeOp, + ConfiguredSpiMonitor, LockedSpiMonitor, SpiMonitorPolicy, PrivilegeDirection, PrivilegeOp, SpiMonitorController, ViolationLogEntry, }; use target_common::{declare_target, TargetInterface}; @@ -424,8 +424,8 @@ Ok(()) } -fn production_policy() -> MonitorPolicy { - let mut policy = MonitorPolicy::empty(); +fn production_policy() -> SpiMonitorPolicy { + let mut policy = SpiMonitorPolicy::empty(); policy.allow_commands.copy_from_slice(&ALLOW_COMMANDS); policy.allow_command_count = ALLOW_COMMANDS.len(); let _ = policy.add_region(
diff --git a/target/ast10x0/tests/spimonitor/test_common.rs b/target/ast10x0/tests/spimonitor/test_common.rs index 4b57a1c..a292249 100644 --- a/target/ast10x0/tests/spimonitor/test_common.rs +++ b/target/ast10x0/tests/spimonitor/test_common.rs
@@ -13,7 +13,7 @@ SpiMonitorSource, }; use ast10x0_peripherals::spimonitor::{ - ConfiguredSpiMonitor, LockState, MonitorPolicy, MonitorState, PassthroughMode, + ConfiguredSpiMonitor, LockState, SpiMonitorPolicy, SpiMonitorState, PassthroughMode, PrivilegeDirection, PrivilegeOp, SpiMonitor, SpiMonitorController, SpiMonitorError, Uninitialized, }; @@ -105,8 +105,8 @@ Ok(()) } -pub fn build_policy() -> MonitorPolicy { - let mut policy = MonitorPolicy::empty(); +pub fn build_policy() -> SpiMonitorPolicy { + let mut policy = SpiMonitorPolicy::empty(); policy.allow_commands[..9] .copy_from_slice(&[0x9f, 0x05, 0x06, 0x04, 0x02, 0x12, 0x20, 0x21, 0x0c]); policy.allow_command_count = 9; @@ -127,7 +127,7 @@ pub fn initialize_monitor_with_policy<C: TestConfig>( buffer: &'static mut [u32], - policy: &MonitorPolicy, + policy: &SpiMonitorPolicy, ) -> Result<ConfiguredSpiMonitor, TestError> { pw_log::info!("START: monitor reset, policy, and log RAM"); let monitor = unsafe { SpiMonitor::<Uninitialized>::new(C::CONTROLLER) }; @@ -139,7 +139,7 @@ let configured = monitor.apply_policy(policy)?; test_check!( - configured.state() == MonitorState::Configured, + configured.state() == SpiMonitorState::Configured, "FAIL: monitor did not enter configured state" );