Struct simics_api_sys::bindings::map_info
source · #[repr(C)]pub struct map_info {
pub base: physical_address_t,
pub start: physical_address_t,
pub length: physical_address_t,
pub function: c_int,
pub priority: int16,
pub align_size: c_int,
pub reverse_endian: swap_mode_t,
}
Expand description
- base: The base address of the device mapping in the memory space.
- start: The address inside the device memory space where the mapping starts.
- length: The length of the mapped memory, in bytes.
- function: Used to map the same object several times with different functionality. Corresponds to the function argument used when mapping devices into a memory space.
- If the map target does not support large accesses, then align_size can be set to the maximum allowed size. Accesses spanning align boundaries will be split into several smaller transactions. The align size must be a power of two, or zero (which means "use the default value": 8 for devices and 8192 for memory).
- Mappings with an align size of 2, 4, or 8 may set the reverse_endian field to a non zero value. This can be used to model bridges that perform byte swapping on a specific bus width.
If both base and length are 0 the map will become a default_target.
Fields§
§base: physical_address_t
§start: physical_address_t
§length: physical_address_t
§function: c_int
§priority: int16
§align_size: c_int
§reverse_endian: swap_mode_t
Trait Implementations§
source§impl Ord for map_info
impl Ord for map_info
source§impl PartialOrd for map_info
impl PartialOrd for map_info
impl Copy for map_info
impl Eq for map_info
impl StructuralPartialEq for map_info
Auto Trait Implementations§
impl Freeze for map_info
impl RefUnwindSafe for map_info
impl Send for map_info
impl Sync for map_info
impl Unpin for map_info
impl UnwindSafe for map_info
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)