Changes from v3:
- Instead of adding pci allocation code to utils/virpci.[ch],
create new files conf/domain_addr.[ch] to contain only
domain device addresses management
Changes from v2:
- Base on PCI allocation code from Qemu driver
Changes from v1:
- Reserve slot 1 for LPC PCI-ISA bridge, used by console device
- Respect addresses provided by user in domain xml file
- Fix tests so 'make check' passes
Roman Bogorodskiy (3):
qemu: extract PCI handling structs
qemu: extract common PCI handling functions
bhyve: implement PCI address allocation
po/POTFILES.in | 2 +
src/Makefile.am | 5 +
src/bhyve/bhyve_command.c | 142 ++--
src/bhyve/bhyve_device.c | 174 +++++
src/bhyve/bhyve_device.h | 38 ++
src/bhyve/bhyve_domain.c | 75 ++
src/bhyve/bhyve_domain.h | 39 ++
src/bhyve/bhyve_driver.c | 12 +-
src/conf/domain_addr.c | 566 ++++++++++++++++
src/conf/domain_addr.h | 149 ++++
src/libvirt_private.syms | 17 +
src/qemu/qemu_command.c | 754 +++------------------
src/qemu/qemu_command.h | 49 +-
src/qemu/qemu_domain.c | 3 +-
src/qemu/qemu_domain.h | 6 +-
src/qemu/qemu_hotplug.c | 8 +-
src/qemu/qemu_process.c | 2 +-
.../bhyvexml2argvdata/bhyvexml2argv-acpiapic.args | 2 +-
tests/bhyvexml2argvdata/bhyvexml2argv-acpiapic.xml | 2 +
tests/bhyvexml2argvdata/bhyvexml2argv-base.args | 2 +-
tests/bhyvexml2argvdata/bhyvexml2argv-base.xml | 2 +
tests/bhyvexml2argvdata/bhyvexml2argv-console.args | 4 +-
tests/bhyvexml2argvdata/bhyvexml2argv-console.xml | 2 +
.../bhyvexml2argv-disk-virtio.args | 2 +-
.../bhyvexml2argv-disk-virtio.xml | 2 +
tests/bhyvexml2argvdata/bhyvexml2argv-macaddr.args | 2 +-
tests/bhyvexml2argvdata/bhyvexml2argv-macaddr.xml | 2 +
tests/bhyvexml2argvdata/bhyvexml2argv-serial.args | 4 +-
tests/bhyvexml2argvdata/bhyvexml2argv-serial.xml | 2 +
29 files changed, 1287 insertions(+), 782 deletions(-)
create mode 100644 src/bhyve/bhyve_device.c
create mode 100644 src/bhyve/bhyve_device.h
create mode 100644 src/bhyve/bhyve_domain.c
create mode 100644 src/bhyve/bhyve_domain.h
create mode 100644 src/conf/domain_addr.c
create mode 100644 src/conf/domain_addr.h
--
1.9.0