Page MenuHomeFreeBSD

Keep the shadow PCIR_COMMAND synced with the real one for pass through.
ClosedPublic

Authored by jhb on Jun 5 2019, 11:00 PM.

Details

Summary

This ensures that bhyve properly recognizes when decoding is disabled for
BARs on passthru devices. To properly handle writes to the register,
export a pci_emul_cmd_changed function from pci_emul.c that the pass
through device model invokes for config writes that change PCIR_COMMAND.

Test Plan
  • Nick Principe tested this and it fixed his issue with Windows 10 and a pass through NIC

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

jhb created this revision.Jun 5 2019, 11:00 PM
rgrimes accepted this revision.Jun 6 2019, 1:08 AM

Looks like diff has gotten really confused by something making this very hard to see what it is that really changed since we are seeing function
pci_emul_cmdsts_write
compared to a new function
pci_emul_cmd_changed and are not actually seeing what changed in
pci_emul_cmdsts_write

Anyway to regenerate this in a way that makes it reviewable? never mind, looking at the raw diff it is clear as a bell, what Phabricator is doing is a mess.

This revision is now accepted and ready to land.Jun 6 2019, 1:08 AM
This revision was automatically updated to reflect the committed changes.