raw-acpi 0.0.2

Simply ACPI, in Rust.
Documentation
#[derive(Copy, Clone)]
#[repr(C, packed)]
/// ## Extend I/O Programmable Interrupt Controller (EIO PIC) Structure
///
/// In newer generation Loongson CPUs, Extend I/O Programmable Interrupt Controller (EIO PIC) replaces the combination of HT PIC and part of LIO PIC,
/// and routes interrupts from BIO PIC and MSI PIC to CORE PIC directly.
pub struct ExtendIOProgrammableInterruptController {
    /// 20 - Extend I/O Programmable Interrupt Controller Structure
    pub r#type: u8,
    /// Length of the Extend I/O Programmable Interrupt Controller Structure in bytes.
    ///
    /// **JJ's Note: There doesn't seem to be any variable-sized fields in this struct.  The size is 13 bytes...**
    pub length: u8,
    /// - **0x00** - Invalid
    /// - **0x01** - EIO PIC v1
    ///
    /// Other values are reserved.
    pub version: u8,
    /// This field describes routed vector on CORE PIC from EIO PIC vectors.
    pub cascade_vector: u8,
    /// The node ID of the node connected to bridge.
    pub node: u8,
    /// Each bit indicates one node that can receive interrupt routing from the EIO PIC.
    pub node_map: u64,
}