⚠️ VeridianOS Kernel Documentation - This is low-level kernel code. All functions are unsafe unless explicitly marked otherwise. no_std

VmcsFields

Struct VmcsFields 

Source
pub struct VmcsFields;

Implementations§

Source§

impl VmcsFields

Source

pub const GUEST_ES_SELECTOR: u32 = 2_048u32

Source

pub const GUEST_CS_SELECTOR: u32 = 2_050u32

Source

pub const GUEST_SS_SELECTOR: u32 = 2_052u32

Source

pub const GUEST_DS_SELECTOR: u32 = 2_054u32

Source

pub const GUEST_FS_SELECTOR: u32 = 2_056u32

Source

pub const GUEST_GS_SELECTOR: u32 = 2_058u32

Source

pub const GUEST_LDTR_SELECTOR: u32 = 2_060u32

Source

pub const GUEST_TR_SELECTOR: u32 = 2_062u32

Source

pub const HOST_ES_SELECTOR: u32 = 3_072u32

Source

pub const HOST_CS_SELECTOR: u32 = 3_074u32

Source

pub const HOST_SS_SELECTOR: u32 = 3_076u32

Source

pub const HOST_DS_SELECTOR: u32 = 3_078u32

Source

pub const HOST_FS_SELECTOR: u32 = 3_080u32

Source

pub const HOST_GS_SELECTOR: u32 = 3_082u32

Source

pub const HOST_TR_SELECTOR: u32 = 3_084u32

Source

pub const IO_BITMAP_A: u32 = 8_192u32

Source

pub const IO_BITMAP_B: u32 = 8_194u32

Source

pub const MSR_BITMAP: u32 = 8_196u32

Source

pub const EPT_POINTER: u32 = 8_218u32

Source

pub const GUEST_IA32_DEBUGCTL: u32 = 10_242u32

Source

pub const GUEST_IA32_PAT: u32 = 10_244u32

Source

pub const GUEST_IA32_EFER: u32 = 10_246u32

Source

pub const HOST_IA32_PAT: u32 = 11_264u32

Source

pub const HOST_IA32_EFER: u32 = 11_266u32

Source

pub const PIN_BASED_VM_EXEC_CONTROLS: u32 = 16_384u32

Source

pub const PRIMARY_PROC_BASED_VM_EXEC_CONTROLS: u32 = 16_386u32

Source

pub const EXCEPTION_BITMAP: u32 = 16_388u32

Source

pub const VM_EXIT_CONTROLS: u32 = 16_400u32

Source

pub const VM_EXIT_MSR_STORE_COUNT: u32 = 16_398u32

Source

pub const VM_EXIT_MSR_LOAD_COUNT: u32 = 16_402u32

Source

pub const VM_ENTRY_CONTROLS: u32 = 16_404u32

Source

pub const VM_ENTRY_MSR_LOAD_COUNT: u32 = 16_406u32

Source

pub const VM_ENTRY_INTERRUPTION_INFO: u32 = 16_408u32

Source

pub const SECONDARY_PROC_BASED_VM_EXEC_CONTROLS: u32 = 16_414u32

Source

pub const GUEST_ES_LIMIT: u32 = 18_432u32

Source

pub const GUEST_CS_LIMIT: u32 = 18_434u32

Source

pub const GUEST_SS_LIMIT: u32 = 18_436u32

Source

pub const GUEST_DS_LIMIT: u32 = 18_438u32

Source

pub const GUEST_FS_LIMIT: u32 = 18_440u32

Source

pub const GUEST_GS_LIMIT: u32 = 18_442u32

Source

pub const GUEST_LDTR_LIMIT: u32 = 18_444u32

Source

pub const GUEST_TR_LIMIT: u32 = 18_446u32

Source

pub const GUEST_GDTR_LIMIT: u32 = 18_448u32

Source

pub const GUEST_IDTR_LIMIT: u32 = 18_450u32

Source

pub const GUEST_ES_ACCESS_RIGHTS: u32 = 18_452u32

Source

pub const GUEST_CS_ACCESS_RIGHTS: u32 = 18_454u32

Source

pub const GUEST_SS_ACCESS_RIGHTS: u32 = 18_456u32

Source

pub const GUEST_DS_ACCESS_RIGHTS: u32 = 18_458u32

Source

pub const GUEST_FS_ACCESS_RIGHTS: u32 = 18_460u32

Source

pub const GUEST_GS_ACCESS_RIGHTS: u32 = 18_462u32

Source

pub const GUEST_LDTR_ACCESS_RIGHTS: u32 = 18_464u32

Source

pub const GUEST_TR_ACCESS_RIGHTS: u32 = 18_466u32

Source

pub const GUEST_INTERRUPTIBILITY_STATE: u32 = 18_468u32

Source

pub const GUEST_ACTIVITY_STATE: u32 = 18_470u32

Source

pub const GUEST_SYSENTER_CS: u32 = 18_474u32

Source

pub const VM_EXIT_REASON: u32 = 17_410u32

Source

pub const VM_EXIT_INTERRUPTION_INFO: u32 = 17_412u32

Source

pub const VM_EXIT_INTERRUPTION_ERROR_CODE: u32 = 17_414u32

Source

pub const VM_EXIT_INSTRUCTION_LENGTH: u32 = 17_420u32

Source

pub const VM_EXIT_INSTRUCTION_INFO: u32 = 17_422u32

Source

pub const GUEST_CR0: u32 = 26_624u32

Source

pub const GUEST_CR3: u32 = 26_626u32

Source

pub const GUEST_CR4: u32 = 26_628u32

Source

pub const GUEST_ES_BASE: u32 = 26_630u32

Source

pub const GUEST_CS_BASE: u32 = 26_632u32

Source

pub const GUEST_SS_BASE: u32 = 26_634u32

Source

pub const GUEST_DS_BASE: u32 = 26_636u32

Source

pub const GUEST_FS_BASE: u32 = 26_638u32

Source

pub const GUEST_GS_BASE: u32 = 26_640u32

Source

pub const GUEST_LDTR_BASE: u32 = 26_642u32

Source

pub const GUEST_TR_BASE: u32 = 26_644u32

Source

pub const GUEST_GDTR_BASE: u32 = 26_646u32

Source

pub const GUEST_IDTR_BASE: u32 = 26_648u32

Source

pub const GUEST_DR7: u32 = 26_650u32

Source

pub const GUEST_RSP: u32 = 26_652u32

Source

pub const GUEST_RIP: u32 = 26_654u32

Source

pub const GUEST_RFLAGS: u32 = 26_656u32

Source

pub const GUEST_SYSENTER_ESP: u32 = 26_660u32

Source

pub const GUEST_SYSENTER_EIP: u32 = 26_662u32

Source

pub const HOST_CR0: u32 = 27_648u32

Source

pub const HOST_CR3: u32 = 27_650u32

Source

pub const HOST_CR4: u32 = 27_652u32

Source

pub const HOST_FS_BASE: u32 = 27_654u32

Source

pub const HOST_GS_BASE: u32 = 27_656u32

Source

pub const HOST_TR_BASE: u32 = 27_658u32

Source

pub const HOST_GDTR_BASE: u32 = 27_660u32

Source

pub const HOST_IDTR_BASE: u32 = 27_662u32

Source

pub const HOST_IA32_SYSENTER_ESP: u32 = 27_664u32

Source

pub const HOST_IA32_SYSENTER_EIP: u32 = 27_666u32

Source

pub const HOST_RSP: u32 = 27_668u32

Source

pub const HOST_RIP: u32 = 27_670u32

Source

pub const EXIT_QUALIFICATION: u32 = 25_600u32

Source

pub const GUEST_LINEAR_ADDRESS: u32 = 25_610u32

Source

pub const GUEST_PHYSICAL_ADDRESS: u32 = 9_216u32

Auto Trait Implementations§

§

impl Freeze for VmcsFields

§

impl RefUnwindSafe for VmcsFields

§

impl Send for VmcsFields

§

impl Sync for VmcsFields

§

impl Unpin for VmcsFields

§

impl UnwindSafe for VmcsFields

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.