- 14 10月, 2016 1 次提交
-
-
由 Michal Privoznik 提交于
This function for some weird reason returns integer instead of virDomainNetType type. It is important to return the correct type so that we know what values we can expect. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 12 10月, 2016 1 次提交
-
-
由 Martin Kletzander 提交于
This way we get reference counting and we can get rid of locking function. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
- 29 9月, 2016 1 次提交
-
-
由 Roman Bogorodskiy 提交于
In commit 7f127ded cpuCompareXML was renamed to virCPUCompareXML, so change the bhyve driver to use the new function and thus fix the build.
-
- 26 9月, 2016 3 次提交
-
-
由 Michal Privoznik 提交于
Just like virDomainDefPostParseCallback has gained new parseOpaque argument, we need to follow the logic with virDomainDeviceDefPostParse. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Michal Privoznik 提交于
We want to pass the proper opaque pointer instead of NULL to virDomainDefParse and subsequently virDomainDefParseNode too. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Michal Privoznik 提交于
Some callers might want to pass yet another pointer to opaque data to post parse callbacks. The driver generic one is not enough because two threads executing post parse callback might want to see different data (e.g. domain object pointer that domain def belongs to). Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 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.
-
- 11 7月, 2016 5 次提交
-
-
由 Peter Krempa 提交于
Allow to store driver specific data on a per-vcpu basis. Move of the virDomainDef*Vcpus* functions was necessary as virDomainXMLOptionPtr was declared below this block and I didn't want to split the function headers.
-
由 Fabian Freyer 提交于
-
由 Fabian Freyer 提交于
A simple getopt-based argument parser is added for the /usr/sbin/bhyveload command, loosely based on its argument parser. The boot disk is guessed by iterating over all disks and matching their sources. If any non-default arguments are found, def->os.bootloaderArgs is set accordingly, and the bootloader is treated as a custom bootloader. Custom bootloader are supported by setting the def->os.bootloader and def->os.bootloaderArgs accordingly grub-bhyve is also treated as a custom bootloader. Since we don't get the device map in the native format anyways, we can't reconstruct the complete boot order. While it is possible to check what type the grub boot disk is by checking if the --root argument is "cd" or "hd0,msdos1", and then just use the first disk found, implementing the grub-bhyve argument parser as-is in the grub-bhyve source would mean adding a dependency to argp or duplicating lots of the code of argp. Therefore it's not really worth implementing that now. Signed-off-by: NFabian Freyer <fabian.freyer@physik.tu-berlin.de>
-
由 Fabian Freyer 提交于
A simpe getopt-based argument parser is added for the /usr/sbin/bhyve command, loosely based on its argument parser, which reads the following from the bhyve command line string: * vm name * number of vcpus * memory size * the time offset (UTC or localtime) * features: * acpi * ioapic: While this flag is deprecated in FreeBSD r257423, keep checking for it for backwards compatibiility. * the domain UUID; if not explicitely given, one will be generated. * lpc devices: for now only the com1 and com2 are supported. It is required for these to be /dev/nmdm[\d+][AB], and the slave devices are automatically inferred from these to be the corresponding end of the virtual null-modem cable: /dev/nmdm<N>A <-> /dev/nmdm<N>B * PCI devices: * Disks: these are numbered in the order they are found, for virtio and ahci disks separately. The destination is set to sdX or vdX with X='a'+index; therefore only 'z'-'a' disks are supported. Disks are considered to be block devices if the path starts with /dev, otherwise they are considered to be files. * Networks: only tap devices are supported. Since it isn't possible to tell the type of the network, VIR_DOMAIN_NET_TYPE_ETHERNET is assumed, since it is the most generic. If no mac is specified, one will be generated. Signed-off-by: NFabian Freyer <fabian.freyer@physik.tu-berlin.de>
-
由 Fabian Freyer 提交于
First, remove escaped newlines and split up the string into an argv-list for the bhyve and loader commands, respectively. This is done by iterating over the string splitting it by newlines, and then re-iterating over each line, splitting it by spaces. Since this code reuses part of the code of qemu_parse_command.c (in bhyveCommandLine2argv), add the appropriate copyright notices. Signed-off-by: NFabian Freyer <fabian.freyer@physik.tu-berlin.de>
-
- 07 7月, 2016 1 次提交
-
-
由 Peter Krempa 提交于
Few arguments of the function are not necessary any more which leads to some cleanups. The 'uri' argument had a stray ATTRIBUTE_UNUSED.
-
- 17 6月, 2016 1 次提交
-
-
由 Peter Krempa 提交于
-
- 12 6月, 2016 1 次提交
-
-
由 Roman Bogorodskiy 提交于
-
- 10 6月, 2016 3 次提交
-
-
由 Daniel P. Berrange 提交于
In preparation for moving all the CPU related APIs out of the nodeinfo file, give them a virHostCPU name prefix. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
In preparation for moving all the memory related APIs out of the nodeinfo file, give them a virHostMem name prefix. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
Nearly all the methods in the nodeinfo file are given a 'const char *sysfs_prefix' parameter to override the default sysfs path (/sys/devices/system). Every single caller passes in NULL for this, except one use in the unit tests. Furthermore this parameter is totally Linux-specific, when the APIs are intended to be cross platform portable. This removes the sysfs_prefix parameter and instead gives a new method linuxNodeInfoSetSysFSSystemPath for use by the test suite. For two of the methods this hardcodes use of the constant SYSFS_SYSTEM_PATH, since the test suite does not need to override the path for thos methods. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
- 08 6月, 2016 1 次提交
-
-
由 Daniel P. Berrange 提交于
The virConnectOpenInternal method opens the libvirt client config file and uses it to resolve things like URI aliases. There may be driver specific things that are useful to store in the config file too, so rather than have them re-parse the same file, pass the virConfPtr down to the drivers. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
- 07 6月, 2016 1 次提交
-
-
由 Peter Krempa 提交于
Make it obvious that the flag is controlling RNG schema validation.
-
- 24 5月, 2016 1 次提交
-
-
由 Jovanka Gulicoska 提交于
Replace VIR_ERROR with virReportError
-
- 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.
-
- 20 5月, 2016 1 次提交
-
-
由 Jovanka Gulicoska 提交于
Convert to virGetLastErrorMessage() in the rest of the code
-
- 18 5月, 2016 2 次提交
-
-
由 Fabian Freyer 提交于
Trivially return 1, since bhyve is considered a local connection that should not be vulnerable to eavesdropping.
-
由 Fabian Freyer 提交于
Being a local connection, bhyve does not support encryption. Therefore trivially return 0.
-
- 17 5月, 2016 1 次提交
-
-
由 Fabian Freyer 提交于
bhyve connections are local, and a "connection will be classed as alive if it is [...] local".
-
- 14 5月, 2016 1 次提交
-
-
由 Fabian Freyer 提交于
This implements virConnectGetType for the bhyve driver.
-
- 05 5月, 2016 2 次提交
-
-
由 Roman Bogorodskiy 提交于
Bhyve supports ACPI shutdown by issuing SIGTERM signal to a bhyve process. Add the bhyveDomainShutdown() function and virBhyveProcessShutdown() helper function that just sends SIGTERM to VM's bhyve process. If a guest supports ACPI shutdown then process will be terminated and this event will be noticed by the bhyve monitor code that will handle setting proper status and clean up VM's resources by calling virBhyveProcessStop().
-
由 Roman Bogorodskiy 提交于
Current implementation of domainDestroy for bhyve calls virProcessKillPainfully() for the bhyve process and then executes "bhyvectl --destroy". This is wrong for two reasons: * bhyvectl --destroy alone is sufficient because it terminates the process * virProcessKillPainfully() first sends SIGTERM and after few attempts sends SIGKILL. As SIGTERM triggers ACPI shutdown that we're not interested in, it creates an unwanted side effect in domainDestroy. Also, destroy monitor only after "bhyvectl --destroy" command succeeded to avoid a case when the command fails and domain remains running, but not being monitored anymore.
-
- 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.
-
- 06 4月, 2016 1 次提交
-
-
由 Peter Krempa 提交于
The value is never negative thus there's no need to store it in a signed type.
-
- 29 3月, 2016 2 次提交
-
-
由 Maxim Nestratov 提交于
-
由 Maxim Nestratov 提交于
-
- 19 3月, 2016 1 次提交
-
-
由 Cole Robinson 提交于
virBhyveCapsInitCPU will raise a libvirt error; even though we treat it as non-fatal we should log the actual message.
-
- 09 3月, 2016 1 次提交
-
-
由 Peter Krempa 提交于
Introduce a helper to check supported device and domain config and move the memory hotplug checks to it. The advantage of this approach is that by default all new features are considered unsupported by all hypervisors unless specifically changed rather than the previous approach where every hypervisor would need to declare that a given feature is unsupported.
-
- 06 2月, 2016 2 次提交
-
-
由 Roman Bogorodskiy 提交于
Syntax-check fails with: cppi: src/bhyve/bhyve_driver.h: line 26: not properly indented cppi: src/bhyve/bhyve_driver.h: line 27: not properly indented maint.mk: incorrect preprocessor indentation Fix by properly indenting '#include's. Pushed as trivial.
-
由 Michal Privoznik 提交于
After 1036ddad we use bhyveDriverGetCapabilities from other sources too, not only from bhyve_driver.c. However, the function was static so not properly expose to other files. In order to expose it, we need to move couple of #include-s too. Then, there has been a copy paste error in virBhyveProcessReconnect: s/privconn/data->driver/. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 05 2月, 2016 2 次提交
-
-
由 Daniel P. Berrange 提交于
The virDomainObjFormat and virDomainSaveStatus methods both call into virDomainDefFormat, so should be providing a non-NULL virCapsPtr instance. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Roman Bogorodskiy 提交于
Fix build fail introduced as a side effect of commit d239a542. Pushed under the build breaker rule.
-