Struct acpi::fadt::Fadt [−][src]
Represents the Fixed ACPI Description Table (FADT). This table contains various fixed hardware details, such as the addresses of the hardware register blocks. It also contains a pointer to the Differentiated Definition Block (DSDT).
In cases where the FADT contains both a 32-bit and 64-bit field for the same address, we should always prefer the 64-bit one. Only if it’s zero or the CPU will not allow us to access that address should the 32-bit one be used.
Fields
sci_interrupt: u16
On systems with an i8259 PIC, this is the vector the System Control Interrupt (SCI) is wired to. On other systems, this is the Global System Interrupt (GSI) number of the SCI.
The SCI should be treated as a sharable, level, active-low interrupt.
smi_cmd_port: u32
The system port address of the SMI Command Port. This port should only be accessed from the boot processor.
A value of 0
indicates that System Management Mode.
- Writing the value in
acpi_enable
to this port will transfer control of the ACPI hardware registers from the firmware to the OS. You must synchronously wait for the transfer to complete, indicated by the setting ofSCI_EN
. - Writing the value in
acpi_disable
will relinquish ownership of the hardware registers to the firmware. This should only be done if you’ve previously acquired ownership. Before writing this value, the OS should mask all SCI interrupts and clear theSCI_EN
bit. - Writing the value in
s4bios_req
requests that the firmware enter the S4 state through the S4BIOS feature. This is only supported if theS4BIOS_F
flag in the FACS is set. - Writing the value in
pstate_control
yields control of the processor performance state to the OS. If this field is0
, this feature is not supported. - Writing the value in
c_state_control
tells the firmware that the OS supports_CST
AML objects and notifications of C State changes.
acpi_enable: u8
acpi_disable: u8
s4bios_req: u8
pstate_control: u8
gpe1_base: u8
c_state_control: u8
worst_c2_latency: u16
The worst-case latency to enter and exit the C2 state, in microseconds. A value >100
indicates that the
system does not support the C2 state.
worst_c3_latency: u16
The worst-case latency to enter and exit the C3 state, in microseconds. A value >1000
indicates that the
system does not support the C3 state.
flush_size: u16
flush_stride: u16
duty_offset: u8
duty_width: u8
day_alarm: u8
month_alarm: u8
century: u8
flags: Flags
reset_value: u8
Implementations
impl Fadt
[src]
pub fn validate(&self) -> Result<(), AcpiError>
[src]
pub fn facs_address(&self) -> Result<usize, AcpiError>
[src]
pub fn dsdt_address(&self) -> Result<usize, AcpiError>
[src]
pub fn power_profile(&self) -> PowerProfile
[src]
pub fn pm1a_event_block(&self) -> Result<GenericAddress, AcpiError>
[src]
pub fn pm1b_event_block(&self) -> Result<Option<GenericAddress>, AcpiError>
[src]
pub fn pm1a_control_block(&self) -> Result<GenericAddress, AcpiError>
[src]
pub fn pm1b_control_block(&self) -> Result<Option<GenericAddress>, AcpiError>
[src]
pub fn pm2_control_block(&self) -> Result<Option<GenericAddress>, AcpiError>
[src]
pub fn pm_timer_block(&self) -> Result<Option<GenericAddress>, AcpiError>
[src]
pub fn gpe0_block(&self) -> Result<Option<GenericAddress>, AcpiError>
[src]
pub fn gpe1_block(&self) -> Result<Option<GenericAddress>, AcpiError>
[src]
pub fn reset_register(&self) -> Result<GenericAddress, AcpiError>
[src]
pub fn sleep_control_register(
&self
) -> Result<Option<GenericAddress>, AcpiError>
[src]
&self
) -> Result<Option<GenericAddress>, AcpiError>
pub fn sleep_status_register(&self) -> Result<Option<GenericAddress>, AcpiError>
[src]
Trait Implementations
Auto Trait Implementations
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,