pub struct HvRegisterVsmCapabilities(/* private fields */);Implementations§
Source§impl HvRegisterVsmCapabilities
impl HvRegisterVsmCapabilities
Bits: 0..1
Bits: 0..1
Bits: 0..1
Bits: 0..1
Bits: 0..1
Sourcepub const fn mbec_vtl_mask(&self) -> u16
pub const fn mbec_vtl_mask(&self) -> u16
Bits: 1..17
Sourcepub const fn with_mbec_vtl_mask_checked(self, value: u16) -> Result<Self, ()>
pub const fn with_mbec_vtl_mask_checked(self, value: u16) -> Result<Self, ()>
Bits: 1..17
Sourcepub const fn with_mbec_vtl_mask(self, value: u16) -> Self
pub const fn with_mbec_vtl_mask(self, value: u16) -> Self
Bits: 1..17
Sourcepub const fn set_mbec_vtl_mask(&mut self, value: u16)
pub const fn set_mbec_vtl_mask(&mut self, value: u16)
Bits: 1..17
Sourcepub const fn deny_lower_vtl_startup(&self) -> bool
pub const fn deny_lower_vtl_startup(&self) -> bool
Bits: 17..18
Sourcepub const fn with_deny_lower_vtl_startup_checked(
self,
value: bool,
) -> Result<Self, ()>
pub const fn with_deny_lower_vtl_startup_checked( self, value: bool, ) -> Result<Self, ()>
Bits: 17..18
Sourcepub const fn with_deny_lower_vtl_startup(self, value: bool) -> Self
pub const fn with_deny_lower_vtl_startup(self, value: bool) -> Self
Bits: 17..18
Sourcepub const fn set_deny_lower_vtl_startup(&mut self, value: bool)
pub const fn set_deny_lower_vtl_startup(&mut self, value: bool)
Bits: 17..18
Sourcepub const fn set_deny_lower_vtl_startup_checked(
&mut self,
value: bool,
) -> Result<(), ()>
pub const fn set_deny_lower_vtl_startup_checked( &mut self, value: bool, ) -> Result<(), ()>
Bits: 17..18
Sourcepub const fn supervisor_shadow_stack(&self) -> bool
pub const fn supervisor_shadow_stack(&self) -> bool
Bits: 18..19
Sourcepub const fn with_supervisor_shadow_stack_checked(
self,
value: bool,
) -> Result<Self, ()>
pub const fn with_supervisor_shadow_stack_checked( self, value: bool, ) -> Result<Self, ()>
Bits: 18..19
Sourcepub const fn with_supervisor_shadow_stack(self, value: bool) -> Self
pub const fn with_supervisor_shadow_stack(self, value: bool) -> Self
Bits: 18..19
Sourcepub const fn set_supervisor_shadow_stack(&mut self, value: bool)
pub const fn set_supervisor_shadow_stack(&mut self, value: bool)
Bits: 18..19
Sourcepub const fn set_supervisor_shadow_stack_checked(
&mut self,
value: bool,
) -> Result<(), ()>
pub const fn set_supervisor_shadow_stack_checked( &mut self, value: bool, ) -> Result<(), ()>
Bits: 18..19
Sourcepub const fn hardware_hvpt_available(&self) -> bool
pub const fn hardware_hvpt_available(&self) -> bool
Bits: 19..20
Sourcepub const fn with_hardware_hvpt_available_checked(
self,
value: bool,
) -> Result<Self, ()>
pub const fn with_hardware_hvpt_available_checked( self, value: bool, ) -> Result<Self, ()>
Bits: 19..20
Sourcepub const fn with_hardware_hvpt_available(self, value: bool) -> Self
pub const fn with_hardware_hvpt_available(self, value: bool) -> Self
Bits: 19..20
Sourcepub const fn set_hardware_hvpt_available(&mut self, value: bool)
pub const fn set_hardware_hvpt_available(&mut self, value: bool)
Bits: 19..20
Sourcepub const fn set_hardware_hvpt_available_checked(
&mut self,
value: bool,
) -> Result<(), ()>
pub const fn set_hardware_hvpt_available_checked( &mut self, value: bool, ) -> Result<(), ()>
Bits: 19..20
Sourcepub const fn software_hvpt_available(&self) -> bool
pub const fn software_hvpt_available(&self) -> bool
Bits: 20..21
Sourcepub const fn with_software_hvpt_available_checked(
self,
value: bool,
) -> Result<Self, ()>
pub const fn with_software_hvpt_available_checked( self, value: bool, ) -> Result<Self, ()>
Bits: 20..21
Sourcepub const fn with_software_hvpt_available(self, value: bool) -> Self
pub const fn with_software_hvpt_available(self, value: bool) -> Self
Bits: 20..21
Sourcepub const fn set_software_hvpt_available(&mut self, value: bool)
pub const fn set_software_hvpt_available(&mut self, value: bool)
Bits: 20..21
Sourcepub const fn set_software_hvpt_available_checked(
&mut self,
value: bool,
) -> Result<(), ()>
pub const fn set_software_hvpt_available_checked( &mut self, value: bool, ) -> Result<(), ()>
Bits: 20..21
Sourcepub const fn hardware_hvpt_range_bits(&self) -> u8
pub const fn hardware_hvpt_range_bits(&self) -> u8
Bits: 21..27
Sourcepub const fn with_hardware_hvpt_range_bits_checked(
self,
value: u8,
) -> Result<Self, ()>
pub const fn with_hardware_hvpt_range_bits_checked( self, value: u8, ) -> Result<Self, ()>
Bits: 21..27
Sourcepub const fn with_hardware_hvpt_range_bits(self, value: u8) -> Self
pub const fn with_hardware_hvpt_range_bits(self, value: u8) -> Self
Bits: 21..27
Sourcepub const fn set_hardware_hvpt_range_bits(&mut self, value: u8)
pub const fn set_hardware_hvpt_range_bits(&mut self, value: u8)
Bits: 21..27
Sourcepub const fn set_hardware_hvpt_range_bits_checked(
&mut self,
value: u8,
) -> Result<(), ()>
pub const fn set_hardware_hvpt_range_bits_checked( &mut self, value: u8, ) -> Result<(), ()>
Bits: 21..27
Sourcepub const fn intercept_page_available(&self) -> bool
pub const fn intercept_page_available(&self) -> bool
Bits: 27..28
Sourcepub const fn with_intercept_page_available_checked(
self,
value: bool,
) -> Result<Self, ()>
pub const fn with_intercept_page_available_checked( self, value: bool, ) -> Result<Self, ()>
Bits: 27..28
Sourcepub const fn with_intercept_page_available(self, value: bool) -> Self
pub const fn with_intercept_page_available(self, value: bool) -> Self
Bits: 27..28
Sourcepub const fn set_intercept_page_available(&mut self, value: bool)
pub const fn set_intercept_page_available(&mut self, value: bool)
Bits: 27..28
Sourcepub const fn set_intercept_page_available_checked(
&mut self,
value: bool,
) -> Result<(), ()>
pub const fn set_intercept_page_available_checked( &mut self, value: bool, ) -> Result<(), ()>
Bits: 27..28
Sourcepub const fn return_action_available(&self) -> bool
pub const fn return_action_available(&self) -> bool
Bits: 28..29
Sourcepub const fn with_return_action_available_checked(
self,
value: bool,
) -> Result<Self, ()>
pub const fn with_return_action_available_checked( self, value: bool, ) -> Result<Self, ()>
Bits: 28..29
Sourcepub const fn with_return_action_available(self, value: bool) -> Self
pub const fn with_return_action_available(self, value: bool) -> Self
Bits: 28..29
Sourcepub const fn set_return_action_available(&mut self, value: bool)
pub const fn set_return_action_available(&mut self, value: bool)
Bits: 28..29
Sourcepub const fn set_return_action_available_checked(
&mut self,
value: bool,
) -> Result<(), ()>
pub const fn set_return_action_available_checked( &mut self, value: bool, ) -> Result<(), ()>
Bits: 28..29
Sourcepub const fn vtl0_alias_map_available(&self) -> bool
pub const fn vtl0_alias_map_available(&self) -> bool
If the VTL0 view of memory is mapped to the high address space, which is the highest legal physical address bit.
Only available in VTL2.
Bits: 29..30
Sourcepub const fn with_vtl0_alias_map_available_checked(
self,
value: bool,
) -> Result<Self, ()>
pub const fn with_vtl0_alias_map_available_checked( self, value: bool, ) -> Result<Self, ()>
If the VTL0 view of memory is mapped to the high address space, which is the highest legal physical address bit.
Only available in VTL2.
Bits: 29..30
Sourcepub const fn with_vtl0_alias_map_available(self, value: bool) -> Self
pub const fn with_vtl0_alias_map_available(self, value: bool) -> Self
If the VTL0 view of memory is mapped to the high address space, which is the highest legal physical address bit.
Only available in VTL2.
Bits: 29..30
Sourcepub const fn set_vtl0_alias_map_available(&mut self, value: bool)
pub const fn set_vtl0_alias_map_available(&mut self, value: bool)
If the VTL0 view of memory is mapped to the high address space, which is the highest legal physical address bit.
Only available in VTL2.
Bits: 29..30
Sourcepub const fn set_vtl0_alias_map_available_checked(
&mut self,
value: bool,
) -> Result<(), ()>
pub const fn set_vtl0_alias_map_available_checked( &mut self, value: bool, ) -> Result<(), ()>
If the VTL0 view of memory is mapped to the high address space, which is the highest legal physical address bit.
Only available in VTL2.
Bits: 29..30
Sourcepub const fn intercept_not_present_available(&self) -> bool
pub const fn intercept_not_present_available(&self) -> bool
If the HvRegisterVsmPartitionConfig register has support for
intercept_not_present.
Only available in VTL2.
Bits: 30..31
Sourcepub const fn with_intercept_not_present_available_checked(
self,
value: bool,
) -> Result<Self, ()>
pub const fn with_intercept_not_present_available_checked( self, value: bool, ) -> Result<Self, ()>
If the HvRegisterVsmPartitionConfig register has support for
intercept_not_present.
Only available in VTL2.
Bits: 30..31
Sourcepub const fn with_intercept_not_present_available(self, value: bool) -> Self
pub const fn with_intercept_not_present_available(self, value: bool) -> Self
If the HvRegisterVsmPartitionConfig register has support for
intercept_not_present.
Only available in VTL2.
Bits: 30..31
Sourcepub const fn set_intercept_not_present_available(&mut self, value: bool)
pub const fn set_intercept_not_present_available(&mut self, value: bool)
If the HvRegisterVsmPartitionConfig register has support for
intercept_not_present.
Only available in VTL2.
Bits: 30..31
Sourcepub const fn set_intercept_not_present_available_checked(
&mut self,
value: bool,
) -> Result<(), ()>
pub const fn set_intercept_not_present_available_checked( &mut self, value: bool, ) -> Result<(), ()>
If the HvRegisterVsmPartitionConfig register has support for
intercept_not_present.
Only available in VTL2.
Bits: 30..31
Sourcepub const fn install_intercept_ex(&self) -> bool
pub const fn install_intercept_ex(&self) -> bool
Bits: 31..32
Sourcepub const fn with_install_intercept_ex_checked(
self,
value: bool,
) -> Result<Self, ()>
pub const fn with_install_intercept_ex_checked( self, value: bool, ) -> Result<Self, ()>
Bits: 31..32
Sourcepub const fn with_install_intercept_ex(self, value: bool) -> Self
pub const fn with_install_intercept_ex(self, value: bool) -> Self
Bits: 31..32
Sourcepub const fn set_install_intercept_ex(&mut self, value: bool)
pub const fn set_install_intercept_ex(&mut self, value: bool)
Bits: 31..32
Sourcepub const fn set_install_intercept_ex_checked(
&mut self,
value: bool,
) -> Result<(), ()>
pub const fn set_install_intercept_ex_checked( &mut self, value: bool, ) -> Result<(), ()>
Bits: 31..32
Sourcepub const fn intercept_system_reset_available(&self) -> bool
pub const fn intercept_system_reset_available(&self) -> bool
Only available in VTL2.
Bits: 32..33
Sourcepub const fn with_intercept_system_reset_available_checked(
self,
value: bool,
) -> Result<Self, ()>
pub const fn with_intercept_system_reset_available_checked( self, value: bool, ) -> Result<Self, ()>
Only available in VTL2.
Bits: 32..33
Sourcepub const fn with_intercept_system_reset_available(self, value: bool) -> Self
pub const fn with_intercept_system_reset_available(self, value: bool) -> Self
Only available in VTL2.
Bits: 32..33
Sourcepub const fn set_intercept_system_reset_available(&mut self, value: bool)
pub const fn set_intercept_system_reset_available(&mut self, value: bool)
Only available in VTL2.
Bits: 32..33
Sourcepub const fn set_intercept_system_reset_available_checked(
&mut self,
value: bool,
) -> Result<(), ()>
pub const fn set_intercept_system_reset_available_checked( &mut self, value: bool, ) -> Result<(), ()>
Only available in VTL2.
Bits: 32..33
Sourcepub const fn with_reserved1_checked(self, value: u8) -> Result<Self, ()>
pub const fn with_reserved1_checked(self, value: u8) -> Result<Self, ()>
Bits: 33..34
Sourcepub const fn with_reserved1(self, value: u8) -> Self
pub const fn with_reserved1(self, value: u8) -> Self
Bits: 33..34
Sourcepub const fn set_reserved1(&mut self, value: u8)
pub const fn set_reserved1(&mut self, value: u8)
Bits: 33..34
Sourcepub const fn proxy_interrupt_redirect_available(&self) -> bool
pub const fn proxy_interrupt_redirect_available(&self) -> bool
Bits: 34..35
Sourcepub const fn with_proxy_interrupt_redirect_available_checked(
self,
value: bool,
) -> Result<Self, ()>
pub const fn with_proxy_interrupt_redirect_available_checked( self, value: bool, ) -> Result<Self, ()>
Bits: 34..35
Sourcepub const fn with_proxy_interrupt_redirect_available(self, value: bool) -> Self
pub const fn with_proxy_interrupt_redirect_available(self, value: bool) -> Self
Bits: 34..35
Sourcepub const fn set_proxy_interrupt_redirect_available(&mut self, value: bool)
pub const fn set_proxy_interrupt_redirect_available(&mut self, value: bool)
Bits: 34..35
Sourcepub const fn set_proxy_interrupt_redirect_available_checked(
&mut self,
value: bool,
) -> Result<(), ()>
pub const fn set_proxy_interrupt_redirect_available_checked( &mut self, value: bool, ) -> Result<(), ()>
Bits: 34..35
Sourcepub const fn with_reserved2_checked(self, value: u64) -> Result<Self, ()>
pub const fn with_reserved2_checked(self, value: u64) -> Result<Self, ()>
Bits: 35..64
Sourcepub const fn with_reserved2(self, value: u64) -> Self
pub const fn with_reserved2(self, value: u64) -> Self
Bits: 35..64
Sourcepub const fn set_reserved2(&mut self, value: u64)
pub const fn set_reserved2(&mut self, value: u64)
Bits: 35..64
Trait Implementations§
Source§impl Clone for HvRegisterVsmCapabilities
impl Clone for HvRegisterVsmCapabilities
Source§fn clone(&self) -> HvRegisterVsmCapabilities
fn clone(&self) -> HvRegisterVsmCapabilities
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more