Rebased and updated from previous patch set to address feedback: * Tried to match local convention for subjects where obvious * Split patch 01 into two patches, with updated messages * Use g_autofree to fix use after free in conf/virnetworkobj * Add missing newline in one of the tests args files * Fix failing schema tests after schema change gmake check now reports no failing tests on FreeBSD for each patch. Ryan Moeller (12): bhyve: process: remove unneeded header conf: fix use after free bhyve: process: don't bother seeking to end of log bhyve: monitor: Make bhyveMonitor a virClass bhyve: monitor: refactor register/unregister bhyve: add hooks bhyve: add reboot support bhyve: command: refactor virBhyveProcessBuildBhyveCmd bhyve: parse_command: slot,bus,func -> bus,slot,func add hostdev handling for bhyve bhyve: command: enable booting from hostdevs Allow PCI functions up to 255 for PCI ARI docs/schemas/basictypes.rng | 10 +- docs/schemas/domaincommon.rng | 30 +++ src/bhyve/bhyve_capabilities.c | 14 + src/bhyve/bhyve_capabilities.h | 1 + src/bhyve/bhyve_command.c | 241 ++++++++++++++---- src/bhyve/bhyve_driver.c | 30 +++ src/bhyve/bhyve_monitor.c | 157 ++++++++---- src/bhyve/bhyve_monitor.h | 2 + src/bhyve/bhyve_parse_command.c | 124 +++++++-- src/bhyve/bhyve_process.c | 83 ++++-- src/bhyve/bhyve_process.h | 3 + src/conf/domain_audit.c | 5 + src/conf/domain_conf.c | 131 ++++++++++ src/conf/domain_conf.h | 29 ++- src/conf/virconftypes.h | 3 + src/conf/virnetworkobj.c | 5 +- src/qemu/qemu_command.c | 2 + src/qemu/qemu_domain.c | 5 + src/qemu/qemu_hostdev.c | 1 + src/qemu/qemu_hotplug.c | 2 + src/qemu/qemu_migration.c | 1 + src/security/security_apparmor.c | 1 + src/security/security_dac.c | 28 ++ src/security/security_selinux.c | 8 + src/util/virhook.c | 15 ++ src/util/virhook.h | 11 + src/util/virpci.c | 4 +- .../bhyveargv2xml-passthru.args | 8 + .../bhyveargv2xml-passthru.xml | 26 ++ .../bhyveargv2xml-virtio-scsi.args | 9 + .../bhyveargv2xml-virtio-scsi.xml | 20 ++ tests/bhyveargv2xmltest.c | 2 + .../bhyvexml2argv-passthru.args | 11 + .../bhyvexml2argv-passthru.ldargs | 1 + .../bhyvexml2argv-passthru.xml | 22 ++ .../bhyvexml2argv-virtio-scsi.args | 9 + .../bhyvexml2argv-virtio-scsi.ldargs | 1 + .../bhyvexml2argv-virtio-scsi.xml | 21 ++ tests/bhyvexml2argvtest.c | 4 +- .../bhyvexml2xmlout-passthru.xml | 29 +++ .../bhyvexml2xmlout-virtio-scsi.xml | 23 ++ tests/bhyvexml2xmltest.c | 2 + .../qemuxml2argvdata/pci-function-invalid.xml | 2 +- 43 files changed, 983 insertions(+), 153 deletions(-) create mode 100644 tests/bhyveargv2xmldata/bhyveargv2xml-passthru.args create mode 100644 tests/bhyveargv2xmldata/bhyveargv2xml-passthru.xml create mode 100644 tests/bhyveargv2xmldata/bhyveargv2xml-virtio-scsi.args create mode 100644 tests/bhyveargv2xmldata/bhyveargv2xml-virtio-scsi.xml create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-passthru.args create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-passthru.ldargs create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-passthru.xml create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-virtio-scsi.args create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-virtio-scsi.ldargs create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-virtio-scsi.xml create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-passthru.xml create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-virtio-scsi.xml -- 2.24.1