Changes since v1: - Added ',' validation in port name and UNIX socket path, as it would brake the bhyve command line parsing - Minor formatting/style fixes - Added a separate patch to report ISA controller validation error Roman Bogorodskiy (2): bhyve: add virtio-console support bhyve: improve ISA controller validation error reporting src/bhyve/bhyve_command.c | 42 +++++- src/bhyve/bhyve_device.c | 42 +++++- src/bhyve/bhyve_domain.c | 72 ++++++++-- src/bhyve/bhyve_process.c | 14 ++ ...exml2argv-2-virtio-console-mixed-addr.args | 10 ++ ...ml2argv-2-virtio-console-mixed-addr.ldargs | 4 + ...vexml2argv-2-virtio-console-mixed-addr.xml | 26 ++++ .../bhyvexml2argv-virtio-console-addr.args | 10 ++ .../bhyvexml2argv-virtio-console-addr.ldargs | 4 + .../bhyvexml2argv-virtio-console-addr.xml | 25 ++++ ...vexml2argv-virtio-console-controllers.args | 11 ++ ...xml2argv-virtio-console-controllers.ldargs | 4 + ...yvexml2argv-virtio-console-controllers.xml | 31 +++++ ...vexml2argv-virtio-console-invalid-name.xml | 21 +++ ...vexml2argv-virtio-console-invalid-path.xml | 21 +++ ...v-virtio-console-multiple-controllers.args | 11 ++ ...virtio-console-multiple-controllers.ldargs | 4 + ...gv-virtio-console-multiple-controllers.xml | 89 +++++++++++++ ...xml2argv-virtio-console-too-many-ports.xml | 25 ++++ .../x86_64/bhyvexml2argv-virtio-console.args | 10 ++ .../bhyvexml2argv-virtio-console.ldargs | 4 + .../x86_64/bhyvexml2argv-virtio-console.xml | 21 +++ tests/bhyvexml2argvtest.c | 8 ++ ...xml2xmlout-2-virtio-console-mixed-addr.xml | 40 ++++++ .../bhyvexml2xmlout-virtio-console-addr.xml | 35 +++++ ...exml2xmlout-virtio-console-controllers.xml | 43 ++++++ ...ut-virtio-console-multiple-controllers.xml | 123 ++++++++++++++++++ .../x86_64/bhyvexml2xmlout-virtio-console.xml | 35 +++++ tests/bhyvexml2xmltest.c | 8 ++ 29 files changed, 782 insertions(+), 11 deletions(-) create mode 100644 tests/bhyvexml2argvdata/x86_64/bhyvexml2argv-2-virtio-console-mixed-addr.args create mode 100644 tests/bhyvexml2argvdata/x86_64/bhyvexml2argv-2-virtio-console-mixed-addr.ldargs create mode 100644 tests/bhyvexml2argvdata/x86_64/bhyvexml2argv-2-virtio-console-mixed-addr.xml create mode 100644 tests/bhyvexml2argvdata/x86_64/bhyvexml2argv-virtio-console-addr.args create mode 100644 tests/bhyvexml2argvdata/x86_64/bhyvexml2argv-virtio-console-addr.ldargs create mode 100644 tests/bhyvexml2argvdata/x86_64/bhyvexml2argv-virtio-console-addr.xml create mode 100644 tests/bhyvexml2argvdata/x86_64/bhyvexml2argv-virtio-console-controllers.args create mode 100644 tests/bhyvexml2argvdata/x86_64/bhyvexml2argv-virtio-console-controllers.ldargs create mode 100644 tests/bhyvexml2argvdata/x86_64/bhyvexml2argv-virtio-console-controllers.xml create mode 100644 tests/bhyvexml2argvdata/x86_64/bhyvexml2argv-virtio-console-invalid-name.xml create mode 100644 tests/bhyvexml2argvdata/x86_64/bhyvexml2argv-virtio-console-invalid-path.xml create mode 100644 tests/bhyvexml2argvdata/x86_64/bhyvexml2argv-virtio-console-multiple-controllers.args create mode 100644 tests/bhyvexml2argvdata/x86_64/bhyvexml2argv-virtio-console-multiple-controllers.ldargs create mode 100644 tests/bhyvexml2argvdata/x86_64/bhyvexml2argv-virtio-console-multiple-controllers.xml create mode 100644 tests/bhyvexml2argvdata/x86_64/bhyvexml2argv-virtio-console-too-many-ports.xml create mode 100644 tests/bhyvexml2argvdata/x86_64/bhyvexml2argv-virtio-console.args create mode 100644 tests/bhyvexml2argvdata/x86_64/bhyvexml2argv-virtio-console.ldargs create mode 100644 tests/bhyvexml2argvdata/x86_64/bhyvexml2argv-virtio-console.xml create mode 100644 tests/bhyvexml2xmloutdata/x86_64/bhyvexml2xmlout-2-virtio-console-mixed-addr.xml create mode 100644 tests/bhyvexml2xmloutdata/x86_64/bhyvexml2xmlout-virtio-console-addr.xml create mode 100644 tests/bhyvexml2xmloutdata/x86_64/bhyvexml2xmlout-virtio-console-controllers.xml create mode 100644 tests/bhyvexml2xmloutdata/x86_64/bhyvexml2xmlout-virtio-console-multiple-controllers.xml create mode 100644 tests/bhyvexml2xmloutdata/x86_64/bhyvexml2xmlout-virtio-console.xml -- 2.52.0