[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 2/4] hw/ppc/spapr_hcall: Allow elision of softmmu_resize_hpt_prep
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH 2/4] hw/ppc/spapr_hcall: Allow elision of softmmu_resize_hpt_prepare/commit |
Date: |
Mon, 2 Oct 2023 16:38:52 +0200 |
Check tcg_enabled() before calling softmmu_resize_hpt_prepare()
and softmmu_resize_hpt_commit() to allow the compiler to elide
their calls. The stubs are then unnecessary, remove them.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
hw/ppc/spapr_hcall.c | 12 ++++++++----
target/ppc/tcg-stub.c | 15 ---------------
2 files changed, 8 insertions(+), 19 deletions(-)
diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c
index 522a2396c7..a860c626b7 100644
--- a/hw/ppc/spapr_hcall.c
+++ b/hw/ppc/spapr_hcall.c
@@ -124,9 +124,11 @@ static target_ulong h_resize_hpt_prepare(PowerPCCPU *cpu,
if (kvm_enabled()) {
return H_HARDWARE;
+ } else if (tcg_enabled()) {
+ return softmmu_resize_hpt_prepare(cpu, spapr, shift);
+ } else {
+ g_assert_not_reached();
}
-
- return softmmu_resize_hpt_prepare(cpu, spapr, shift);
}
static void do_push_sregs_to_kvm_pr(CPUState *cs, run_on_cpu_data data)
@@ -192,9 +194,11 @@ static target_ulong h_resize_hpt_commit(PowerPCCPU *cpu,
if (kvm_enabled()) {
return H_HARDWARE;
+ } else if (tcg_enabled()) {
+ return softmmu_resize_hpt_commit(cpu, spapr, flags, shift);
+ } else {
+ g_assert_not_reached();
}
-
- return softmmu_resize_hpt_commit(cpu, spapr, flags, shift);
}
diff --git a/target/ppc/tcg-stub.c b/target/ppc/tcg-stub.c
index aadcf59d26..740d796b98 100644
--- a/target/ppc/tcg-stub.c
+++ b/target/ppc/tcg-stub.c
@@ -28,18 +28,3 @@ void create_ppc_opcodes(PowerPCCPU *cpu, Error **errp)
void destroy_ppc_opcodes(PowerPCCPU *cpu)
{
}
-
-target_ulong softmmu_resize_hpt_prepare(PowerPCCPU *cpu,
- SpaprMachineState *spapr,
- target_ulong shift)
-{
- g_assert_not_reached();
-}
-
-target_ulong softmmu_resize_hpt_commit(PowerPCCPU *cpu,
- SpaprMachineState *spapr,
- target_ulong flags,
- target_ulong shift)
-{
- g_assert_not_reached();
-}
--
2.41.0