On 3/16/23 11:56, Jim Fehlig wrote:
On 3/15/23 08:40, Ján Tomko wrote:
> On a Monday in 2023, Jim Fehlig wrote:
>> If an explicit machine type is not specified in the VM config, the qemu
>> driver will select the first machine type in the list of machine types for
>> the specified accelerator. See virQEMUCapsGetPreferredMachine
>>
>>
https://gitlab.com/libvirt/libvirt/-/blob/master/src/qemu/qemu_capabiliti...
>>
>> On my test machines, this works reasonably well for x86_64 where the first
>> machine type is pc-i440fx-7.1. But for aarch64, the first machine is
>> integratorcp, which is not very useful with maxCpus=1 and other limitations.
>
> Is it possible to run such machine with libvirt?
I just did a quick check with libvirt 9.1.0 (qemu is a bit older, at 7.1.0):
# cat test.xml
<domain type='kvm'>
<name>test</name>
<memory unit='KiB'>2097152</memory>
<vcpu placement='static'>1</vcpu>
<os>
<type>hvm</type>
<loader readonly='yes'
type='pflash'>/usr/share/qemu/aavmf-aarch64-code.bin</loader>
<nvram template='/usr/share/qemu/aavmf-aarch64-vars.bin'/>
<boot dev='hd'/>
</os>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/bin/qemu-system-aarch64</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' discard='unmap'/>
<source file='/var/lib/libvirt/images/test.qcow2'/>
<target dev='vda' bus='virtio'/>
</disk>
</devices>
</domain>
To be fair, this config does not work when specifying machine='virt'
# virsh create test.xml
error: Failed to create domain from test.xml
error: internal error: process exited while connecting to monitor:
2023-03-16T21:37:30.895916Z qemu-system-aarch64: KVM is not supported for this
guest CPU type
2023-03-16T21:37:30.895989Z qemu-system-aarch64: kvm_init_vcpu:
kvm_arch_init_vcpu failed (0): Invalid argument
It worked after adding
<cpu mode='host-passthrough'/>
# virsh create test.xml
error: Failed to create domain from test.xml
error: internal error: Unexpected enum value 0 for virDomainDeviceAddressType
The same error occurs with host-passthrough CPU and default machine type.
Regards,
Jim