Libvirt provides a portable, long term stable C API for managing the virtualization technologies provided by many operating systems. It includes support for QEMU, KVM, Xen, LXC, bhyve, Virtuozzo, VMware vCenter and ESX, VMware Desktop, Hyper-V, VirtualBox and the POWER Hypervisor.
Go to file
Michal Privoznik 10f4784864 qemu_capabilities: Query for Hyper-V Enlightenments
Now that we have qemuMonitorGetCPUModelExpansion() aware of
Hyper-V Enlightenments, we can start querying it. Two conditions
need to be met:

  1) KVM is in use,
  2) Arch is either x86 or arm.

It may look like modifying the first call to
qemuMonitorGetCPUModelExpansion() inside of
virQEMUCapsProbeQMPHostCPU() would be sufficient but it is not.
We really need to ask QEMU for full expansion and the first call
does not guarantee that.

For the test data, I've just copied whatever
'query-cpu-model-expansion' returned earlier, therefore there are
no hv-* props. But that's okay - the full expansion is not stored
in cache (and thus not formatted in
tests/qemucapabilitiesdata/caps_*.replies files either). This is
purely runtime thing.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
2023-01-05 12:35:36 +01:00
.ctags.d
.github/workflows
.gitlab/issue_templates gitlab: issue_template: Remove labelling commands 2022-06-01 12:27:10 +02:00
build-aux build-aux: only forbid gethostname in C files 2022-11-15 11:09:30 +00:00
ci ci: integration: Lock the Avocado version to 98.0 for now 2022-11-16 10:14:20 +01:00
docs qemu_capabilities: Query for Hyper-V Enlightenments 2023-01-05 12:35:36 +01:00
examples examples: Install amd-sev-es-vmsa.stp 2022-12-06 16:52:10 +01:00
include storage: Add VIR_STORAGE_VOL_CREATE_VALIDATE flag 2022-11-01 13:07:20 +01:00
po Translated using Weblate (Korean) 2023-01-03 13:44:15 +01:00
scripts apibuild: Don't include the Copyright in the <description> of a module 2022-11-03 14:11:22 +01:00
src qemu_capabilities: Query for Hyper-V Enlightenments 2023-01-05 12:35:36 +01:00
tests qemu_capabilities: Query for Hyper-V Enlightenments 2023-01-05 12:35:36 +01:00
tools tools: Fix style issues in virt-qemu-sev-validate 2022-12-08 18:09:29 +01:00
.ctags
.dir-locals.el
.editorconfig
.gitattributes Add .gitattributes file 2022-03-17 14:33:12 +01:00
.gitignore
.gitlab-ci.yml ci: potfile: Add 'variables' to definition 2022-10-11 10:18:04 +02:00
.gitmodules
.gitpublish
.mailmap
AUTHORS.rst.in AUTHORS: change my (Nikolay Shirokovskiy) email 2022-04-06 11:00:53 +03:00
config.h configure: bump min required CLang to 6.0 / XCode 10.0 2022-01-17 10:44:29 +00:00
configmake.h.in
CONTRIBUTING.rst
COPYING
COPYING.LESSER
gitdm.config
libvirt-admin.pc.in
libvirt-lxc.pc.in
libvirt-qemu.pc.in
libvirt.pc.in
libvirt.spec.in spec: List more directories 2022-12-14 19:24:01 +01:00
meson_options.txt Remove support for building the sheepdog storage driver backend 2022-09-01 13:11:09 +02:00
meson.build virnuma: Allow multiple nodes for preferred policy 2022-12-14 16:07:04 +01:00
NEWS.rst NEWS: Document change of screenshot format for QEMU 2022-12-07 13:14:18 +01:00
README.rst
run.in run: gracefully handle SIGHUP, SIGQUIT, SIGTERM 2022-03-10 08:06:12 +00:00

GitLab CI Build Status

CII Best Practices

Translation status

Libvirt API for virtualization

Libvirt provides a portable, long term stable C API for managing the virtualization technologies provided by many operating systems. It includes support for QEMU, KVM, Xen, LXC, bhyve, Virtuozzo, VMware vCenter and ESX, VMware Desktop, Hyper-V, VirtualBox and the POWER Hypervisor.

For some of these hypervisors, it provides a stateful management daemon which runs on the virtualization host allowing access to the API both by non-privileged local users and remote users.

Layered packages provide bindings of the libvirt C API into other languages including Python, Perl, PHP, Go, Java, OCaml, as well as mappings into object systems such as GObject, CIM and SNMP.

Further information about the libvirt project can be found on the website:

https://libvirt.org

License

The libvirt C API is distributed under the terms of GNU Lesser General Public License, version 2.1 (or later). Some parts of the code that are not part of the C library may have the more restrictive GNU General Public License, version 2.0 (or later). See the files COPYING.LESSER and COPYING for full license terms & conditions.

Installation

Instructions on building and installing libvirt can be found on the website:

https://libvirt.org/compiling.html

Contributing

The libvirt project welcomes contributions in many ways. For most components the best way to contribute is to send patches to the primary development mailing list. Further guidance on this can be found on the website:

https://libvirt.org/contribute.html

Contact

The libvirt project has two primary mailing lists:

Further details on contacting the project are available on the website:

https://libvirt.org/contact.html