fn init_apic() -> x2apic::X2APICDriver {
    let mut apic = x2apic::X2APICDriver::default();
    // Attach the driver to take control of the APIC:
    apic.attach();

    info!(
        "x2APIC id: {}, logical_id: {}, version: {:#x}, is bsp: {}",
        apic.id(),
        apic.logical_id(),
        apic.version(),
        apic.bsp()
    );

    apic
}
/// Construct the driver object to manipulate the interrupt controller (XAPIC)
Construct the driver object to manipulate the interrupt controller (XAPIC)
Construct the driver object to manipulate the interrupt controller ( XAPIC )
fn init_apic() -> x2apic::X2APICDriver {
    let mut apic = x2apic::X2APICDriver::default();
    // Attach the driver to take control of the APIC:
    apic.attach();
    info!(
        "x2APIC id: {}, logical_id: {}, version: {:#x}, is bsp: {}",
        apic.id(),
        apic.logical_id(),
        apic.version(),
        apic.bsp()
    );
    apic
}
fn init_apic ( ) -> x2apic :: X2APICDriver { let mut apic = x2apic :: X2APICDriver :: default ( ) ; // Attach the driver to take control of the APIC: apic . attach ( ) ; info ! ( " " apic id ( ) apic logical_id ( ) apic version ( ) apic bsp ( ) ) ; apic }
Construct the driver object to manipulate the interrupt controller (XAPIC)
Construct the driver object to manipulate the interrupt controller ( XAPIC )