Skip to main content

Module x2apic

Module x2apic 

Source
Expand description

x2APIC (Extended xAPIC) driver

Provides MSR-based access to x2APIC registers instead of MMIO. x2APIC extends the APIC ID to 32 bits and uses MSRs for all register access.

Key differences from xAPIC:

  • All registers accessed via MSRs (no MMIO).
  • ICR writes are atomic single MSR writes (no delivery status polling needed).
  • APIC ID is 32 bits (not just 8).
  • ESR is write-1-to-clear (write 0 to ack, read for errors).

Structsยง

X2Apic

Enumsยง

TimerDivide
Timer divide configuration values (IA32_X2APIC_TIMER_DIV, MSR 0x83E).

Constantsยง

APIC_BASE_EN ๐Ÿ”’
APIC_BASE_EXTD ๐Ÿ”’
DELIVERY_FIXED ๐Ÿ”’
DELIVERY_INIT ๐Ÿ”’
DELIVERY_SIPI ๐Ÿ”’
DELIVERY_STARTUP ๐Ÿ”’
DEST_PHYSICAL ๐Ÿ”’
DEST_SHORTHAND_NONE ๐Ÿ”’
IA32_APIC_BASE_MSR ๐Ÿ”’
IA32_X2APIC_APICID ๐Ÿ”’
IA32_X2APIC_EOI ๐Ÿ”’
IA32_X2APIC_ESR ๐Ÿ”’
IA32_X2APIC_ICR ๐Ÿ”’
IA32_X2APIC_LVT_TIMER ๐Ÿ”’
IA32_X2APIC_SIVR ๐Ÿ”’
IA32_X2APIC_TIMER_DIV ๐Ÿ”’
IA32_X2APIC_TIMER_INIT ๐Ÿ”’
IA32_X2APIC_VERSION ๐Ÿ”’
LEVEL_ASSERT ๐Ÿ”’
LEVEL_DEASSERT ๐Ÿ”’
TRIGGER_EDGE ๐Ÿ”’
TRIGGER_LEVEL ๐Ÿ”’