Enum atopology::MemoryType
source · [−]#[repr(C)]
pub enum MemoryType {
Show 15 variants
RESERVED,
LOADER_CODE,
LOADER_DATA,
BOOT_SERVICES_CODE,
BOOT_SERVICES_DATA,
RUNTIME_SERVICES_CODE,
RUNTIME_SERVICES_DATA,
CONVENTIONAL,
UNUSABLE,
ACPI_RECLAIM,
ACPI_NON_VOLATILE,
MMIO,
MMIO_PORT_SPACE,
PAL_CODE,
PERSISTENT_MEMORY,
}
Expand description
The type of a memory range.
UEFI allows firmwares and operating systems to introduce new memory types in the 0x70000000..0xFFFFFFFF range. Therefore, we don’t know the full set of memory types at compile time, and it is not safe to model this C enum as a Rust enum.
Variants
RESERVED
This enum variant is not used.
LOADER_CODE
The code portions of a loaded UEFI application.
LOADER_DATA
The data portions of a loaded UEFI applications, as well as any memory allocated by it.
BOOT_SERVICES_CODE
Code of the boot drivers.
Can be reused after OS is loaded.
BOOT_SERVICES_DATA
Memory used to store boot drivers’ data.
Can be reused after OS is loaded.
RUNTIME_SERVICES_CODE
Runtime drivers’ code.
RUNTIME_SERVICES_DATA
Runtime services’ code.
CONVENTIONAL
Free usable memory.
UNUSABLE
Memory in which errors have been detected.
ACPI_RECLAIM
Memory that holds ACPI tables. Can be reclaimed after they are parsed.
ACPI_NON_VOLATILE
Firmware-reserved addresses.
MMIO
A region used for memory-mapped I/O.
MMIO_PORT_SPACE
Address space used for memory-mapped port I/O.
PAL_CODE
Address space which is part of the processor.
PERSISTENT_MEMORY
Memory region which is usable and is also non-volatile.
Trait Implementations
sourceimpl Clone for MemoryType
impl Clone for MemoryType
sourcefn clone(&self) -> MemoryType
fn clone(&self) -> MemoryType
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for MemoryType
impl Debug for MemoryType
sourceimpl PartialEq<MemoryType> for MemoryType
impl PartialEq<MemoryType> for MemoryType
impl Copy for MemoryType
impl StructuralPartialEq for MemoryType
Auto Trait Implementations
impl RefUnwindSafe for MemoryType
impl Send for MemoryType
impl Sync for MemoryType
impl Unpin for MemoryType
impl UnwindSafe for MemoryType
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more