[Avocado-devel] Issues with traversing the machine types of aarch64 QEMU

Wei Huang wei at redhat.com
Wed Sep 20 18:31:39 UTC 2017


Hi,

I noticed the test smbios_table.machine_type (in tp-qemu) failed on my
aarch64 machine. After debugging, it turned out to be related to the
machine type related code in Avocado-vt. So I want to bring it up for
discussion.

Here is the analysis. In smbios_table.py, when
traversal_machine_emulated = yes, it will retrieve all machine types
supported by qemu_kvm. On my QEMU, the followings are the supported
machine types:
  * virt
  * virt-rhel7.4.0
  * none
Use the first "virt" machine type as an example. The Avocado-vt code
will use "virt" as the machine_type, instead of "arm64-pci" or
"arm64-mmio". However this "virt" type doesn't work in many places of
Avocado-vt code. For example, machine_by_params() function in
qcontainer.py will not match it with any predefined machines. This cause
the test failed to run.

Using arm64-pci & arm64-mmio in Avocado-vt is fine. But I think how to
translate the machine types in AArch64 QEMU binary to these two types
need to be evaluated carefully.

Thanks,
-Wei




More information about the Avocado-devel mailing list