Struct simics_api_sys::bindings::smm_reg_state_t
source · #[repr(C)]pub struct smm_reg_state_t {Show 44 fields
pub gpr: [uint64; 16],
pub seg_sel: [uint16; 6],
pub tr_sel: uint16,
pub ldtr_sel: uint16,
pub seg_base: [uint64; 6],
pub tr_base: uint64,
pub ldtr_base: uint64,
pub seg_attr: [uint32; 6],
pub tr_attr: uint32,
pub ldtr_attr: uint32,
pub seg_limit: [uint32; 6],
pub tr_limit: uint32,
pub ldtr_limit: uint32,
pub cr0: uint64,
pub cr2: uint64,
pub cr3: uint64,
pub cr4: uint64,
pub cr8: uint64,
pub ia32_efer: uint64,
pub rip: uint64,
pub rflags: uint64,
pub dr: [uint64; 4],
pub dr6: uint64,
pub dr7: uint64,
pub smbase: uint32,
pub idtr_limit: uint16,
pub gdtr_limit: uint16,
pub idtr_base: uint64,
pub gdtr_base: uint64,
pub activity_hlt: bool,
pub io_instr_restart: bool,
pub block_nmi: bool,
pub vmx_mode: uint8,
pub ept_is_on: bool,
pub reserved: [bool; 3],
pub io_rip: uint64,
pub io_lin_addr: uint64,
pub io_instr_info: uint32,
pub reserved2: uint32,
pub bndcfgs: uint64,
pub eptp: uint64,
pub pdpte: [uint64; 4],
pub ssp: uint64,
pub reserved3: [uint64; 6],
}
Expand description
Attribute format: type bit 0..3 s bit 4 dpl bit 5..6 p bit 7 avl bit 12 l bit 13 db bit 14 g bit 15 invalid bit 16
Fields§
§gpr: [uint64; 16]
§seg_sel: [uint16; 6]
§tr_sel: uint16
§ldtr_sel: uint16
§seg_base: [uint64; 6]
§tr_base: uint64
§ldtr_base: uint64
§seg_attr: [uint32; 6]
§tr_attr: uint32
§ldtr_attr: uint32
§seg_limit: [uint32; 6]
§tr_limit: uint32
§ldtr_limit: uint32
§cr0: uint64
§cr2: uint64
§cr3: uint64
§cr4: uint64
§cr8: uint64
§ia32_efer: uint64
§rip: uint64
§rflags: uint64
§dr: [uint64; 4]
§dr6: uint64
§dr7: uint64
§smbase: uint32
§idtr_limit: uint16
§gdtr_limit: uint16
§idtr_base: uint64
§gdtr_base: uint64
§activity_hlt: bool
§io_instr_restart: bool
§block_nmi: bool
§vmx_mode: uint8
§ept_is_on: bool
§reserved: [bool; 3]
§io_rip: uint64
§io_lin_addr: uint64
§io_instr_info: uint32
§reserved2: uint32
§bndcfgs: uint64
MPX state
eptp: uint64
valid only if EPT is on
pdpte: [uint64; 4]
§ssp: uint64
§reserved3: [uint64; 6]
Trait Implementations§
source§impl Clone for smm_reg_state_t
impl Clone for smm_reg_state_t
source§fn clone(&self) -> smm_reg_state_t
fn clone(&self) -> smm_reg_state_t
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for smm_reg_state_t
impl Debug for smm_reg_state_t
source§impl Default for smm_reg_state_t
impl Default for smm_reg_state_t
source§fn default() -> smm_reg_state_t
fn default() -> smm_reg_state_t
Returns the “default value” for a type. Read more
source§impl Hash for smm_reg_state_t
impl Hash for smm_reg_state_t
source§impl Ord for smm_reg_state_t
impl Ord for smm_reg_state_t
source§fn cmp(&self, other: &smm_reg_state_t) -> Ordering
fn cmp(&self, other: &smm_reg_state_t) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl PartialEq for smm_reg_state_t
impl PartialEq for smm_reg_state_t
source§impl PartialOrd for smm_reg_state_t
impl PartialOrd for smm_reg_state_t
impl Copy for smm_reg_state_t
impl Eq for smm_reg_state_t
impl StructuralPartialEq for smm_reg_state_t
Auto Trait Implementations§
impl Freeze for smm_reg_state_t
impl RefUnwindSafe for smm_reg_state_t
impl Send for smm_reg_state_t
impl Sync for smm_reg_state_t
impl Unpin for smm_reg_state_t
impl UnwindSafe for smm_reg_state_t
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
)