HomeFreeBSD

Hyper-V: vPCI: Prepopulate device bars

Description

Hyper-V: vPCI: Prepopulate device bars

In recent Hyper-V releases on Windows Server 2022, vPCI code does not
initialize the last 4 bit of device bar registers. This behavior change
could result weird problems cuasing PCI code failure when configuring
bars.

Just write all 1's to those bars whose probed values are not the same
as current read ones. This seems to make Hyper-V vPCI and
pci_write_bar() to cooperate correctly on these releases.

Reported by: khng@freebsd.org
Tested by: khng@freebsd.org
MFC after: 2 weeks
Sponsored by: Microsoft

(cherry picked from commit 75412a521f60d4b0393c730ffb284e7c6ff9d2de)
(cherry picked from commit d11e9de955ea01fe01dce58c7eb090fe0352bced)

Approved by: so
Errata: FreeBSD-EN-22:03.hyperv

Details

Provenance
whuAuthored on Nov 27 2021, 6:42 AM
emasteCommitted on Jan 10 2022, 2:51 PM
Parents
rGf2caded7f590: amd64: correct size of the SSE area in the xsave layout
Branches
Unknown
Tags
Unknown