Skip to content

x2APIC/MSI: local APIC ID assumed 8-bit in xHCI MSI routing #4

@emilf

Description

@emilf

In kernel/src/drivers/usb/xhci/mod.rs, XhciDriver::local_apic_id() extracts the LAPIC ID as a u8 (APIC ID register bits 31:24). This is fine for xAPIC (8-bit IDs), but if we aim for x2APIC support, destination IDs can exceed 8 bits.\n\nWe should audit MSI/MSI-X message address/data formatting and the interrupt core APIs so we don't truncate APIC IDs and we can correctly target CPUs on x2APIC systems.\n\nRefs:\n- local_apic_id() currently returns u8\n- MSI_MESSAGE_ADDR_BASE used with (local_apic_id << 12)\n\nAcceptance: represent APIC ID as u32 where appropriate; ensure MSI destination supports x2APIC ID widths; keep xAPIC path working.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions