HomeFreeBSD

Emulate reads of the PCI command register for passthrough devices.

Description

Emulate reads of the PCI command register for passthrough devices.

VFs return zero for the memory enable bit even if it has been set by a
prior write. After r348779 this caused the annoying behavior that a
guest OS would unintentionally disable memory decoding on a future
read-modify-write operation on the command register. Instead, return
the shadow value of the command register for reads. This ensures that
the guest will only toggle the state of the memory enable bit when it
specifically intends to do so.

MFC after: 2 weeks
Sponsored by: Chelsio Communications

Details

Provenance
jhbAuthored on Dec 11 2019, 11:41 PM
Parents
rGc8b29d12120d: vfs: locking primitives which elide ->v_vnlock and shared locking disablement
Branches
Unknown
Tags
Unknown

Event Timeline