[libvirt] [PATCH v1 0/4] bhyve: rework SATA address allocation

Roman Bogorodskiy bogorodskiy at gmail.com
Thu Jan 5 14:46:30 UTC 2017


This series reworks SATA address allocation in the bhyve driver.

While commit messages provide enough details (I hope), there
are some general important notes:

 - currently, sata devices get PCI addresses and this no
   longer works, so right now bhyve driver fails on any
   SATA device
 - While this series fixes SATA devices' addresses (I hope *again*),
   old Domain XMLs with already generated PCI addresses will
   not work. Also, it will not work for XMLs where user
   manually specified PCI address for a disk, though it
   worked before. This is not good and I'm open for suggestions
   how to handle that. I'm thinking about writing a tiny
   Python script that will drop incorrect addresses from
   domain XMLs.


Fabian Freyer (1):
  bhyve: detect 32 SATA devices per controller support

Roman Bogorodskiy (3):
  bhyve: add virBhyveDriverCreateXMLConf
  bhyve: fix SATA address allocation
  bhyve: add tests for SATA address allocation

 po/POTFILES.in                                     |   1 +
 src/bhyve/bhyve_capabilities.c                     |  59 ++++-
 src/bhyve/bhyve_capabilities.h                     |   3 +-
 src/bhyve/bhyve_command.c                          | 143 +++++++++---
 src/bhyve/bhyve_device.c                           |  33 ++-
 src/bhyve/bhyve_domain.c                           |  69 +++++-
 src/bhyve/bhyve_domain.h                           |   2 +
 src/bhyve/bhyve_driver.c                           |   4 +-
 .../bhyvexml2argvdata/bhyvexml2argv-acpiapic.args  |   4 +-
 ...bhyvexml2argv-addr-more-than-32-sata-disks.args |  21 ++
 ...yvexml2argv-addr-more-than-32-sata-disks.ldargs |   3 +
 .../bhyvexml2argv-addr-more-than-32-sata-disks.xml | 196 ++++++++++++++++
 .../bhyvexml2argv-addr-multiple-sata-disks.args    |   9 +
 .../bhyvexml2argv-addr-multiple-sata-disks.ldargs  |   3 +
 .../bhyvexml2argv-addr-multiple-sata-disks.xml     |  31 +++
 ...2argv-addr-no32devs-more-than-32-sata-disks.xml | 196 ++++++++++++++++
 ...xml2argv-addr-no32devs-multiple-sata-disks.args |  11 +
 ...l2argv-addr-no32devs-multiple-sata-disks.ldargs |   3 +
 ...exml2argv-addr-no32devs-multiple-sata-disks.xml |  31 +++
 ...yvexml2argv-addr-no32devs-single-sata-disk.args |   9 +
 ...exml2argv-addr-no32devs-single-sata-disk.ldargs |   3 +
 ...hyvexml2argv-addr-no32devs-single-sata-disk.xml |  21 ++
 .../bhyvexml2argv-addr-single-sata-disk.args       |   9 +
 .../bhyvexml2argv-addr-single-sata-disk.ldargs     |   3 +
 .../bhyvexml2argv-addr-single-sata-disk.xml        |  21 ++
 tests/bhyvexml2argvdata/bhyvexml2argv-base.args    |   4 +-
 .../bhyvexml2argv-bhyveload-bootorder.args         |   5 +-
 .../bhyvexml2argv-bhyveload-bootorder1.args        |   5 +-
 .../bhyvexml2argv-bhyveload-bootorder3.args        |   5 +-
 .../bhyvexml2argv-bhyveload-explicitargs.args      |   4 +-
 tests/bhyvexml2argvdata/bhyvexml2argv-console.args |   2 +-
 .../bhyvexml2argv-custom-loader.args               |   4 +-
 .../bhyvexml2argv-disk-cdrom-grub.args             |   4 +-
 .../bhyvexml2argv-disk-cdrom.args                  |   4 +-
 .../bhyvexml2argv-grub-bootorder.args              |   6 +-
 .../bhyvexml2argv-grub-bootorder2.args             |   6 +-
 .../bhyvexml2argv-grub-defaults.args               |   4 +-
 .../bhyvexml2argvdata/bhyvexml2argv-localtime.args |   4 +-
 tests/bhyvexml2argvdata/bhyvexml2argv-macaddr.args |   4 +-
 .../bhyvexml2argv-serial-grub-nocons.args          |   2 +-
 .../bhyvexml2argv-serial-grub.args                 |   2 +-
 tests/bhyvexml2argvdata/bhyvexml2argv-serial.args  |   2 +-
 tests/bhyvexml2argvtest.c                          |  25 ++-
 .../bhyvexml2xmlout-acpiapic.xml                   |   5 +-
 ...hyvexml2xmlout-addr-more-than-32-sata-disks.xml | 246 +++++++++++++++++++++
 .../bhyvexml2xmlout-addr-multiple-sata-disks.xml   |  45 ++++
 ...ml2xmlout-addr-no32devs-multiple-sata-disks.xml |  51 +++++
 ...vexml2xmlout-addr-no32devs-single-sata-disk.xml |  33 +++
 .../bhyvexml2xmlout-addr-single-sata-disk.xml      |  33 +++
 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-base.xml |   5 +-
 .../bhyvexml2xmlout-bhyveload-bootorder.xml        |   5 +-
 .../bhyvexml2xmlout-bhyveload-bootorder1.xml       |   5 +-
 .../bhyvexml2xmlout-bhyveload-bootorder2.xml       |   5 +-
 .../bhyvexml2xmlout-bhyveload-bootorder3.xml       |   5 +-
 .../bhyvexml2xmlout-bhyveload-bootorder4.xml       |   5 +-
 .../bhyvexml2xmlout-bhyveload-explicitargs.xml     |   5 +-
 .../bhyvexml2xmlout-console.xml                    |   5 +-
 .../bhyvexml2xmlout-custom-loader.xml              |   5 +-
 .../bhyvexml2xmlout-disk-cdrom-grub.xml            |   5 +-
 .../bhyvexml2xmlout-disk-cdrom.xml                 |   5 +-
 .../bhyvexml2xmlout-disk-virtio.xml                |   1 +
 .../bhyvexml2xmlout-grub-bootorder.xml             |   5 +-
 .../bhyvexml2xmlout-grub-bootorder2.xml            |   5 +-
 .../bhyvexml2xmlout-grub-defaults.xml              |   5 +-
 .../bhyvexml2xmlout-localtime.xml                  |   5 +-
 .../bhyvexml2xmlout-macaddr.xml                    |   5 +-
 .../bhyvexml2xmlout-metadata.xml                   |   6 +-
 .../bhyvexml2xmlout-serial-grub-nocons.xml         |   5 +-
 .../bhyvexml2xmlout-serial-grub.xml                |   5 +-
 .../bhyvexml2xmloutdata/bhyvexml2xmlout-serial.xml |   5 +-
 tests/bhyvexml2xmltest.c                           |  42 +++-
 71 files changed, 1398 insertions(+), 139 deletions(-)
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-more-than-32-sata-disks.args
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-more-than-32-sata-disks.ldargs
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-more-than-32-sata-disks.xml
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-multiple-sata-disks.args
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-multiple-sata-disks.ldargs
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-multiple-sata-disks.xml
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-no32devs-more-than-32-sata-disks.xml
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-no32devs-multiple-sata-disks.args
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-no32devs-multiple-sata-disks.ldargs
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-no32devs-multiple-sata-disks.xml
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-no32devs-single-sata-disk.args
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-no32devs-single-sata-disk.ldargs
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-no32devs-single-sata-disk.xml
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-single-sata-disk.args
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-single-sata-disk.ldargs
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-single-sata-disk.xml
 create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-addr-more-than-32-sata-disks.xml
 create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-addr-multiple-sata-disks.xml
 create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-addr-no32devs-multiple-sata-disks.xml
 create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-addr-no32devs-single-sata-disk.xml
 create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-addr-single-sata-disk.xml

-- 
2.11.0




More information about the libvir-list mailing list