[PATCH] qemuDomainAttachHostPCIDevice: Fix coding style
by Michal Privoznik
Our coding style requires that a body of an if() longer than two
lines is wrapped in a curly braces. There's one offender in
qemuDomainAttachHostPCIDevice(). Fortunately, there was no
functional problem because one of the lines is a comment.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
Pushed under trivial rule.
src/qemu/qemu_hotplug.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index 22acbd0852..f36de2385a 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -1663,9 +1663,10 @@ qemuDomainAttachHostPCIDevice(virQEMUDriver *driver,
qemuAssignDeviceHostdevAlias(vm->def, &info->alias, -1);
- if (qemuDomainIsPSeries(vm->def))
+ if (qemuDomainIsPSeries(vm->def)) {
/* Isolation groups are only relevant for pSeries guests */
qemuDomainFillDeviceIsolationGroup(vm->def, &dev);
+ }
if (qemuDomainEnsurePCIAddress(vm, &dev) < 0)
goto error;
--
2.34.1
2 years, 10 months
[libvirt PATCH 0/2] qemu: support the SeaBIOS/EDK2 debug console
by Daniel P. Berrangé
# virsh dumpxml fedora34x86_64 | xmllint -xpath '/domain/devices/console[2]' -
<console type="pty">
<target type="isa-debug" port="1"/>
<address type="isa" iobase="0x402"/>
</console>
# virsh start --paused fedora34x86_64
# virsh console --devname console1 fedora34x86_64
Now in another terminal
# virsh resume fedora34x86_64
And the 'virsh console' will now show the very first messages
at startup....
SecCoreStartupWithStack(0xFFFCC000, 0x820000)
SEC: Normal boot
DecompressMemFvs: OutputBuffer@A00000+0xCE0090 ScratchBuffer@1700000+0x10000 PcdOvmfDecompressionScratchEnd=0x1710000
Register PPI Notify: DCD0BE23-9586-40F4-B643-06522CED4EDE
Install PPI: 8C8CE578-8A3D-4F1C-9935-896185C32DD3
Install PPI: 5473C07A-3DCB-4DCA-BD6F-1E9689E7349A
The 0th FV start address is 0x00000820000, size is 0x000E0000, handle is 0x820000
Register PPI Notify: 49EDB1C1-BF21-4761-BB12-EB0031AABB39
Register PPI Notify: EA7CA24B-DED5-4DAD-A389-BF827E8F9B38
Install PPI: B9E0ABFE-5979-4914-977F-6DEE78C278A6
Install PPI: DBE23AA9-A345-4B97-85B6-B226F1617389
DiscoverPeimsAndOrderWithApriori(): Found 0xD PEI FFS files in the 0th FV
...snip...
Daniel P. Berrangé (2):
conf: support firmware ISA debug console
qemu: wire up support for isa-debugcon
docs/formatdomain.rst | 3 +-
docs/schemas/domaincommon.rng | 1 +
src/conf/domain_conf.c | 23 ++++++++---
src/conf/domain_conf.h | 1 +
src/qemu/qemu_command.c | 35 +++++++++++++++--
src/qemu/qemu_domain_address.c | 25 ++++++++++++
src/qemu/qemu_validate.c | 18 ++++++++-
.../debugcon.x86_64-latest.args | 39 +++++++++++++++++++
tests/qemuxml2argvdata/debugcon.xml | 27 +++++++++++++
tests/qemuxml2argvtest.c | 2 +
10 files changed, 162 insertions(+), 12 deletions(-)
create mode 100644 tests/qemuxml2argvdata/debugcon.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/debugcon.xml
--
2.33.1
2 years, 10 months
[PATCH 1/2] docs: Fix typos in the code comment
by Han Han
1. s/LifeCycle/Lifecycle/,
2. s/virConnectDomainEventTrayChangeReason/virDomainEventTrayChangeReason/
Signed-off-by: Han Han <hhan(a)redhat.com>
---
include/libvirt/libvirt-domain.h | 2 +-
include/libvirt/libvirt-network.h | 2 +-
include/libvirt/libvirt-nodedev.h | 2 +-
include/libvirt/libvirt-secret.h | 2 +-
include/libvirt/libvirt-storage.h | 2 +-
src/conf/domain_conf.h | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
index 5f0a9b7572..0647361952 100644
--- a/include/libvirt/libvirt-domain.h
+++ b/include/libvirt/libvirt-domain.h
@@ -4054,7 +4054,7 @@ typedef void (*virConnectDomainEventDiskChangeCallback)(virConnectPtr conn,
void *opaque);
/**
- * virConnectDomainEventTrayChangeReason:
+ * virDomainEventTrayChangeReason:
*
* The reason describing why the callback was called
*/
diff --git a/include/libvirt/libvirt-network.h b/include/libvirt/libvirt-network.h
index 398d8fccd4..80bd03878b 100644
--- a/include/libvirt/libvirt-network.h
+++ b/include/libvirt/libvirt-network.h
@@ -262,7 +262,7 @@ typedef enum {
* virConnectNetworkEventLifecycleCallback:
* @conn: connection object
* @net: network on which the event occurred
- * @event: The specific virNetworkEventLifeCycleType which occurred
+ * @event: The specific virNetworkEventLifecycleType which occurred
* @detail: contains some details on the reason of the event.
* It will be 0 for the while.
* @opaque: application specified data
diff --git a/include/libvirt/libvirt-nodedev.h b/include/libvirt/libvirt-nodedev.h
index 245365b07f..0c01d51aab 100644
--- a/include/libvirt/libvirt-nodedev.h
+++ b/include/libvirt/libvirt-nodedev.h
@@ -229,7 +229,7 @@ typedef enum {
* virConnectNodeDeviceEventLifecycleCallback:
* @conn: connection object
* @dev: node device on which the event occurred
- * @event: The specific virNodeDeviceEventLifeCycleType which occurred
+ * @event: The specific virNodeDeviceEventLifecycleType which occurred
* @detail: contains some details on the reason of the event.
* @opaque: application specified data
*
diff --git a/include/libvirt/libvirt-secret.h b/include/libvirt/libvirt-secret.h
index b8e53674d8..bc1286883c 100644
--- a/include/libvirt/libvirt-secret.h
+++ b/include/libvirt/libvirt-secret.h
@@ -190,7 +190,7 @@ typedef enum {
* virConnectSecretEventLifecycleCallback:
* @conn: connection object
* @secret: secret on which the event occurred
- * @event: The specific virSecretEventLifeCycleType which occurred
+ * @event: The specific virSecretEventLifecycleType which occurred
* @detail: contains some details on the reason of the event.
* @opaque: application specified data
*
diff --git a/include/libvirt/libvirt-storage.h b/include/libvirt/libvirt-storage.h
index f89856b93e..f8c665a18f 100644
--- a/include/libvirt/libvirt-storage.h
+++ b/include/libvirt/libvirt-storage.h
@@ -488,7 +488,7 @@ typedef enum {
* virConnectStoragePoolEventLifecycleCallback:
* @conn: connection object
* @pool: pool on which the event occurred
- * @event: The specific virStoragePoolEventLifeCycleType which occurred
+ * @event: The specific virStoragePoolEventLifecycleType which occurred
* @detail: contains some details on the reason of the event.
* @opaque: application specified data
*
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index e2f35fe20b..6b25a91d80 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -2823,7 +2823,7 @@ struct _virDomainDef {
virDomainResourceDef *resource;
virDomainIdMapDef idmap;
- /* These 3 are based on virDomainLifeCycleAction enum flags */
+ /* These 3 are based on virDomainLifecycleAction enum flags */
int onReboot;
int onPoweroff;
int onCrash;
--
2.34.1
2 years, 10 months
[PATCH 00/11] conf: Misc cleanups & reworks
by Michal Privoznik
As I was going through domain_conf.c trying to change the code to use
virXMLPropEnum() more I had to write couple of clean ups first.
Patches can be also found here:
https://gitlab.com/MichalPrivoznik/libvirt/-/commits/virxmlprop/
but on the branch, there are also said virXMLPropEnum() patches so look
only at the first 11 patches on the branch.
Michal Prívozník (11):
virDomainInputDefParseXML: Move validation into validator
virDomainChrSourceDefCopy: Copy more struct members
virDomainChrSourceDefCopy: Don't check arguments against NULL
virDomainChrSourceDefCopy: return void
conf: Fix type of @present in _virDomainTimerDef struct
conf: Fix @tickpolicy member of _virDomainTimerDef struct
conf: Fix @track member of _virDomainTimerDef struct
conf: Fix @mode member of _virDomainTimerDef struct
conf: Rework virDomainTimerDefFormat()
virDomainTimerDefFormat: return void
conf: Separate out virDomainClockDef formatting
src/conf/domain_conf.c | 296 ++++++++++++++-----------------------
src/conf/domain_conf.h | 22 +--
src/conf/domain_validate.c | 67 ++++++++-
src/libxl/libxl_conf.c | 2 +-
src/libxl/xen_common.c | 23 +--
src/lxc/lxc_cgroup.c | 2 +-
src/lxc/lxc_controller.c | 2 +-
src/qemu/qemu_command.c | 28 ++--
src/qemu/qemu_process.c | 5 +-
src/qemu/qemu_validate.c | 14 +-
10 files changed, 226 insertions(+), 235 deletions(-)
--
2.34.1
2 years, 10 months
[PATCH 0/2] Fix wrong parameter "scsi" for vhost-user-blk-pci device
by yshxxsjt715@gmail.com
From: shenjiatong <yshxxsjt715(a)gmail.com>
Co-authored-by: Peter Krempa
Peter Krempa (1):
qemuxml2argvtest: disk-vhostuser: Add invocation for qemu-4.2
shenjiatong (1):
Remove scsi parameter for vhost-user-blk for qemu 4.2
src/qemu/qemu_command.c | 6 ++-
.../disk-vhostuser-numa.x86_64-4.2.0.args | 39 +++++++++++++++++++
.../disk-vhostuser-numa.x86_64-latest.args | 39 +++++++++++++++++++
.../qemuxml2argvdata/disk-vhostuser-numa.xml | 32 +++++++++++++++
tests/qemuxml2argvtest.c | 2 +
5 files changed, 117 insertions(+), 1 deletion(-)
create mode 100644 tests/qemuxml2argvdata/disk-vhostuser-numa.x86_64-4.2.0.args
create mode 100644 tests/qemuxml2argvdata/disk-vhostuser-numa.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/disk-vhostuser-numa.xml
--
2.25.1
2 years, 10 months
[trivial][pushed][libvirt PATCH] docs: Fix spelling
by Tim Wiederhake
Signed-off-by: Tim Wiederhake <twiederh(a)redhat.com>
---
docs/kbase/debuglogs.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/kbase/debuglogs.rst b/docs/kbase/debuglogs.rst
index d2632cfff1..c361c698c5 100644
--- a/docs/kbase/debuglogs.rst
+++ b/docs/kbase/debuglogs.rst
@@ -163,7 +163,7 @@ In order to setup libvirt logging persistently, follow the steps below:
$XDG_CONFIG_HOME/libvirt/libvirtd.conf
$XDG_CONFIG_HOME/libvirt/virtqemud.conf
-- find & replace, or set the apropriate `Log outputs`_ and `Log filters`_, e.g ::
+- find & replace, or set the appropriate `Log outputs`_ and `Log filters`_, e.g ::
log_filters="3:remote 4:event 3:util.json 3:rpc 1:*"
log_outputs="1:file:/var/log/libvirt/libvirtd.log"
--
2.31.1
2 years, 10 months
[PATCH] meson: Explicitly specify run_command's check parameter
by Martin Kletzander
An update to meson 0.61.1 meant that it started showing warnings due to the fact
that the default for run_command's 'check' parameter is going to change. It
unveiled the fact that we were even missing that parameter in some calls where
we expected different outcome. To make sure the behaviour does not change
specify the parameter explicitly. In places where we check for the return code
the parameter should be 'false' so that meson does not fail. In all other cases
the parameter should be set to 'true' to make sure possible failure also stops
meson.
The warning in meson was added in https://github.com/mesonbuild/meson/pull/9304
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
build-aux/meson.build | 2 +-
docs/meson.build | 4 ++--
meson.build | 22 ++++++++++++----------
3 files changed, 15 insertions(+), 13 deletions(-)
diff --git a/build-aux/meson.build b/build-aux/meson.build
index e491bdeebc3f..f4d0130e3bf2 100644
--- a/build-aux/meson.build
+++ b/build-aux/meson.build
@@ -20,7 +20,7 @@ endif
if host_machine.system() == 'freebsd'
grep_prog = find_program('grep')
- grep_cmd = run_command(grep_prog, '--version')
+ grep_cmd = run_command(grep_prog, '--version', check: true)
if grep_cmd.stdout().startswith('grep (BSD grep')
grep_prog = find_program('/usr/local/bin/grep', required: false)
if not grep_prog.found()
diff --git a/docs/meson.build b/docs/meson.build
index 50c12cc3c255..54bba5e1b1fc 100644
--- a/docs/meson.build
+++ b/docs/meson.build
@@ -132,7 +132,7 @@ aclperms_gen = custom_target(
)
docs_timestamp = run_command(
- python3_prog, meson_timestamp_prog.path(), env: runutf8
+ python3_prog, meson_timestamp_prog.path(), env: runutf8, check: true,
).stdout().strip()
site_xsl = files('site.xsl')
@@ -206,7 +206,7 @@ endforeach
#
# Use this knowledge to detect the version that we know doesn't work
# for building libvirt and reject it
-rst2html5_version = run_command(rst2html5_prog, '--version')
+rst2html5_version = run_command(rst2html5_prog, '--version', check: true)
rst2html5_version = rst2html5_version.stdout().split(' ')
if rst2html5_version[1] != '(Docutils'
error('Please uninstall the rst2html5 package and install the docutils package')
diff --git a/meson.build b/meson.build
index 70843afcd546..ccb2b73624e0 100644
--- a/meson.build
+++ b/meson.build
@@ -14,10 +14,10 @@ project(
# figure out if we are building from git
-git = run_command('test', '-d', '.git').returncode() == 0
+git = run_command('test', '-d', '.git', check: false).returncode() == 0
if git and not get_option('no_git')
- run_command('git', 'submodule', 'update', '--init')
+ run_command('git', 'submodule', 'update', '--init', check: true)
endif
@@ -45,7 +45,7 @@ endif
if get_option('system')
prefix = '/usr'
libdir = prefix / 'lib64'
- if run_command('test', '-d', libdir).returncode() != 0
+ if run_command('test', '-d', libdir, check: false).returncode() != 0
libdir = prefix / 'lib'
endif
localstatedir = '/var'
@@ -222,6 +222,7 @@ size_max = cc.sizeof('size_t', prefix: '#include <stdint.h>')
alloc_max = run_command(
'python3', '-c',
'print(min(2**(@0@ * 8 - 1) - 1, 2**(@1@ * 8) - 1))'.format(ptrdiff_max, size_max),
+ check: true,
)
# sanitizer instrumentation may enlarge stack frames
@@ -1096,7 +1097,7 @@ if not get_option('nls').disabled()
endforeach
if xgettext_prog.found() and msgfmt_prog.found() and msgmerge_prog.found()
- rc = run_command(msgfmt_prog, '--version')
+ rc = run_command(msgfmt_prog, '--version', check: false)
if rc.returncode() == 0 and rc.stdout().contains('GNU gettext')
have_gnu_gettext_tools = true
endif
@@ -1199,7 +1200,7 @@ selinux_dep = dependency('libselinux', required: get_option('selinux'))
if selinux_dep.found()
selinux_mount = get_option('selinux_mount')
if selinux_mount == ''
- if run_command('test', '-d', '/sys/fs/selinux').returncode() == 0
+ if run_command('test', '-d', '/sys/fs/selinux', check: false).returncode() == 0
selinux_mount = '/sys/fs/selinux'
else
selinux_mount = '/selinux'
@@ -1658,7 +1659,7 @@ if not get_option('driver_qemu').disabled()
default_qemu_user = 'root'
default_qemu_group = 'wheel'
else
- os_release = run_command('grep', '^ID=', '/etc/os-release').stdout()
+ os_release = run_command('grep', '^ID=', '/etc/os-release', check: true).stdout()
if os_release.contains('arch')
default_qemu_user = 'nobody'
default_qemu_group = 'nobody'
@@ -1682,8 +1683,8 @@ if not get_option('driver_qemu').disabled()
# If the expected user and group don't exist, or we haven't hit any
# of the cases above bacuse we're running on an unknown OS, the only
# sensible fallback is root:root
- if (run_command('getent', 'passwd', default_qemu_user).returncode() != 0 and
- run_command('getent', 'group', default_qemu_group).returncode() != 0)
+ if (run_command('getent', 'passwd', default_qemu_user, check: false).returncode() != 0 and
+ run_command('getent', 'group', default_qemu_group, check: false).returncode() != 0)
default_qemu_user = 'root'
default_qemu_group = 'root'
endif
@@ -2178,7 +2179,8 @@ if git
)
endforeach
- authors = run_command(python3_prog, meson_gen_authors_prog.path(), env: runutf8)
+ authors = run_command(python3_prog, meson_gen_authors_prog.path(),
+ env: runutf8, check: true)
authors_file = 'AUTHORS.rst.in'
authors_conf = configuration_data()
@@ -2218,7 +2220,7 @@ configure_file(
output: '@BASENAME@',
configuration: run_conf,
)
-run_command('chmod', 'a+x', meson.current_build_dir() / 'run')
+run_command('chmod', 'a+x', meson.current_build_dir() / 'run', check: true)
# generate developer tooling files
--
2.34.1
2 years, 10 months
[PATCH] esx: Do not return root objects in a lookup
by Martin Kletzander
The lookups in esx_vi work a bit differently that we are used to. The filters
(travelsalSpec and selectSet) choose how to look up the objects, but given a
root object the lookup lists all the objects of a requested type inside it as
well as the root object itself. We then go through the results and find the one
which has the same name as was requested. However in a case with nested folders
of a same name this could break when the first returned object in the list is
the parent folder as we'd select it only based on the name. To avoid this also
add a check that the candidate we are trying to pick is not exactly the same
object (reference) as the root object.
https://bugzilla.redhat.com/show_bug.cgi?id=1643868
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
src/esx/esx_vi.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/esx/esx_vi.c b/src/esx/esx_vi.c
index 6f964cc470d1..80ed6199e3ac 100644
--- a/src/esx/esx_vi.c
+++ b/src/esx/esx_vi.c
@@ -4973,6 +4973,11 @@ esxVI_LookupManagedObjectHelper(esxVI_Context *ctx,
candidate = candidate->_next) {
name_candidate = NULL;
+ if (candidate->obj->_type == root->_type &&
+ g_strcmp0(candidate->obj->type, root->type) == 0 &&
+ g_strcmp0(candidate->obj->value, root->value) == 0)
+ continue;
+
if (esxVI_GetStringValue(candidate, "name", &name_candidate,
esxVI_Occurrence_RequiredItem) < 0) {
goto cleanup;
--
2.34.1
2 years, 10 months
[libvirt PATCH] bhyve: handle all enum values in switches
by Ján Tomko
Recent commits switched some variables to enums but did not
fix the warnings in the bhyve driver.
Fixes: 0eb42087c7907f43c114cb57b5ff2cf2a52dfea4
Fixes: a1ce98061c9a3f9ced367b2b9a3fe4071930a128
Signed-off-by: Ján Tomko <jtomko(a)redhat.com>
---
Pushed as a build fix.
src/bhyve/bhyve_command.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/bhyve/bhyve_command.c b/src/bhyve/bhyve_command.c
index af8ec30fe7..f0e47ce232 100644
--- a/src/bhyve/bhyve_command.c
+++ b/src/bhyve/bhyve_command.c
@@ -616,6 +616,7 @@ bhyveBuildFSArgStr(const virDomainDef *def G_GNUC_UNUSED,
break;
case VIR_DOMAIN_FS_ACCESSMODE_MAPPED:
case VIR_DOMAIN_FS_ACCESSMODE_SQUASH:
+ case VIR_DOMAIN_FS_ACCESSMODE_DEFAULT:
case VIR_DOMAIN_FS_ACCESSMODE_LAST:
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("unsupported filesystem accessmode '%s'"),
@@ -1052,6 +1053,9 @@ virBhyveGetBootDisk(virDomainDef *def)
case VIR_DOMAIN_BOOT_DISK:
boot_dev = VIR_DOMAIN_DISK_DEVICE_DISK;
break;
+ case VIR_DOMAIN_BOOT_FLOPPY:
+ case VIR_DOMAIN_BOOT_NET:
+ case VIR_DOMAIN_BOOT_LAST:
default:
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("Cannot boot from device %s"),
--
2.31.1
2 years, 10 months
[libvirt PATCH 00/20] qemu: Introduce hvf domain type for Hypervisor.framework
by Andrea Bolognani
In order to hopefully address [libvirt#147] at long last, I've picked
up Roman's patches from 2018 and attempted to forward-port them.
More specifically, I've used the [roolebo/hvf-domain] branch as a
starting point, since it seems to contain a few improvements over
[v2] and was just easier to pick up.
The code is mostly his own, so I've retained the existing authorship
information, but I've dropped Reviewed-by tags for commits that have
been modified in non-trivial ways. I've applied very minimal style
tweaks along the way, but overall I've tried to modify the existing
patches as little as possible.
I've added a few changes of my own, which I've marked as "fixup!"
when I felt that they should be squashed into the previous patch
rather than existing as separate commits.
The new test cases, such as they are, pass, and no regressions to KVM
support appear to have been introduced in the process. I don't
currently have access to a machine running macOS, so I can't verify
that it's actually possible to start a hardware-accelerated VM by
myself, but a user has confirmed on the GitLab issue that the new
feature works.
Changes from [v5]:
* rebased on top of master, dealing with a couple of
straightforward merge conflicts in the process;
* moved NEWS entry to the 8.1.0 section.
Changes from [v4]:
* fixed an issue that prevented machine types from being probed
correctly, effectively making the entire thing non functional;
* only report HVF support as available when the guest architecture
and the host architecture match.
Changes from [v3]:
* reintroduced the patch that was missing in the initial version
of the forward-port;
* converted the documentation to reStructuredText and trimmed it
significantly;
* reworked virQEMUCapsAccelStr() based on Dan's suggestions;
* reworked macOS support in the test suite based on Dan's
suggestions;
* fixed a few minor issues found while doing the above.
Changes from [v2]:
* rebased on top of master;
* added a couple of simple test cases.
Useful links:
* GitLab: [abologna/hvf]
* CI: [pipeline]
[libvirt#147] https://gitlab.com/libvirt/libvirt/-/issues/147
[roolebo/hvf-domain] https://github.com/roolebo/libvirt/tree/hvf-domain
[abologna/hvf] https://gitlab.com/abologna/libvirt/-/commits/hvf
[pipeline] https://gitlab.com/abologna/libvirt/-/pipelines/449465562
[v5] https://listman.redhat.com/archives/libvir-list/2022-January/msg00411.html
[v4] https://listman.redhat.com/archives/libvir-list/2022-January/msg00280.html
[v3] https://listman.redhat.com/archives/libvir-list/2022-January/msg00131.html
[v2] https://listman.redhat.com/archives/libvir-list/2018-November/msg00802.html
Andrea Bolognani (7):
qemu: Only probe KVM on Linux
fixup! qemu: Fix / improve virQEMUCapsProbeHVF()
tests: Introduce testQemuHostOS
tests: Add macOS support to testutilsqemu
tests: Add macOS support to qemuxml2*test
tests: Add HVF test cases
fixup! NEWS: Mention Apple Silicon support for HVF
Roman Bolshakov (13):
qemu: Add KVM CPUs into cache only if KVM is present
conf: Add hvf domain type
qemu: Define hvf capability
qemu: Query hvf capability on macOS
qemu: Expose hvf domain type if hvf is supported
qemu: Introduce virQEMUCapsAccelStr
qemu: Introduce virQEMUCapsTypeIsAccelerated
qemu: Introduce virQEMUCapsHaveAccel
qemu: Correct CPU capabilities probing for hvf
docs: Add hvf on QEMU driver page
docs: Note hvf support for domain elements
docs: Add support page for libvirt on macOS
news: Mention hvf domain type
NEWS.rst | 5 +
docs/docs.html.in | 3 +
docs/drvqemu.rst | 48 +++++-
docs/formatdomain.rst | 22 +--
docs/index.html.in | 4 +-
docs/macos.rst | 44 ++++++
docs/meson.build | 1 +
docs/schemas/domaincommon.rng | 1 +
src/conf/domain_conf.c | 1 +
src/conf/domain_conf.h | 1 +
src/qemu/qemu_capabilities.c | 145 +++++++++++++++--
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 4 +
src/qemu/qemu_process.c | 10 +-
.../hvf-aarch64-virt-headless.args | 48 ++++++
.../hvf-aarch64-virt-headless.xml | 45 ++++++
.../hvf-x86_64-q35-headless.args | 47 ++++++
.../hvf-x86_64-q35-headless.x86_64-latest.err | 1 +
.../hvf-x86_64-q35-headless.xml | 44 ++++++
tests/qemuxml2argvtest.c | 43 +++++-
.../hvf-aarch64-virt-headless.xml | 94 +++++++++++
.../hvf-x86_64-q35-headless.xml | 97 ++++++++++++
tests/qemuxml2xmltest.c | 43 +++++-
tests/testutilsqemu.c | 146 ++++++++++++++----
tests/testutilsqemu.h | 10 ++
25 files changed, 844 insertions(+), 64 deletions(-)
create mode 100644 docs/macos.rst
create mode 100644 tests/qemuxml2argvdata/hvf-aarch64-virt-headless.args
create mode 100644 tests/qemuxml2argvdata/hvf-aarch64-virt-headless.xml
create mode 100644 tests/qemuxml2argvdata/hvf-x86_64-q35-headless.args
create mode 100644 tests/qemuxml2argvdata/hvf-x86_64-q35-headless.x86_64-latest.err
create mode 100644 tests/qemuxml2argvdata/hvf-x86_64-q35-headless.xml
create mode 100644 tests/qemuxml2xmloutdata/hvf-aarch64-virt-headless.xml
create mode 100644 tests/qemuxml2xmloutdata/hvf-x86_64-q35-headless.xml
--
2.34.1
2 years, 10 months