pub struct InvalidationWaitDw0Dw1(/* private fields */);Expand description
Invalidation Wait Descriptor (type 0x05, §6.5.2.8).
SW and IF independently request completion notifications; both may be disabled. FN controls following-descriptor ordering, not notification (§6.5.2.11). This implementation accepts SW=IF=FN=0 as a wait without notification or fence; §7.10 also gives an explicit fence-only example.
Bits [3:0] = Type (0x05)
Bit [4] = IF (Interrupt Flag — generate invalidation completion event)
Bit [5] = SW (Status Write — write status data to status address)
Bit [6] = FN (Fence — complete this wait before following descriptors)
Bit [7] = PD (Page-request Drain)
Bit [8] = reserved
Bits [11:9] = Type[6:4] (zero)
Bits [31:12] = reserved
Bits [63:32] = Status Data (32-bit value to write)
Bits [65:64] = reserved
Bits [127:66]= Status Address [63:2] (DWORD-aligned)Implementations§
Source§impl InvalidationWaitDw0Dw1
impl InvalidationWaitDw0Dw1
Sourcepub const fn with_desc_type_checked(self, value: u8) -> Result<Self, ()>
pub const fn with_desc_type_checked(self, value: u8) -> Result<Self, ()>
Descriptor type (must be 0x05).
Bits: 0..4
Sourcepub const fn with_desc_type(self, value: u8) -> Self
pub const fn with_desc_type(self, value: u8) -> Self
Descriptor type (must be 0x05).
Bits: 0..4
Sourcepub const fn set_desc_type(&mut self, value: u8)
pub const fn set_desc_type(&mut self, value: u8)
Descriptor type (must be 0x05).
Bits: 0..4
Sourcepub const fn set_desc_type_checked(&mut self, value: u8) -> Result<(), ()>
pub const fn set_desc_type_checked(&mut self, value: u8) -> Result<(), ()>
Descriptor type (must be 0x05).
Bits: 0..4
Sourcepub const fn iflag(&self) -> bool
pub const fn iflag(&self) -> bool
Interrupt Flag — 1 = generate invalidation completion event; 0 = no event.
Bits: 4..5
Sourcepub const fn with_iflag_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_iflag_checked(self, value: bool) -> Result<Self, ()>
Interrupt Flag — 1 = generate invalidation completion event; 0 = no event.
Bits: 4..5
Sourcepub const fn with_iflag(self, value: bool) -> Self
pub const fn with_iflag(self, value: bool) -> Self
Interrupt Flag — 1 = generate invalidation completion event; 0 = no event.
Bits: 4..5
Sourcepub const fn set_iflag(&mut self, value: bool)
pub const fn set_iflag(&mut self, value: bool)
Interrupt Flag — 1 = generate invalidation completion event; 0 = no event.
Bits: 4..5
Sourcepub const fn set_iflag_checked(&mut self, value: bool) -> Result<(), ()>
pub const fn set_iflag_checked(&mut self, value: bool) -> Result<(), ()>
Interrupt Flag — 1 = generate invalidation completion event; 0 = no event.
Bits: 4..5
Sourcepub const fn sw(&self) -> bool
pub const fn sw(&self) -> bool
Status Write — 1 = write status_data to status_address; 0 = ignore both.
Bits: 5..6
Sourcepub const fn with_sw_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_sw_checked(self, value: bool) -> Result<Self, ()>
Status Write — 1 = write status_data to status_address; 0 = ignore both.
Bits: 5..6
Sourcepub const fn with_sw(self, value: bool) -> Self
pub const fn with_sw(self, value: bool) -> Self
Status Write — 1 = write status_data to status_address; 0 = ignore both.
Bits: 5..6
Sourcepub const fn set_sw(&mut self, value: bool)
pub const fn set_sw(&mut self, value: bool)
Status Write — 1 = write status_data to status_address; 0 = ignore both.
Bits: 5..6
Sourcepub const fn set_sw_checked(&mut self, value: bool) -> Result<(), ()>
pub const fn set_sw_checked(&mut self, value: bool) -> Result<(), ()>
Status Write — 1 = write status_data to status_address; 0 = ignore both.
Bits: 5..6
Sourcepub const fn fn_flag(&self) -> bool
pub const fn fn_flag(&self) -> bool
Fence — 1 = complete this wait before executing following descriptors. If 0, following descriptors may execute before this wait completes.
Bits: 6..7
Sourcepub const fn with_fn_flag_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_fn_flag_checked(self, value: bool) -> Result<Self, ()>
Fence — 1 = complete this wait before executing following descriptors. If 0, following descriptors may execute before this wait completes.
Bits: 6..7
Sourcepub const fn with_fn_flag(self, value: bool) -> Self
pub const fn with_fn_flag(self, value: bool) -> Self
Fence — 1 = complete this wait before executing following descriptors. If 0, following descriptors may execute before this wait completes.
Bits: 6..7
Sourcepub const fn set_fn_flag(&mut self, value: bool)
pub const fn set_fn_flag(&mut self, value: bool)
Fence — 1 = complete this wait before executing following descriptors. If 0, following descriptors may execute before this wait completes.
Bits: 6..7
Sourcepub const fn set_fn_flag_checked(&mut self, value: bool) -> Result<(), ()>
pub const fn set_fn_flag_checked(&mut self, value: bool) -> Result<(), ()>
Fence — 1 = complete this wait before executing following descriptors. If 0, following descriptors may execute before this wait completes.
Bits: 6..7
Sourcepub const fn with_pd_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_pd_checked(self, value: bool) -> Result<Self, ()>
Page-request Drain.
Bits: 7..8
Sourcepub const fn set_pd_checked(&mut self, value: bool) -> Result<(), ()>
pub const fn set_pd_checked(&mut self, value: bool) -> Result<(), ()>
Page-request Drain.
Bits: 7..8
Sourcepub const fn type_hi(&self) -> u8
pub const fn type_hi(&self) -> u8
Upper three bits of the descriptor type (zero for this type).
Bits: 9..12
Sourcepub const fn with_type_hi_checked(self, value: u8) -> Result<Self, ()>
pub const fn with_type_hi_checked(self, value: u8) -> Result<Self, ()>
Upper three bits of the descriptor type (zero for this type).
Bits: 9..12
Sourcepub const fn with_type_hi(self, value: u8) -> Self
pub const fn with_type_hi(self, value: u8) -> Self
Upper three bits of the descriptor type (zero for this type).
Bits: 9..12
Sourcepub const fn set_type_hi(&mut self, value: u8)
pub const fn set_type_hi(&mut self, value: u8)
Upper three bits of the descriptor type (zero for this type).
Bits: 9..12
Sourcepub const fn set_type_hi_checked(&mut self, value: u8) -> Result<(), ()>
pub const fn set_type_hi_checked(&mut self, value: u8) -> Result<(), ()>
Upper three bits of the descriptor type (zero for this type).
Bits: 9..12
Sourcepub const fn status_data(&self) -> u32
pub const fn status_data(&self) -> u32
Status Data (32-bit value to write when SW=1).
Bits: 32..64
Sourcepub const fn with_status_data_checked(self, value: u32) -> Result<Self, ()>
pub const fn with_status_data_checked(self, value: u32) -> Result<Self, ()>
Status Data (32-bit value to write when SW=1).
Bits: 32..64
Sourcepub const fn with_status_data(self, value: u32) -> Self
pub const fn with_status_data(self, value: u32) -> Self
Status Data (32-bit value to write when SW=1).
Bits: 32..64
Sourcepub const fn set_status_data(&mut self, value: u32)
pub const fn set_status_data(&mut self, value: u32)
Status Data (32-bit value to write when SW=1).
Bits: 32..64
Trait Implementations§
Source§impl Clone for InvalidationWaitDw0Dw1
impl Clone for InvalidationWaitDw0Dw1
Source§fn clone(&self) -> InvalidationWaitDw0Dw1
fn clone(&self) -> InvalidationWaitDw0Dw1
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more