9fc1947d53
Replace xhcid's self-contained 294-line xhci/quirks.rs (7-flag bitflags type + ~30-entry quirk table) with a thin re-export shim that delegates to redox-driver-sys::quirks, which now carries all 51 Linux 7.1 quirk flags and the full ~85-entry canonical controller table. Changes: - Cargo.toml: add redox-driver-sys path dependency - xhci/quirks.rs: replace table with pub use XhciControllerQuirkFlags as XhciQuirks + delegating lookup_quirks(vendor, device, revision, hci_version) - main.rs: read real HCIVERSION from MMIO offset 0x04 via cap.hci_ver.read() instead of hardcoded 0x100 — matches Linux 7.1 xhci_gen_setup() at xhci.c:5455. Two table entries depend on the value: AMD_0x96_HOST (xhci-pci.c:308) and >= 0x120 spec rule (xhci-pci.c:511). - main.rs: resolve quirks BEFORE get_int_method() so BROKEN_MSI skips MSI/MSI-X probing entirely (matching Linux xhci_try_enable_msi at xhci-pci.c:143-209). Previously the quirk only overrode the method label while irq_file still held the MSI handle — a mismatch causing silent interrupt-delivery failures on BROKEN_MSI controllers. - get_int_method (both cfg variants): accept quirks parameter