target/arm/hvf: Disable SME feature
macOS 15.2's Hypervisor.framework exposes SME feature on M4 Macs. However, QEMU's hvf accelerator code does not properly support it yet, causing QEMU to fail to start when hvf accelerator is used on these systems, with the error message: qemu-aarch64-softmmu: cannot disable sme4224 All SME vector lengths are disabled. With SME enabled, at least one vector length must be enabled. Ideally we would have SME support on these hosts; however, until that point, we must suppress the SME feature in the ID registers, so that users can at least run non-SME guests. Cc: qemu-stable@nongnu.org Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2665 Signed-off-by: Joelle van Dyne <j@getutm.app> Message-id: 20250224165735.36792-1-j@getutm.app Reviewed-by: Peter Maydell <peter.maydell@linaro.org> [PMM: expanded commit message, comment] Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
cb8bb8472e
commit
fd207677a8
@ -899,6 +899,18 @@ static bool hvf_arm_get_host_cpu_features(ARMHostCPUFeatures *ahcf)
|
|||||||
|
|
||||||
clamp_id_aa64mmfr0_parange_to_ipa_size(&host_isar.id_aa64mmfr0);
|
clamp_id_aa64mmfr0_parange_to_ipa_size(&host_isar.id_aa64mmfr0);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Disable SME, which is not properly handled by QEMU hvf yet.
|
||||||
|
* To allow this through we would need to:
|
||||||
|
* - make sure that the SME state is correctly handled in the
|
||||||
|
* get_registers/put_registers functions
|
||||||
|
* - get the SME-specific CPU properties to work with accelerators
|
||||||
|
* other than TCG
|
||||||
|
* - fix any assumptions we made that SME implies SVE (since
|
||||||
|
* on the M4 there is SME but not SVE)
|
||||||
|
*/
|
||||||
|
host_isar.id_aa64pfr1 &= ~R_ID_AA64PFR1_SME_MASK;
|
||||||
|
|
||||||
ahcf->isar = host_isar;
|
ahcf->isar = host_isar;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user