pub struct GcmdReg(/* private fields */);Expand description
Global Command Register (MMIO offset 0x018, 32-bit, WO). §10.4.4.
Write-only register for controlling IOMMU operation. Reads return 0. Each bit triggers a corresponding action; status is reflected in GSTS.
Implementations§
Source§impl GcmdReg
impl GcmdReg
Sourcepub const fn cfi(&self) -> bool
pub const fn cfi(&self) -> bool
Compatibility Format Interrupt — pass through compatibility-format MSIs when IR is enabled.
Bits: 23..24
Sourcepub const fn with_cfi_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_cfi_checked(self, value: bool) -> Result<Self, ()>
Compatibility Format Interrupt — pass through compatibility-format MSIs when IR is enabled.
Bits: 23..24
Sourcepub const fn with_cfi(self, value: bool) -> Self
pub const fn with_cfi(self, value: bool) -> Self
Compatibility Format Interrupt — pass through compatibility-format MSIs when IR is enabled.
Bits: 23..24
Sourcepub const fn set_cfi(&mut self, value: bool)
pub const fn set_cfi(&mut self, value: bool)
Compatibility Format Interrupt — pass through compatibility-format MSIs when IR is enabled.
Bits: 23..24
Sourcepub const fn set_cfi_checked(&mut self, value: bool) -> Result<(), ()>
pub const fn set_cfi_checked(&mut self, value: bool) -> Result<(), ()>
Compatibility Format Interrupt — pass through compatibility-format MSIs when IR is enabled.
Bits: 23..24
Sourcepub const fn sirtp(&self) -> bool
pub const fn sirtp(&self) -> bool
Set Interrupt Remapping Table Pointer — latch IRTA register.
Bits: 24..25
Sourcepub const fn with_sirtp_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_sirtp_checked(self, value: bool) -> Result<Self, ()>
Set Interrupt Remapping Table Pointer — latch IRTA register.
Bits: 24..25
Sourcepub const fn with_sirtp(self, value: bool) -> Self
pub const fn with_sirtp(self, value: bool) -> Self
Set Interrupt Remapping Table Pointer — latch IRTA register.
Bits: 24..25
Sourcepub const fn set_sirtp(&mut self, value: bool)
pub const fn set_sirtp(&mut self, value: bool)
Set Interrupt Remapping Table Pointer — latch IRTA register.
Bits: 24..25
Sourcepub const fn set_sirtp_checked(&mut self, value: bool) -> Result<(), ()>
pub const fn set_sirtp_checked(&mut self, value: bool) -> Result<(), ()>
Set Interrupt Remapping Table Pointer — latch IRTA register.
Bits: 24..25
Sourcepub const fn with_ire_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_ire_checked(self, value: bool) -> Result<Self, ()>
Interrupt Remapping Enable.
Bits: 25..26
Sourcepub const fn set_ire_checked(&mut self, value: bool) -> Result<(), ()>
pub const fn set_ire_checked(&mut self, value: bool) -> Result<(), ()>
Interrupt Remapping Enable.
Bits: 25..26
Sourcepub const fn with_qie_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_qie_checked(self, value: bool) -> Result<Self, ()>
Queued Invalidation Enable.
Bits: 26..27
Sourcepub const fn set_qie_checked(&mut self, value: bool) -> Result<(), ()>
pub const fn set_qie_checked(&mut self, value: bool) -> Result<(), ()>
Queued Invalidation Enable.
Bits: 26..27
Sourcepub const fn wbf(&self) -> bool
pub const fn wbf(&self) -> bool
Write Buffer Flush — flush internal write buffers.
Bits: 27..28
Sourcepub const fn with_wbf_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_wbf_checked(self, value: bool) -> Result<Self, ()>
Write Buffer Flush — flush internal write buffers.
Bits: 27..28
Sourcepub const fn with_wbf(self, value: bool) -> Self
pub const fn with_wbf(self, value: bool) -> Self
Write Buffer Flush — flush internal write buffers.
Bits: 27..28
Sourcepub const fn set_wbf(&mut self, value: bool)
pub const fn set_wbf(&mut self, value: bool)
Write Buffer Flush — flush internal write buffers.
Bits: 27..28
Sourcepub const fn set_wbf_checked(&mut self, value: bool) -> Result<(), ()>
pub const fn set_wbf_checked(&mut self, value: bool) -> Result<(), ()>
Write Buffer Flush — flush internal write buffers.
Bits: 27..28
Sourcepub const fn eafl(&self) -> bool
pub const fn eafl(&self) -> bool
Enable Advanced Fault Logging (not supported, treated as no-op).
Bits: 28..29
Sourcepub const fn with_eafl_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_eafl_checked(self, value: bool) -> Result<Self, ()>
Enable Advanced Fault Logging (not supported, treated as no-op).
Bits: 28..29
Sourcepub const fn with_eafl(self, value: bool) -> Self
pub const fn with_eafl(self, value: bool) -> Self
Enable Advanced Fault Logging (not supported, treated as no-op).
Bits: 28..29
Sourcepub const fn set_eafl(&mut self, value: bool)
pub const fn set_eafl(&mut self, value: bool)
Enable Advanced Fault Logging (not supported, treated as no-op).
Bits: 28..29
Sourcepub const fn set_eafl_checked(&mut self, value: bool) -> Result<(), ()>
pub const fn set_eafl_checked(&mut self, value: bool) -> Result<(), ()>
Enable Advanced Fault Logging (not supported, treated as no-op).
Bits: 28..29
Sourcepub const fn with_sfl_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_sfl_checked(self, value: bool) -> Result<Self, ()>
Set Fault Log (not supported, treated as no-op).
Bits: 29..30
Sourcepub const fn with_sfl(self, value: bool) -> Self
pub const fn with_sfl(self, value: bool) -> Self
Set Fault Log (not supported, treated as no-op).
Bits: 29..30
Sourcepub const fn set_sfl(&mut self, value: bool)
pub const fn set_sfl(&mut self, value: bool)
Set Fault Log (not supported, treated as no-op).
Bits: 29..30
Sourcepub const fn set_sfl_checked(&mut self, value: bool) -> Result<(), ()>
pub const fn set_sfl_checked(&mut self, value: bool) -> Result<(), ()>
Set Fault Log (not supported, treated as no-op).
Bits: 29..30
Sourcepub const fn with_srtp_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_srtp_checked(self, value: bool) -> Result<Self, ()>
Set Root Table Pointer — latch RTADDR register.
Bits: 30..31
Sourcepub const fn with_srtp(self, value: bool) -> Self
pub const fn with_srtp(self, value: bool) -> Self
Set Root Table Pointer — latch RTADDR register.
Bits: 30..31
Sourcepub const fn set_srtp(&mut self, value: bool)
pub const fn set_srtp(&mut self, value: bool)
Set Root Table Pointer — latch RTADDR register.
Bits: 30..31
Sourcepub const fn set_srtp_checked(&mut self, value: bool) -> Result<(), ()>
pub const fn set_srtp_checked(&mut self, value: bool) -> Result<(), ()>
Set Root Table Pointer — latch RTADDR register.
Bits: 30..31
Sourcepub const fn te(&self) -> bool
pub const fn te(&self) -> bool
Translation Enable — enable/disable DMA translation.
Bits: 31..32
Sourcepub const fn with_te_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_te_checked(self, value: bool) -> Result<Self, ()>
Translation Enable — enable/disable DMA translation.
Bits: 31..32
Sourcepub const fn with_te(self, value: bool) -> Self
pub const fn with_te(self, value: bool) -> Self
Translation Enable — enable/disable DMA translation.
Bits: 31..32