In the case where WHPX isn't supported on the platform, makes the
intended error appear instead of failing at getting the IPA width.
Signed-off-by: Mohamed Mediouni <mohamed@unpredictable.fr>
---
target/arm/whpx/whpx-all.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/target/arm/whpx/whpx-all.c b/target/arm/whpx/whpx-all.c
index 4d58e5e939..ce1794952c 100644
--- a/target/arm/whpx/whpx-all.c
+++ b/target/arm/whpx/whpx-all.c
@@ -678,7 +678,7 @@ uint32_t whpx_arm_get_ipa_bit_size(void)
WHvCapabilityCodePhysicalAddressWidth, &whpx_cap,
sizeof(whpx_cap), &whpx_cap_size);
if (FAILED(hr)) {
- error_report("WHPX: failed to get supported"
+ error_report("WHPX: failed to get supported "
"physical address width, hr=%08lx", hr);
}
@@ -909,14 +909,6 @@ int whpx_accel_init(AccelState *as, MachineState *ms)
goto error;
}
- if (mc->get_physical_address_range) {
- pa_range = mc->get_physical_address_range(ms,
- whpx_arm_get_ipa_bit_size(), whpx_arm_get_ipa_bit_size());
- if (pa_range < 0) {
- return -EINVAL;
- }
- }
-
whpx->mem_quota = ms->ram_size;
hr = whp_dispatch.WHvGetCapability(
@@ -943,6 +935,14 @@ int whpx_accel_init(AccelState *as, MachineState *ms)
goto error;
}
+ if (mc->get_physical_address_range) {
+ pa_range = mc->get_physical_address_range(ms,
+ whpx_arm_get_ipa_bit_size(), whpx_arm_get_ipa_bit_size());
+ if (pa_range < 0) {
+ return -EINVAL;
+ }
+ }
+
hr = whp_dispatch.WHvCreatePartition(&whpx->partition);
if (FAILED(hr)) {
error_report("WHPX: Failed to create partition, hr=%08lx", hr);
--
2.50.1 (Apple Git-155)