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.