mod adi_memory_interface;
pub mod romtable;
pub(crate) use adi_memory_interface::ADIMemoryInterface;
use crate::{CoreStatus, memory::MemoryInterface, probe::DebugProbeError};
use super::{ArmDebugInterface, ArmError, FullyQualifiedApAddress};
pub use romtable::{Component, ComponentId, CoresightComponent, PeripheralType, RomTable};
pub trait ArmMemoryInterface: MemoryInterface<ArmError> {
fn fully_qualified_address(&self) -> FullyQualifiedApAddress;
fn base_address(&mut self) -> Result<u64, ArmError>;
fn get_arm_debug_interface(&mut self) -> Result<&mut dyn ArmDebugInterface, DebugProbeError>;
fn generic_status(&mut self) -> Result<crate::architecture::arm::ap::CSW, ArmError>;
fn update_core_status(&mut self, _state: CoreStatus) {}
}