[PATCH v6 2/3] bhyve: support 'isa' controller for LPC

Daniel P. Berrangé berrange at redhat.com
Mon Sep 21 08:10:24 UTC 2020


On Sun, Sep 20, 2020 at 07:21:14PM +0400, Roman Bogorodskiy wrote:
> Support modeling of the 'isa' controller for bhyve. User can manually
> define any PCI slot for the 'isa' controller, including PCI slot 1,
> but other devices are not allowed to use this address.
> 
> When domain configuration requires the 'isa' controller to be present,
> automatically add it on domain post-parse stage.
> 
> Now, as this controller is always available when needed, it's not
> necessary to implicitly add it to the bhyve command line, so remove
> bhyveBuildLPCArgStr().
> 
> Also, make bhyveDomainDefNeedsISAController() static as it's no longer
> used outside of bhyve_domain.c.
> 
> As more than one ISA controller is not supported by bhyve,
> and multiple controllers with the same index are forbidden,
> so forbid ISA controllers with non-zero index for bhyve.
> 
> Signed-off-by: Roman Bogorodskiy <bogorodskiy at gmail.com>
> ---
>  src/bhyve/bhyve_command.c                     | 27 +++++++-------
>  src/bhyve/bhyve_device.c                      | 23 +++++++++---
>  src/bhyve/bhyve_domain.c                      | 25 +++++++++++--
>  src/bhyve/bhyve_domain.h                      |  2 --
>  ...ml2argv-addr-isa-controller-on-slot-1.args | 10 ++++++
>  ...2argv-addr-isa-controller-on-slot-1.ldargs |  3 ++
>  ...xml2argv-addr-isa-controller-on-slot-1.xml | 26 ++++++++++++++
>  ...l2argv-addr-isa-controller-on-slot-31.args | 10 ++++++
>  ...argv-addr-isa-controller-on-slot-31.ldargs |  3 ++
>  ...ml2argv-addr-isa-controller-on-slot-31.xml | 26 ++++++++++++++
>  ...argv-addr-non-isa-controller-on-slot-1.xml | 23 ++++++++++++
>  .../bhyvexml2argv-console.args                |  2 +-
>  .../bhyvexml2argv-isa-controller.args         | 10 ++++++
>  .../bhyvexml2argv-isa-controller.ldargs       |  3 ++
>  .../bhyvexml2argv-isa-controller.xml          | 24 +++++++++++++
>  ...bhyvexml2argv-isa-multiple-controllers.xml | 25 +++++++++++++
>  .../bhyvexml2argv-serial-grub-nocons.args     |  2 +-
>  .../bhyvexml2argv-serial-grub.args            |  2 +-
>  .../bhyvexml2argv-serial.args                 |  2 +-
>  .../bhyvexml2argvdata/bhyvexml2argv-uefi.args |  4 +--
>  .../bhyvexml2argv-vnc-autoport.args           |  4 +--
>  .../bhyvexml2argv-vnc-vgaconf-io.args         |  4 +--
>  .../bhyvexml2argv-vnc-vgaconf-off.args        |  4 +--
>  .../bhyvexml2argv-vnc-vgaconf-on.args         |  4 +--
>  .../bhyvexml2argvdata/bhyvexml2argv-vnc.args  |  4 +--
>  tests/bhyvexml2argvtest.c                     |  5 +++
>  ...l2xmlout-addr-isa-controller-on-slot-1.xml | 36 +++++++++++++++++++
>  ...2xmlout-addr-isa-controller-on-slot-31.xml | 36 +++++++++++++++++++
>  .../bhyvexml2xmlout-console.xml               |  3 ++
>  .../bhyvexml2xmlout-isa-controller.xml        | 36 +++++++++++++++++++
>  .../bhyvexml2xmlout-serial-grub-nocons.xml    |  3 ++
>  .../bhyvexml2xmlout-serial-grub.xml           |  3 ++
>  .../bhyvexml2xmlout-serial.xml                |  3 ++
>  .../bhyvexml2xmlout-vnc-autoport.xml          |  3 ++
>  .../bhyvexml2xmlout-vnc-vgaconf-io.xml        |  3 ++
>  .../bhyvexml2xmlout-vnc-vgaconf-off.xml       |  3 ++
>  .../bhyvexml2xmlout-vnc-vgaconf-on.xml        |  3 ++
>  .../bhyvexml2xmlout-vnc.xml                   |  3 ++
>  tests/bhyvexml2xmltest.c                      |  3 ++
>  39 files changed, 378 insertions(+), 37 deletions(-)
>  create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-isa-controller-on-slot-1.args
>  create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-isa-controller-on-slot-1.ldargs
>  create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-isa-controller-on-slot-1.xml
>  create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-isa-controller-on-slot-31.args
>  create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-isa-controller-on-slot-31.ldargs
>  create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-isa-controller-on-slot-31.xml
>  create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-non-isa-controller-on-slot-1.xml
>  create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-isa-controller.args
>  create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-isa-controller.ldargs
>  create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-isa-controller.xml
>  create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-isa-multiple-controllers.xml
>  create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-addr-isa-controller-on-slot-1.xml
>  create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-addr-isa-controller-on-slot-31.xml
>  create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-isa-controller.xml

Reviewed-by: Daniel P. Berrangé <berrange at redhat.com>


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the libvir-list mailing list