Page MenuHomeFreeBSD

D58894.1794748292.diff
No OneTemporary

Authored By
Unknown
Size
818 B
Referenced Files
None
Subscribers
None

D58894.1794748292.diff

diff --git a/usr.sbin/bhyve/pci_passthru.c b/usr.sbin/bhyve/pci_passthru.c
--- a/usr.sbin/bhyve/pci_passthru.c
+++ b/usr.sbin/bhyve/pci_passthru.c
@@ -678,12 +678,14 @@
sc->psc_bar[i].type = bartype;
sc->psc_bar[i].size = size;
sc->psc_bar[i].addr = base;
- sc->psc_bar[i].lobits = 0;
/* Allocate the BAR in the guest I/O or MMIO space */
pci_emul_alloc_bar(pi, i, bartype, size);
- /* Use same lobits as physical bar */
+ /*
+ * Use same lobits as physical BAR to preserve
+ * prefetch flag.
+ */
lobits = (uint8_t)passthru_read_config(&sc->psc_sel,
PCIR_BAR(i), 0x01);
if (bartype == PCIBAR_MEM32 || bartype == PCIBAR_MEM64) {
@@ -691,7 +693,6 @@
} else {
lobits &= ~PCIM_BAR_IO_BASE;
}
- sc->psc_bar[i].lobits = lobits;
pi->pi_bar[i].lobits = lobits;
/*

File Metadata

Mime Type
text/plain
Expires
Sun, Nov 15, 1:11 PM (18 h, 32 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
37412781
Default Alt Text
D58894.1794748292.diff (818 B)

Event Timeline