1. 31 1月, 2017 2 次提交
    • R
      bhyve: fix SATA address allocation · 803966c7
      Roman Bogorodskiy 提交于
      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 c07d1c1c 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.
      803966c7
    • R
      bhyve: add virBhyveDriverCreateXMLConf · 13a050b2
      Roman Bogorodskiy 提交于
      Add virBhyveDriverCreateXMLConf, a simple wrapper around
      virDomainXMLOptionNew that makes it easier to pass bhyveConnPtr
      as a private data for parser. It will be used later for device
      address allocation at parsing time.
      
      Update consumers to use it instead of direct calls to
      virDomainXMLOptionNew.
      
      As we now have proper callbacks connected for the tests, update
      test files accordingly to include the automatically generated
      PCI root controller.
      13a050b2
  2. 02 1月, 2017 3 次提交
  3. 12 6月, 2016 1 次提交
  4. 13 11月, 2014 1 次提交
    • C
      drvbhyve: Use boot-order for grub-bhyve boot device · cdbb21bc
      Conrad Meyer 提交于
      Rather than just picking the first CD (or failing that, HDD) we come
      across, if the user has picked a boot device ordering with <boot
      order=''>, respect that (and just try to boot the lowest-index device).
      
      Adds two sets of tests to bhyve2xmlargv; 'grub-bootorder' shows that we
      pick a user-specified device over the first device in the domain;
      'grub-bootorder2' shows that we pick the first (lowest index) device.
      cdbb21bc
  5. 12 11月, 2014 1 次提交
  6. 13 6月, 2014 1 次提交
    • R
      bhyve: implement PCI address allocation · aad479dc
      Roman Bogorodskiy 提交于
      Automatically allocate PCI addresses for devices instead
      of hardcoding them in the driver code. The current
      allocation schema is to dedicate an entire slot for each devices.
      
      Also, allow having arbitrary number of devices.
      aad479dc
  7. 27 3月, 2014 1 次提交
    • R
      bhyve: add xml2args unittest · 1994d2dd
      Roman Bogorodskiy 提交于
      At this point unittest covers 4 basic cases:
      
       - minimal working XML for bhyve
       - same as above, but with virtio disk
       - ACPI and APIC args test
       - MAC address test
      1994d2dd