- The qemu_fwcfg interface, as implemented, is I/O port-based, but QEMU implements an MMIO interface that we'll eventually want to port for arm64.
- Retain support for I/O space PCI BARs, simply treat them like MMIO BARs for most purposes, similar to what the arm64 kernel does. Such BARs are created by virtio devices.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Skipped - Unit
Tests Skipped - Build Status
Buildable 52438 Build 49329: arc lint + arc unit
Event Timeline
usr.sbin/bhyve/pci_emul.c | ||
---|---|---|
539 | I would maybe structure this as: #ifdef __amd64__ static int pci_emul_io_handler(... inout args) { inout version } #else static int pci_emul_io_handler(... mem args) { mr version } #endif | |
640 | I think I'd almost rather do a bit more duplication here instead as I would find it more readable I think: case PCIBAR_IO: #ifdef __amd64__ bzero(&iop, sizeof(struct inout_port)); ... #else bzero(&mr, sizeof(struct mem_range)); #endif break; One thing that would help perhaps to reduce duplication would be to first move the pe_baraddr calls out of the case statement entirely as they are duplicated for all cases. |