pub struct MainIdRegister(/* private fields */);Expand description
The layout of MIDR_EL1.
Implementations§
Source§impl MainIdRegister
impl MainIdRegister
Sourcepub const RSVD1_MASK: u64
pub const RSVD1_MASK: u64
Mask of all reserved-as-1 bits.
Sourcepub const RSVD0_MASK: u64
pub const RSVD0_MASK: u64
Mask of all reserved-as-0 bits.
Sourcepub const DEFAULT: u64
pub const DEFAULT: u64
The default value of the layout, combining all field defaults and reserved-as values.
Sourcepub const IMPLEMENTER_MASK: u64
pub const IMPLEMENTER_MASK: u64
Unshifted bitmask of implementer.
Sourcepub const IMPLEMENTER_SHIFT: usize = 24
pub const IMPLEMENTER_SHIFT: usize = 24
Bit shift (i.e., the low bit) of implementer.
Sourcepub const VARIANT_MASK: u64
pub const VARIANT_MASK: u64
Unshifted bitmask of variant.
Sourcepub const VARIANT_SHIFT: usize = 20
pub const VARIANT_SHIFT: usize = 20
Bit shift (i.e., the low bit) of variant.
Sourcepub const ARCHITECTURE_MASK: u64
pub const ARCHITECTURE_MASK: u64
Unshifted bitmask of architecture.
Sourcepub const ARCHITECTURE_SHIFT: usize = 16
pub const ARCHITECTURE_SHIFT: usize = 16
Bit shift (i.e., the low bit) of architecture.
Sourcepub const PART_NUM_MASK: u64
pub const PART_NUM_MASK: u64
Unshifted bitmask of part_num.
Sourcepub const PART_NUM_SHIFT: usize = 4
pub const PART_NUM_SHIFT: usize = 4
Bit shift (i.e., the low bit) of part_num.
Sourcepub const REVISION_MASK: u64
pub const REVISION_MASK: u64
Unshifted bitmask of revision.
Sourcepub const REVISION_SHIFT: usize = 0
pub const REVISION_SHIFT: usize = 0
Bit shift (i.e., the low bit) of revision.
Sourcepub const FIELDS: [FieldMetadata<u64>; 5]
pub const FIELDS: [FieldMetadata<u64>; 5]
Metadata of all named fields in the layout.
Sourcepub const fn new() -> Self
pub const fn new() -> Self
Creates a new instance with reserved-as-1 bits set and
all other bits zeroed (i.e., with a value of
Self::RSVD1_MASK).
pub const fn bits(self) -> u64
Sourcepub const fn implementer(&self) -> u8
pub const fn implementer(&self) -> u8
The value of MainIdRegister[31:24].
Sourcepub const fn set_implementer(&mut self, value: u8) -> &mut Self
pub const fn set_implementer(&mut self, value: u8) -> &mut Self
Sets the value of MainIdRegister[31:24].
Sourcepub const fn set_variant(&mut self, value: u8) -> &mut Self
pub const fn set_variant(&mut self, value: u8) -> &mut Self
Sets the value of MainIdRegister[23:20].
Sourcepub const fn architecture(&self) -> u8
pub const fn architecture(&self) -> u8
The value of MainIdRegister[19:16].
Sourcepub const fn set_architecture(&mut self, value: u8) -> &mut Self
pub const fn set_architecture(&mut self, value: u8) -> &mut Self
Sets the value of MainIdRegister[19:16].
Sourcepub const fn set_part_num(&mut self, value: u16) -> &mut Self
pub const fn set_part_num(&mut self, value: u16) -> &mut Self
Sets the value of MainIdRegister[15:4].
Sourcepub const fn set_revision(&mut self, value: u8) -> &mut Self
pub const fn set_revision(&mut self, value: u8) -> &mut Self
Sets the value of MainIdRegister[3:0].
Trait Implementations§
Source§impl Binary for MainIdRegister
impl Binary for MainIdRegister
Source§impl Clone for MainIdRegister
impl Clone for MainIdRegister
impl Copy for MainIdRegister
Source§impl Debug for MainIdRegister
impl Debug for MainIdRegister
Source§impl Default for MainIdRegister
impl Default for MainIdRegister
Source§fn default() -> Self
fn default() -> Self
Returns an instance with the default bits set (i.e,. with a
value of Self::DEFAULT.
impl Eq for MainIdRegister
Source§impl From<MainIdRegister> for u64
impl From<MainIdRegister> for u64
Source§fn from(value: MainIdRegister) -> Self
fn from(value: MainIdRegister) -> Self
Source§impl From<u64> for MainIdRegister
impl From<u64> for MainIdRegister
Source§impl IntoIterator for MainIdRegister
impl IntoIterator for MainIdRegister
Source§impl<'a> IntoIterator for &'a MainIdRegister
impl<'a> IntoIterator for &'a MainIdRegister
Source§impl LowerHex for MainIdRegister
impl LowerHex for MainIdRegister
Source§impl Octal for MainIdRegister
impl Octal for MainIdRegister
Source§impl PartialEq for MainIdRegister
impl PartialEq for MainIdRegister
impl StructuralPartialEq for MainIdRegister
Auto Trait Implementations§
impl Freeze for MainIdRegister
impl RefUnwindSafe for MainIdRegister
impl Send for MainIdRegister
impl Sync for MainIdRegister
impl Unpin for MainIdRegister
impl UnsafeUnpin for MainIdRegister
impl UnwindSafe for MainIdRegister
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DTwhere
ST: ?Sized,
DT: ?Sized,
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DTwhere
ST: ?Sized,
DT: ?Sized,
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)