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

Lukáš Doktor ldoktor at redhat.com
Tue Oct 3 12:18:02 UTC 2017


Hello Xu,

this issue was suppose to be fixed by https://github.com/autotest/tp-qemu/pull/1070 please let me know whether it still does not work for you. More info in-line...

Dne 22.9.2017 v 09:36 Xu Han napsal(a):
> Hi,
> 
> On 09/21/2017 02:31 AM, Wei Huang wrote:
>> 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

Yes, those are qemu machine types

>> 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.

And these are Avocado-vt types. The difference is that `virt` can be constructed both as mmio or pci. This is why Avocado needs a hint which representation do you have in mind. In Avocado-vt you can still specify qemu machine type by separating it with `:`, therefor if you want to use pci-based virt-rhel7.4.0 you can set the machine type to `arm64-pci:virt-rhel7.4.0`, or on upstream you can use `arm-mmio:vexpress-a15` and such.

>>
>> 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.
> 
> IHO, it is not a good manner to do the machine type translation between
> Avocado-VT and QEMU. I would suggest introducing an arm specified
> parameter to describe the different interconnection types of the
> arm machines, and keep both the machine types of arm64-pci and
> arm64-mmio as 'virt'.
> 

Well over time we might want to check that all supported machine types are bootable, so this test makes sense. There is already blacklist of some machines (eg. none) so eventually we can expand it if necessary.

Lukáš

> Thanks,
> Xu
> 
>>
>> Thanks,
>> -Wei
>>
> 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 502 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/avocado-devel/attachments/20171003/b8296a63/attachment.sig>


More information about the Avocado-devel mailing list