acpi, vga: say what the first real boot actually found
"acpi: 0 PCI interrupts routed through _PRT" on an AMD board meant that every PCIe bridge's devices are wired to the second I/O APIC, which is not driven. It says so now, and that those devices need MSI. "vga: framebuffer disagreement" on an NVIDIA card compared the GOP's framebuffer against BAR0, a 16 MB register block big enough to pass for a screen. The BAR that contains the framebuffer is preferred now. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S1giNvrHTrPMPw7V6x1kQ4
This commit is contained in:
parent
27bf91cfe0
commit
416aa52b09
2 changed files with 20 additions and 4 deletions
|
|
@ -284,7 +284,7 @@ void
|
|||
acpi_pci_route(void)
|
||||
{
|
||||
uacpi_pci_routing_table *roottab;
|
||||
int i, routed = 0;
|
||||
int i, routed = 0, beyond = 0;
|
||||
|
||||
if (!ready)
|
||||
return;
|
||||
|
|
@ -316,8 +316,11 @@ acpi_pci_route(void)
|
|||
if (gsi < 0)
|
||||
continue;
|
||||
if (gsi >= NIRQ_IOAPIC) {
|
||||
// A second I/O APIC's input. Not reachable here; MSI still is.
|
||||
// A second I/O APIC's input. Not reachable here; MSI still is. AMD
|
||||
// boards wire every PCIe bridge's devices to the GNB's I/O APIC, so
|
||||
// on those this is most of the machine.
|
||||
d->irq = 0xFF;
|
||||
beyond++;
|
||||
continue;
|
||||
}
|
||||
if (gsi != d->irq)
|
||||
|
|
@ -331,4 +334,7 @@ acpi_pci_route(void)
|
|||
uacpi_free_pci_routing_table(roottab);
|
||||
kinfo("acpi: %d PCI interrupt%s routed through _PRT\n", routed,
|
||||
routed == 1 ? "" : "s");
|
||||
if (beyond)
|
||||
kinfo("acpi: %d more on a second I/O APIC, which is not driven; "
|
||||
"those devices need MSI\n", beyond);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue