libvirt/tools
Michal Privoznik 2c13a2a7c9 virt-host-validate: Detect SMMU support on ARMs
In vir-host-validate we do two checks related to IOMMU:

  1) hardware support, and
  2) kernel support.

While users are usually interested in the latter, the former also
makes sense. And for the former (hardware support) we have this
huge if-else block for nearly every architecture, except ARM.

Now, IOMMU is called SMMU in ARM world, and while there's
certainly a definitive way of detecting SMMU support (e.g. via
dumping some registers in asm), we can work around this - just
like we do for Intel and AMD - and check for an ACPI table
presence.

In ARM world, there's I/O Remapping Table (IORT) which describes
SMMU capabilities on given host and is exposed in sysfs
(regardless of arm_smmu module).

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2178885
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2023-03-24 14:44:38 +01:00
..
bash-completion meson: Use dicts to initialize cfg_data objects 2022-04-01 15:33:19 +02:00
nss Use G_N_ELEMENTS() more 2023-03-13 13:29:07 +01:00
wireshark meson: Replace meson.source_root() with meson.project_source_root() 2022-10-10 15:06:09 +02:00
libvirt_recover_xattrs.sh tools: fix iterating over argv when recovering xattr 2021-11-30 10:45:35 +00:00
libvirt_win_icon_16x16.ico
libvirt_win_icon_32x32.ico
libvirt_win_icon_48x48.ico
libvirt_win_icon_64x64.ico
libvirt-guests.service.in libvirt-guests: Fix dependency ordering in service file 2022-09-26 13:04:48 +02:00
libvirt-guests.sh.in
meson.build tools: Fix install_mode for some scripts 2022-12-08 09:26:56 +01:00
virsh_win_icon.rc
virsh-backup.c virsh: Require --xpath for *dumpxml 2022-07-25 09:50:21 +02:00
virsh-backup.h
virsh-checkpoint.c virsh: Require --xpath for *dumpxml 2022-07-25 09:50:21 +02:00
virsh-checkpoint.h
virsh-completer-checkpoint.c tools: Remove unused includes 2022-06-16 06:43:58 +02:00
virsh-completer-checkpoint.h virsh-completer*.h: Use modern header style 2021-09-17 09:40:46 +02:00
virsh-completer-domain.c tools: Remove unused includes 2022-06-16 06:43:58 +02:00
virsh-completer-domain.h virsh: Move 'cmdEvent' and all of its machinery to virsh-domain-event.c 2022-03-03 11:06:56 +01:00
virsh-completer-host.c virsh: Add completer for hypervisor-cpu-baseline --model 2022-10-10 14:31:43 +02:00
virsh-completer-host.h virsh: Add completer for hypervisor-cpu-baseline --model 2022-10-10 14:31:43 +02:00
virsh-completer-interface.c tools: Remove unused includes 2022-06-16 06:43:58 +02:00
virsh-completer-interface.h virsh-completer*.h: Use modern header style 2021-09-17 09:40:46 +02:00
virsh-completer-network.c tools: Remove unused includes 2022-06-16 06:43:58 +02:00
virsh-completer-network.h virsh: Introduce net-update --section completer 2022-01-19 16:48:33 +01:00
virsh-completer-nodedev.c tools: Remove unused includes 2022-06-16 06:43:58 +02:00
virsh-completer-nodedev.h virsh: Provide completer for PCI backend drivers 2022-04-04 16:30:48 +02:00
virsh-completer-nwfilter.c tools: Remove unused includes 2022-06-16 06:43:58 +02:00
virsh-completer-nwfilter.h virsh-completer*.h: Use modern header style 2021-09-17 09:40:46 +02:00
virsh-completer-pool.c tools: Remove unused includes 2022-06-16 06:43:58 +02:00
virsh-completer-pool.h virsh-completer*.h: Use modern header style 2021-09-17 09:40:46 +02:00
virsh-completer-secret.c tools: Remove unused includes 2022-06-16 06:43:58 +02:00
virsh-completer-secret.h virsh-completer*.h: Use modern header style 2021-09-17 09:40:46 +02:00
virsh-completer-snapshot.c tools: Remove unused includes 2022-06-16 06:43:58 +02:00
virsh-completer-snapshot.h virsh-completer*.h: Use modern header style 2021-09-17 09:40:46 +02:00
virsh-completer-volume.c tools: Remove unused includes 2022-06-16 06:43:58 +02:00
virsh-completer-volume.h virsh: Provide completer for vol-wipe algorithms 2022-03-11 09:10:24 +01:00
virsh-completer.c tools: Remove unused includes 2022-06-16 06:43:58 +02:00
virsh-completer.h virsh: Introduce virshEnumComplete() 2022-03-15 13:36:56 +01:00
virsh-console.c util: remove virObjectUnref() adapters 2022-07-15 16:44:39 -05:00
virsh-console.h
virsh-domain-event.c tools: Remove unused includes 2022-06-16 06:43:58 +02:00
virsh-domain-event.h virsh: Move 'cmdEvent' and all of its machinery to virsh-domain-event.c 2022-03-03 11:06:56 +01:00
virsh-domain-monitor.c Introduce VIR_DOMAIN_PAUSED_API_ERROR 2023-03-15 10:52:14 +01:00
virsh-domain-monitor.h
virsh-domain.c tools: use g_autofree more 2023-02-02 16:18:08 +01:00
virsh-domain.h virsh: Add mode option to domdirtyrate-calc virsh api 2022-02-21 13:34:16 +01:00
virsh-edit.c
virsh-host.c virsh: Add completer for hypervisor-cpu-baseline --model 2022-10-10 14:31:43 +02:00
virsh-host.h
virsh-interface.c virsh: Require --xpath for *dumpxml 2022-07-25 09:50:21 +02:00
virsh-interface.h
virsh-network.c tools: use g_autofree more 2023-02-02 16:18:08 +01:00
virsh-network.h virsh: Introduce net-update --section completer 2022-01-19 16:48:33 +01:00
virsh-nodedev.c nodedev: Add VIR_NODE_DEVICE_(CREATE|DEFINE)_XML_VALIDATE flags 2022-11-01 13:07:20 +01:00
virsh-nodedev.h
virsh-nwfilter.c tools: use g_autofree more 2023-02-02 16:18:08 +01:00
virsh-nwfilter.h
virsh-pool.c virsh: Require --xpath for *dumpxml 2022-07-25 09:50:21 +02:00
virsh-pool.h
virsh-secret.c virsh: Require --xpath for *dumpxml 2022-07-25 09:50:21 +02:00
virsh-secret.h
virsh-snapshot.c virsh: Add message to terminal when running snapshot-revert 2022-12-07 14:33:28 +01:00
virsh-snapshot.h
virsh-util.c virsh: Use proper helper for parsing XML in virshDumpXML 2022-10-06 10:54:25 +02:00
virsh-util.h tools: add helper method for printing an XML document 2022-06-20 10:40:34 +01:00
virsh-volume.c virsh: virshMakeCloneXML: Use virXPathNode instead of xmlXPathEval 2022-12-02 16:49:25 +01:00
virsh-volume.h virsh: Provide completer for vol-wipe algorithms 2022-03-11 09:10:24 +01:00
virsh.c virsh: Report iSCSI-direct backend in long version 2022-11-24 15:23:47 +01:00
virsh.h virsh: Add --model option for hypervisor-cpu-baseline 2022-10-10 14:31:43 +02:00
virt-admin-completer.c
virt-admin-completer.h
virt-admin.c tools: use g_autofree more 2023-02-02 16:18:08 +01:00
virt-admin.h
virt-host-validate-bhyve.c
virt-host-validate-bhyve.h
virt-host-validate-ch.c tools: virt-host-validate: fix memory leak 2021-11-23 16:59:36 +01:00
virt-host-validate-ch.h tools: add virt-host-validate-ch for ch driver 2021-10-12 17:28:35 +02:00
virt-host-validate-common.c virt-host-validate: Detect SMMU support on ARMs 2023-03-24 14:44:38 +01:00
virt-host-validate-common.h
virt-host-validate-lxc.c
virt-host-validate-lxc.h
virt-host-validate-qemu.c virt-host-validate: Improve failure message when no HW virt is found 2022-06-01 11:58:09 +02:00
virt-host-validate-qemu.h
virt-host-validate.c lib: Use the same style in the 'struct option' 2022-11-22 10:15:11 +01:00
virt-login-shell-helper.c lib: Use the same style in the 'struct option' 2022-11-22 10:15:11 +01:00
virt-login-shell.c Use G_N_ELEMENTS() more 2023-03-13 13:29:07 +01:00
virt-login-shell.conf
virt-pki-query-dn.c lib: Use the same style in the 'struct option' 2022-11-22 10:15:11 +01:00
virt-pki-validate.in Correct links to TLS certificate setup page 2022-04-25 16:33:01 +02:00
virt-qemu-qmp-proxy tools: add virt-qemu-qmp-proxy for proxying QMP via libvirt QEMU guests 2022-10-07 14:32:36 +01:00
virt-qemu-sev-validate tools: Fix detection of remote libvirt access in virt-qemu-sev-validate 2023-02-03 11:28:56 -07:00
virt-sanlock-cleanup.in
virt-xml-validate.in virt-xml-validate: Fix incorrect wildcards for XML roots 2022-07-07 12:21:16 +02:00
vsh-table.c tools: Remove unused includes 2022-06-16 06:43:58 +02:00
vsh-table.h vsh-table: Ensure NULL terminated arguments to vshTable*() 2021-12-17 15:05:58 +01:00
vsh.c tools: Remove unused includes 2022-06-16 06:43:58 +02:00
vsh.h virsh: Add --model option for hypervisor-cpu-baseline 2022-10-10 14:31:43 +02:00