- 26 3月, 2017 1 次提交
-
-
由 Roman Bogorodskiy 提交于
Along with video and VNC support, bhyve has introduced USB tablet support as an input device. This tablet is exposed to a guest as a device on an XHCI controller. At present, tablet is the only supported device on the XHCI controller in bhyve, so to make things simple, it's allowed to only have a single XHCI controller with a single tablet device. In detail, this commit: - Introduces a new capability bit for XHCI support in bhyve - Adds an XHCI controller and tabled support with 1:1 mapping between them - Adds a couple of unit tests
-
- 12 3月, 2017 1 次提交
-
-
由 Fabian Freyer 提交于
bhyve supports 'gop' video device that allows clients to connect to VMs using VNC clients. This commit adds support for that to the bhyve driver: - Introducr 'gop' video device type - Add capabilities probing for the 'fbuf' device that's responsible for graphics - Update command builder routines to let users configure domain's VNC via gop graphics. Signed-off-by: NRoman Bogorodskiy <bogorodskiy@gmail.com>
-
- 07 2月, 2017 1 次提交
-
-
由 Roman Bogorodskiy 提交于
Like it usually happens, I fixed one thing and broke another: in 803966c7 address allocation was fixed for SATA disks, but broke that for virtio disks, because it dropped disk address assignment completely. It's not needed for SATA disks anymore, but still needed for the virtio ones. Bring that back and add a couple of tests to make sure it won't happen again.
-
- 31 1月, 2017 1 次提交
-
-
由 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.
-
- 11 1月, 2017 2 次提交
-
-
由 Laine Stump 提交于
This function doesn't actually reserve an entire slot any more, it reserves a single PCI address, so this name is more appropriate.
-
由 Laine Stump 提交于
Since we don't actually reserve an entire slot at a time anymore, the name of this function is just confusing, and it's almost identical in operation to virDomainPCIAddressReserveNextAddr() anyway, so remove the *Slot() function and replace calls to it with calls to *Addr(..., -1).
-
- 29 8月, 2016 1 次提交
-
-
由 Roman Bogorodskiy 提交于
As bhyve currently doesn't use controller addressing and simply uses 1 implicit controller for 1 disk device, the scheme looks the following: pci addrees -> (implicit controller) -> disk device So in fact we identify disk devices by pci address of implicit controller and just pass it this way to bhyve in a form: -s pci_addr,ahci-(cd|hd),/path/to/disk Therefore, we cannot use virDeviceInfoPCIAddressWanted() because it does not expect that disk devices might need PCI address assignment. As a result, if a disk was specified without address, it will not be generated and domain will to start. Until proper controller addressing is implemented in the bhyve driver, force each disk to have PCI address generated if it was not specified by user.
-
- 21 5月, 2016 1 次提交
-
-
由 Laine Stump 提交于
Rather than only assigning a PCI address when no address is given at all, also do it when the config says that the address type is 'pci', but it gives no address.
-
- 02 5月, 2016 1 次提交
-
-
由 Martin Kletzander 提交于
We had both and the only difference was that the latter also included information about multifunction setting. The problem with that was that we couldn't use functions made for only one of the structs (e.g. parsing). To consolidate those two structs, use the one in virpci.h, include that in domain_conf.h and add the multifunction member in it. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
- 15 4月, 2016 1 次提交
-
-
由 Laine Stump 提交于
The flags used to determine which devices could be plugged into which controllers were quite confusing, as they tried to create classes of connections, then put particular devices into possibly multiple classes, while sometimes setting multiple flags for the controllers themselves. The attempt to have a single flag indicate, e.g. that a root-port or a switch-downstream-port could connect was not only confusing, it was leading to a situation where it would be impossible to specify exactly the right combinations for a new controller. The solution is for the VIR_PCI_CONNECT_TYPE_* flags to have a 1:1 correspondence with each type of PCI controller, plus a flag for a PCI endpoint device and another for a PCIe endpoint device (the only exception to this is that pci-bridge and pcie-expander-bus controllers have their upstream connection classified as VIR_PCI_CONNECT_TYPE_PCI_DEVICE since they can be plugged into *exactly* the same ports as any endpoint device). Each device then has a single flag for connect type (plus the HOTPLUG flag if that device can e hotplugged), and each controller sets the CONNECT bits for all controllers that can be plugged into it, as well as for either type of endpoint device that can be plugged in (and the HOTPLUG flag if it can accept hotplugged devices). With this change, it is *slightly* easier to understand the matching of connections (as long as you remember that the flag for a device/upstream-facing connection of a controller is the same as that device's type, while the flags for a controller's downstream connections is the OR of all device types that can be plugged into that controller). More importantly, it will be possible to correctly specify what can be plugged into a pcie-switch-expander-bus, when support for it is added.
-
- 13 11月, 2014 1 次提交
-
-
由 Conrad Meyer 提交于
-
- 13 6月, 2014 1 次提交
-
-
由 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.
-