]> xenbits.xensource.com Git - libvirt.git/commit
virt-host-validate: Detect SMMU support on ARMs
authorMichal Privoznik <mprivozn@redhat.com>
Wed, 22 Mar 2023 15:33:32 +0000 (16:33 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Fri, 24 Mar 2023 13:44:38 +0000 (14:44 +0100)
commit2c13a2a7c9c368ea81eccd4ba12d9cf34bdd331b
treee2026dc61c8346abb6df851273c7a5dfbf805a2c
parent1f76b5365ec78b1e9a36038db8e13ec0025bbe7a
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>
tools/virt-host-validate-common.c