Structs
- A unique identifier for a Local APIC, i.e., a CPU on x86_64.
- A structure that offers access to APIC/xAPIC through its I/O registers.
- This structure represents a single Local APIC in the system; there is one per CPU.
Enums
- The delivery mode used when an interrupt is sent to a CPU core.
- The possible errors that can occur in
LocalApic::init()
. - The possible destination shorthand values for IPI ICR.
- The possible values for the Local APIC Timer Divide Configuration Register.
- The Local APIC’s vector table local interrupt pins.
Constants
- The IRQ number reserved for spurious APIC interrupts (as recommended by OS dev wiki).
- The IRQ number reserved for Local APIC timer interrupts in the IDT.
Statics
- The interrupt chip that is currently configured on this machine. The default is
InterruptChip::PIC
, but the typical case isAPIC
orX2APIC
, which will be set once those chips have been initialized.
Functions
- Returns the APIC ID of the bootstrap CPU (if known), which is the first CPU to run after system power-on.
- Returns the number of CPUs (SMP cores) that exist and are currently initialized on this system.
- Returns the ID of the currently executing CPU.
- Returns a reference to the list of LocalApics, one per CPU core.
- Returns a reference to the LocalApic for the currently executing CPU core.
- Returns true if the machine has support for x2apic
- Determines whether this system contains an xapic or x2apic and enables the Local APIC hardware in the correct mode.
- Returns true if the currently executing CPU is the bootstrap CPU, i.e., the first procesor to run after system power-on.