Skip to content

Commit 6b9d08c

Browse files
committed
qemu: fix invalid memmap when max IPA size unknown
1 parent 6853b2c commit 6b9d08c

1 file changed

Lines changed: 33 additions & 0 deletions

File tree

patches/qemu-9.1.2-utm.patch

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1123,3 +1123,36 @@ index a63a7763a0..141fd35300 100644
11231123
--
11241124
2.41.0
11251125

1126+
From 6aca8e564507533c53258abf08c0d283ccb207b7 Mon Sep 17 00:00:00 2001
1127+
From: Joelle van Dyne <j@getutm.app>
1128+
Date: Mon, 23 Dec 2024 00:15:08 -0800
1129+
Subject: [PATCH v3 3/3] hw/arm/virt: handle hvf with unknown max IPA size
1130+
1131+
When it is not possible to determine the max IPA bit size, the helper
1132+
function will return 0. We do not try to set up the memmap in this case
1133+
and instead fall back to the default in machvirt_init().
1134+
1135+
Signed-off-by: Joelle van Dyne <j@getutm.app>
1136+
---
1137+
hw/arm/virt.c | 5 +++++
1138+
1 file changed, 5 insertions(+)
1139+
1140+
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
1141+
index f9b3380815..8c431e24b3 100644
1142+
--- a/hw/arm/virt.c
1143+
+++ b/hw/arm/virt.c
1144+
@@ -3053,6 +3053,11 @@ static int virt_hvf_get_physical_address_range(MachineState *ms)
1145+
int default_ipa_size = hvf_arm_get_default_ipa_bit_size();
1146+
int max_ipa_size = hvf_arm_get_max_ipa_bit_size();
1147+
1148+
+ /* Unknown max ipa size, we'll let the caller figure it out */
1149+
+ if (max_ipa_size == 0) {
1150+
+ return 0;
1151+
+ }
1152+
+
1153+
/* We freeze the memory map to compute the highest gpa */
1154+
virt_set_memmap(vms, max_ipa_size);
1155+
1156+
--
1157+
2.41.0
1158+

0 commit comments

Comments
 (0)