Roman Bogorodskiy wrote:
The "virt" board in QEMU has a "virtualization" option that is documented like this:
virtualization Set ``on``/``off`` to enable/disable emulating a guest CPU which implements the Arm Virtualization Extensions. The default is ``off``.
(from system/arm/virt.rst)
According to the documentation, the "virtualiaztion" option is related to the "gic-version" option. Specifically, gic version=4 requires virtualization to be enabled. And gic version=max will use version=4 when virtualization is enabled, and 3 when not. Libvirt does not currently model neither gic version "3" nor "max" though.
It is also documented for the "vexpress-a(9|15)" boards, where it is also disabled by default:
- QEMU defaults to providing a CPU which does not provide either TrustZone or the Virtualization Extensions: if you want these you must enable them with ``-machine secure=on`` and ``-machine virtualization=on``
(system/arm/vexpress.rst).
On the command line it looks like:
qemu-system-aarch64 -machine type=virt,virtualization=on ..
Model it using the "virtualization" element in the "features" section:
<features> <virtualization/> </features>
Signed-off-by: Roman Bogorodskiy <bogorodskiy@gmail.com> --- docs/formatdomain.rst | 4 ++ src/conf/domain_conf.c | 4 ++ src/conf/domain_conf.h | 1 + src/conf/schemas/domaincommon.rng | 5 +++ src/qemu/qemu_command.c | 9 ++++ src/qemu/qemu_validate.c | 1 + ...64-virt-virtualization.aarch64-latest.args | 38 ++++++++++++++++ ...h64-virt-virtualization.aarch64-latest.xml | 45 +++++++++++++++++++ .../aarch64-virt-virtualization.xml | 25 +++++++++++ tests/qemuxmlconftest.c | 2 + 10 files changed, 134 insertions(+) create mode 100644 tests/qemuxmlconfdata/aarch64-virt-virtualization.aarch64-latest.args create mode 100644 tests/qemuxmlconfdata/aarch64-virt-virtualization.aarch64-latest.xml create mode 100644 tests/qemuxmlconfdata/aarch64-virt-virtualization.xml
ping?