f8a6ec2d57
We want to allow the UEFI firmware to enumerate and assign addresses to PCI devices so we can boot from NVMe[1]. Address assignment of PCI BARs is properly handled by the PCI emulation code in general, but a few specific cases need additional support. fbuf and passthru map additional objects into the guest physical address space and so need to handle address updates. Here we add a callback to emulated PCI devices to inform them of a BAR configuration change. fbuf and passthru then watch for these BAR changes and relocate the frame buffer memory segment and passthru device mmio area respectively. We also add new VM_MUNMAP_MEMSEG and VM_UNMAP_PPTDEV_MMIO ioctls to vmm(4) to facilitate the unmapping needed for addres updates. [1]: https://github.com/freebsd/uefi-edk2/pull/9/ Originally by: scottph MFC After: 1 week Sponsored by: Intel Corporation Reviewed by: grehan Approved by: philip (mentor) Differential Revision: https://reviews.freebsd.org/D24066 |
||
---|---|---|
.. | ||
iommu.c | ||
iommu.h | ||
ppt.c | ||
ppt.h | ||
vatpic.c | ||
vatpic.h | ||
vatpit.c | ||
vatpit.h | ||
vhpet.c | ||
vhpet.h | ||
vioapic.c | ||
vioapic.h | ||
vlapic_priv.h | ||
vlapic.c | ||
vlapic.h | ||
vpmtmr.c | ||
vpmtmr.h | ||
vrtc.c | ||
vrtc.h |