Page MenuHomeFreeBSD

D54644.diff
No OneTemporary

D54644.diff

diff --git a/usr.sbin/bhyve/pci_emul.c b/usr.sbin/bhyve/pci_emul.c
--- a/usr.sbin/bhyve/pci_emul.c
+++ b/usr.sbin/bhyve/pci_emul.c
@@ -1664,6 +1664,32 @@
}
}
}
+ if (get_config_bool_default("acpi_tables", false)) {
+ /*
+ * Setup fixed IRQ mappings for the hotpluggable
+ * slot. This makes sure we emit the proper ACPI
+ * _PRT entries when building the DSDT tables
+ * later on.
+ */
+ for (bus = 0; bus < MAXBUSES; bus++) {
+ if ((bi = pci_businfo[bus]) == NULL)
+ continue;
+ for (slot = 0; slot < MAXSLOTS; slot++) {
+ si = &bi->slotinfo[slot];
+ if (si->si_type == PCI_SLOT_FIXED)
+ continue;
+ for (int pin = 0; pin < 4; pin++) {
+ struct intxinfo *ii;
+
+ ii = &si->si_intpins[pin];
+ pci_irq_route(ctx, &ii->ii_irq, slot,
+ pin + 1);
+ ii->ii_count++;
+ }
+ }
+ }
+ }
+
#ifdef __amd64__
lpc_pirq_routed();
#endif

File Metadata

Mime Type
text/plain
Expires
Tue, Jun 23, 5:21 PM (19 h, 47 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34254646
Default Alt Text
D54644.diff (898 B)

Event Timeline