libvirt/src/bhyve
Roman Bogorodskiy 803966c76d bhyve: fix SATA address allocation
As bhyve for a long time didn't have a notion of the explicit SATA
controller and created a controller for each drive, the bhyve driver
in libvirt acted in a similar way and didn't care about the SATA
controllers and assigned PCI addresses to drives directly, as
the generated command will look like this anyway:

 2:0,ahci-hd,somedisk.img

This no longer makes sense because:

 1. After commit c07d1c1c4f it's not possible to assign
    PCI addresses to disks
 2. Bhyve now supports multiple disk drives for a controller,
    so it's going away from 1:1 controller:disk mapping, so
    the controller object starts to make more sense now

So, this patch does the following:

 - Assign PCI address to SATA controllers (previously we didn't do this)
 - Assign disk addresses instead of PCI addresses for disks. Now, when
   building a bhyve command, we take PCI address not from the disk
   itself but from its controller
 - Assign addresses at XML parsing time using the
   assignAddressesCallback. This is done mainly for being able to
   verify address allocation via xml2xml tests
 - Adjust existing bhyvexml2{xml,argv} tests to chase the new
   address allocation

This patch is largely based on work of Fabian Freyer.
2017-01-30 20:48:42 +04:00
..
bhyve_capabilities.c bhyve: detect 32 SATA devices per controller support 2017-01-30 20:48:42 +04:00
bhyve_capabilities.h bhyve: detect 32 SATA devices per controller support 2017-01-30 20:48:42 +04:00
bhyve_command.c bhyve: fix SATA address allocation 2017-01-30 20:48:42 +04:00
bhyve_command.h bhyve: Support /domain/bootloader configuration for non-FreeBSD guests. 2014-11-12 09:55:22 +01:00
bhyve_device.c bhyve: fix SATA address allocation 2017-01-30 20:48:42 +04:00
bhyve_device.h bhyve: implement PCI address allocation 2014-06-13 19:25:27 +04:00
bhyve_domain.c bhyve: fix SATA address allocation 2017-01-30 20:48:42 +04:00
bhyve_domain.h bhyve: add virBhyveDriverCreateXMLConf 2017-01-30 20:48:42 +04:00
bhyve_driver.c bhyve: add virBhyveDriverCreateXMLConf 2017-01-30 20:48:42 +04:00
bhyve_driver.h bhyve: fix preprocessor indentation 2016-02-06 05:26:51 +03:00
bhyve_monitor.c bhyve: monitor: do not override domain's privateData 2015-11-17 12:44:26 +03:00
bhyve_monitor.h drvbhyve: Automatically tear down guest domains on shutdown 2014-12-04 11:03:13 +01:00
bhyve_parse_command.c bhyve: fix interface type handling for argv2xml 2017-01-19 20:19:44 +04:00
bhyve_parse_command.h bhyve: implement virConnectDomainXMLFromNative 2016-07-10 15:40:10 -04:00
bhyve_process.c virDomainNetGetActualType: Return type is virDomainNetType 2016-10-14 10:15:51 +08:00
bhyve_process.h bhyve: implement domainShutdown 2016-05-05 08:04:01 +03:00
bhyve_utils.h conf: Split virDomainObjList into a separate file 2015-11-30 13:55:10 +01:00