Public bug reported:
I want use one of the Ubuntu arm64 installer media with virt-manager on
an amd64 system.
Virt-manager creates this node in the libvirt xml:
<cpu mode="maximum"/>
Booting stops after this output line presumably from EDK II:
UEFI firmware (version 2025.11-3ubuntu7 built at 11:11:58 on Mar 31
2026)
With this cpu it works:
<cpu mode="custom" match="exact" check="none">
<model fallback="allow">cortex-a76</model>
</cpu>
We can not expect average desktop users to know which CPU model is
needed.
qemu-system-aarch64 should use a default CPU for the virt machine which
works out of the box.
I assume this is the problematic code. For TCG emulation it always
returns an 32bit CPU.
hw/arm/virt.c:
static const char *virt_get_default_cpu_type(const MachineState *ms)
{
return tcg_enabled() ? ARM_CPU_TYPE_NAME("cortex-a15")
: ARM_CPU_TYPE_NAME("max");
}
The following works for me:
static const char *virt_get_default_cpu_type(const MachineState *ms)
{
const char *ret;
if (tcg_enabled()) {
return target_aarch64() ? ARM_CPU_TYPE_NAME("neoverse-v1")
: ARM_CPU_TYPE_NAME("cortex-a15")
} else {
return ARM_CPU_TYPE_NAME("max");
}
}
Let's send this as suggestion to upstream.
---
ProblemType: Bug
ApportVersion: 2.34.0-0ubuntu2
Architecture: amd64
CasperMD5CheckResult: unknown
CurrentDesktop: KDE
DistroRelease: Ubuntu 26.04
InstallationDate: Installed on 2025-06-20 (376 days ago)
InstallationMedia: Kubuntu 25.10 "Questing Quokka" - Daily amd64 (20250607)
MachineType: LENOVO 21SR0046GE
NonfreeKernelModules: zfs
Package: qemu (not installed)
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-7.0.0-27-generic
root=UUID=a476770a-95d4-472e-b29e-beff8417d10e ro
rd.luks.uuid=84f09755-731e-4a6a-83b9-6b933dadee6e
ProcVersionSignature: Ubuntu 7.0.0-27.27-generic 7.0.6
Tags: resolute wayland-session
Uname: Linux 7.0.0-27-generic x86_64
UpgradeStatus: Upgraded to resolute on 2025-10-30 (244 days ago)
UserGroups: adm cdrom dialout dip libvirt lpadmin lxd plugdev sambashare sudo
_MarkForUpload: True
dmi.bios.date: 02/25/2026
dmi.bios.release: 1.57
dmi.bios.vendor: LENOVO
dmi.bios.version: R30ET57W(1.57 )
dmi.board.asset.tag: Not Available
dmi.board.name: 21SR0046GE
dmi.board.vendor: LENOVO
dmi.board.version: SDK0T76530 WIN
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: None
dmi.ec.firmware.release: 1.57
dmi.modalias:
dmi:bvnLENOVO:bvrR30ET57W(1.57):bd02/25/2026:br1.57:efr1.57:svnLENOVO:pn21SR0046GE:pvrThinkPadE16Gen3:rvnLENOVO:rn21SR0046GE:rvrSDK0T76530WIN:cvnLENOVO:ct10:cvrNone:skuLENOVO_MT_21SR_BU_Think_FM_ThinkPadE16Gen3:pfaThinkPadE16Gen3:
dmi.product.family: ThinkPad E16 Gen 3
dmi.product.name: 21SR0046GE
dmi.product.sku: LENOVO_MT_21SR_BU_Think_FM_ThinkPad E16 Gen 3
dmi.product.version: ThinkPad E16 Gen 3
dmi.sys.vendor: LENOVO
** Affects: qemu (Ubuntu)
Importance: Low
Assignee: Heinrich Schuchardt (xypron)
Status: New
** Tags: apport-collected resolute wayland-session
** Tags added: apport-collected resolute wayland-session
** Description changed:
I want use one of the Ubuntu arm64 installer media with virt-manager on
an amd64 system.
Virt-manager creates this node in the libvirt xml:
<cpu mode="maximum"/>
Booting stops after this output line presumably from EDK II:
UEFI firmware (version 2025.11-3ubuntu7 built at 11:11:58 on Mar 31
2026)
With this cpu it works:
<cpu mode="custom" match="exact" check="none">
<model fallback="allow">cortex-a76</model>
</cpu>
We can not expect average desktop users to know which CPU model is
needed.
qemu-system-aarch64 should use a default CPU for the virt machine which
works out of the box.
I assume this is the problematic code. For TCG emulation it always
returns an 32bit CPU.
hw/arm/virt.c:
static const char *virt_get_default_cpu_type(const MachineState *ms)
{
return tcg_enabled() ? ARM_CPU_TYPE_NAME("cortex-a15")
: ARM_CPU_TYPE_NAME("max");
}
The following works for me:
static const char *virt_get_default_cpu_type(const MachineState *ms)
{
const char *ret;
if (tcg_enabled()) {
return target_aarch64() ? ARM_CPU_TYPE_NAME("neoverse-v1")
: ARM_CPU_TYPE_NAME("cortex-a15")
} else {
return ARM_CPU_TYPE_NAME("max");
}
}
Let's send this as suggestion to upstream.
+ ---
+ ProblemType: Bug
+ ApportVersion: 2.34.0-0ubuntu2
+ Architecture: amd64
+ CasperMD5CheckResult: unknown
+ CurrentDesktop: KDE
+ DistroRelease: Ubuntu 26.04
+ InstallationDate: Installed on 2025-06-20 (376 days ago)
+ InstallationMedia: Kubuntu 25.10 "Questing Quokka" - Daily amd64 (20250607)
+ MachineType: LENOVO 21SR0046GE
+ NonfreeKernelModules: zfs
+ Package: qemu (not installed)
+ ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-7.0.0-27-generic
root=UUID=a476770a-95d4-472e-b29e-beff8417d10e ro
rd.luks.uuid=84f09755-731e-4a6a-83b9-6b933dadee6e
+ ProcVersionSignature: Ubuntu 7.0.0-27.27-generic 7.0.6
+ Tags: resolute wayland-session
+ Uname: Linux 7.0.0-27-generic x86_64
+ UpgradeStatus: Upgraded to resolute on 2025-10-30 (244 days ago)
+ UserGroups: adm cdrom dialout dip libvirt lpadmin lxd plugdev sambashare sudo
+ _MarkForUpload: True
+ dmi.bios.date: 02/25/2026
+ dmi.bios.release: 1.57
+ dmi.bios.vendor: LENOVO
+ dmi.bios.version: R30ET57W(1.57 )
+ dmi.board.asset.tag: Not Available
+ dmi.board.name: 21SR0046GE
+ dmi.board.vendor: LENOVO
+ dmi.board.version: SDK0T76530 WIN
+ dmi.chassis.asset.tag: No Asset Information
+ dmi.chassis.type: 10
+ dmi.chassis.vendor: LENOVO
+ dmi.chassis.version: None
+ dmi.ec.firmware.release: 1.57
+ dmi.modalias:
dmi:bvnLENOVO:bvrR30ET57W(1.57):bd02/25/2026:br1.57:efr1.57:svnLENOVO:pn21SR0046GE:pvrThinkPadE16Gen3:rvnLENOVO:rn21SR0046GE:rvrSDK0T76530WIN:cvnLENOVO:ct10:cvrNone:skuLENOVO_MT_21SR_BU_Think_FM_ThinkPadE16Gen3:pfaThinkPadE16Gen3:
+ dmi.product.family: ThinkPad E16 Gen 3
+ dmi.product.name: 21SR0046GE
+ dmi.product.sku: LENOVO_MT_21SR_BU_Think_FM_ThinkPad E16 Gen 3
+ dmi.product.version: ThinkPad E16 Gen 3
+ dmi.sys.vendor: LENOVO
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2158933
Title:
Inadequate default cpu for aarch64 on virt machine
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/2158933/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs