We need the QEMU binary signed to be able to use HVF. Improve the following:
$ ./qemu-system-aarch64-unsigned -M virt -accel hvf qemu-system-aarch64-unsigned: -accel hvf: Error: ret = HV_DENIED (0xfae94007, at ../../accel/hvf/hvf-accel-ops.c:339) Abort trap: 6 to: $ ./qemu-system-aarch64-unsigned -M virt -accel hvf qemu-system-aarch64-unsigned: -accel hvf: Could not access HVF. Is the executable signed with com.apple.security.hypervisor entitlement? Suggested-by: Shatyuka <shaty...@qq.com> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2800 Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Acked-by: Richard Henderson <richard.hender...@linaro.org> Reviewed-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Reviewed-by: Mads Ynddal <m...@ynddal.dk> Message-Id: <20250702185332.43650-29-phi...@linaro.org> --- accel/hvf/hvf-all.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/accel/hvf/hvf-all.c b/accel/hvf/hvf-all.c index ddc77e629f5..09fe3f24152 100644 --- a/accel/hvf/hvf-all.c +++ b/accel/hvf/hvf-all.c @@ -263,6 +263,11 @@ static int hvf_accel_init(MachineState *ms) } ret = hvf_arch_vm_create(ms, (uint32_t)pa_range); + if (ret == HV_DENIED) { + error_report("Could not access HVF. Is the executable signed" + " with com.apple.security.hypervisor entitlement?"); + exit(1); + } assert_hvf_ok(ret); s = g_new0(HVFState, 1); -- 2.49.0