[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 07/19] target/ppc: Make special ORs match x86 pause
From: |
Cédric Le Goater |
Subject: |
[Qemu-devel] [PATCH 07/19] target/ppc: Make special ORs match x86 pause and don't generate on mttcg |
Date: |
Mon, 28 Jan 2019 10:46:13 +0100 |
From: Benjamin Herrenschmidt <address@hidden>
There's no point in going out of translation on an SMT OR with
mttcg since the backend won't do anything useful such as pausing,
it's only useful on traditional TCG to give time to other processors.
Signed-off-by: Benjamin Herrenschmidt <address@hidden>
Signed-off-by: Cédric Le Goater <address@hidden>
---
target/ppc/translate.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/target/ppc/translate.c b/target/ppc/translate.c
index e169c43643a1..7d40a1fbe6bd 100644
--- a/target/ppc/translate.c
+++ b/target/ppc/translate.c
@@ -1580,7 +1580,7 @@ static void gen_pause(DisasContext *ctx)
tcg_temp_free_i32(t0);
/* Stop translation, this gives other CPUs a chance to run */
- gen_exception_nip(ctx, EXCP_HLT, ctx->base.pc_next);
+ gen_exception_nip(ctx, EXCP_INTERRUPT, ctx->base.pc_next);
}
#endif /* defined(TARGET_PPC64) */
@@ -1662,7 +1662,9 @@ static void gen_or(DisasContext *ctx)
* than no-op, e.g., miso(rs=26), yield(27), mdoio(29), mdoom(30),
* and all currently undefined.
*/
- gen_pause(ctx);
+ if (!mttcg_enabled) {
+ gen_pause(ctx);
+ }
#endif
#endif
}
--
2.20.1
- [Qemu-devel] [PATCH 00/19] ppc: support for the baremetal XIVE interrupt controller (POWER9), Cédric Le Goater, 2019/01/28
- [Qemu-devel] [PATCH 03/19] xive: extend the XiveRouter get_tctx() method with the page offset, Cédric Le Goater, 2019/01/28
- [Qemu-devel] [PATCH 01/19] ppc/xive: hardwire the Physical CAM line of the thread context, Cédric Le Goater, 2019/01/28
- [Qemu-devel] [PATCH 08/19] target/ppc: Fix nip on power management instructions, Cédric Le Goater, 2019/01/28
- [Qemu-devel] [PATCH 10/19] target/ppc: Fix support for "STOP light" states on POWER9, Cédric Le Goater, 2019/01/28
- [Qemu-devel] [PATCH 02/19] ppc: externalize ppc_get_vcpu_by_pir(), Cédric Le Goater, 2019/01/28
- [Qemu-devel] [PATCH 04/19] ppc/pnv: xive: export the TIMA memory accessors, Cédric Le Goater, 2019/01/28
- [Qemu-devel] [PATCH 07/19] target/ppc: Make special ORs match x86 pause and don't generate on mttcg,
Cédric Le Goater <=
- [Qemu-devel] [PATCH 06/19] target/ppc: Remove some #if 0'ed code, Cédric Le Goater, 2019/01/28
- [Qemu-devel] [PATCH 05/19] ppc/pnv: add XIVE support, Cédric Le Goater, 2019/01/28
- [Qemu-devel] [PATCH 13/19] target/ppc: Rename "in_pm_state" to "resume_as_sreset", Cédric Le Goater, 2019/01/28
- [Qemu-devel] [PATCH 15/19] target/ppc: Detect erroneous condition in interrupt delivery, Cédric Le Goater, 2019/01/28
- [Qemu-devel] [PATCH 12/19] target/ppc: Disable ISA 2.06 PM instructions on POWER9, Cédric Le Goater, 2019/01/28
- [Qemu-devel] [PATCH 09/19] target/ppc: Don't clobber MSR:EE on PM instructions, Cédric Le Goater, 2019/01/28
- [Qemu-devel] [PATCH 11/19] target/ppc: Move "wakeup reset" code to a separate function, Cédric Le Goater, 2019/01/28
- [Qemu-devel] [PATCH 14/19] target/ppc: Add POWER9 exception model, Cédric Le Goater, 2019/01/28
- [Qemu-devel] [PATCH 16/19] target/ppc: Add Hypervisor Virtualization Interrupt on POWER9, Cédric Le Goater, 2019/01/28
- [Qemu-devel] [PATCH 19/19] target/ppc: Add support for LPCR:HEIC on POWER9, Cédric Le Goater, 2019/01/28