[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 20/24] target/hppa: move GETPC to HELPER() functions
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PULL 20/24] target/hppa: move GETPC to HELPER() functions |
Date: |
Mon, 11 Feb 2019 20:57:17 -0800 |
From: Sven Schnelle <address@hidden>
When QEMU is compiled with -O0, these functions are inlined
which will cause a wrong restart address generated for the TB.
Signed-off-by: Sven Schnelle <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
---
target/hppa/op_helper.c | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/target/hppa/op_helper.c b/target/hppa/op_helper.c
index 6bf478e7b0..268caaaa20 100644
--- a/target/hppa/op_helper.c
+++ b/target/hppa/op_helper.c
@@ -81,10 +81,8 @@ static void atomic_store_3(CPUHPPAState *env, target_ulong
addr, uint32_t val,
}
static void do_stby_b(CPUHPPAState *env, target_ulong addr, target_ureg val,
- bool parallel)
+ bool parallel, uintptr_t ra)
{
- uintptr_t ra = GETPC();
-
switch (addr & 3) {
case 3:
cpu_stb_data_ra(env, addr, val, ra);
@@ -109,20 +107,18 @@ static void do_stby_b(CPUHPPAState *env, target_ulong
addr, target_ureg val,
void HELPER(stby_b)(CPUHPPAState *env, target_ulong addr, target_ureg val)
{
- do_stby_b(env, addr, val, false);
+ do_stby_b(env, addr, val, false, GETPC());
}
void HELPER(stby_b_parallel)(CPUHPPAState *env, target_ulong addr,
target_ureg val)
{
- do_stby_b(env, addr, val, true);
+ do_stby_b(env, addr, val, true, GETPC());
}
static void do_stby_e(CPUHPPAState *env, target_ulong addr, target_ureg val,
- bool parallel)
+ bool parallel, uintptr_t ra)
{
- uintptr_t ra = GETPC();
-
switch (addr & 3) {
case 3:
/* The 3 byte store must appear atomic. */
@@ -151,13 +147,13 @@ static void do_stby_e(CPUHPPAState *env, target_ulong
addr, target_ureg val,
void HELPER(stby_e)(CPUHPPAState *env, target_ulong addr, target_ureg val)
{
- do_stby_e(env, addr, val, false);
+ do_stby_e(env, addr, val, false, GETPC());
}
void HELPER(stby_e_parallel)(CPUHPPAState *env, target_ulong addr,
target_ureg val)
{
- do_stby_e(env, addr, val, true);
+ do_stby_e(env, addr, val, true, GETPC());
}
target_ureg HELPER(probe)(CPUHPPAState *env, target_ulong addr,
--
2.17.2
- [Qemu-devel] [PULL 00/24] target/hppa patch queue, Richard Henderson, 2019/02/11
- [Qemu-devel] [PULL 02/24] target/hppa: Begin using scripts/decodetree.py, Richard Henderson, 2019/02/11
- [Qemu-devel] [PULL 07/24] target/hppa: Convert arithmetic/logical insns, Richard Henderson, 2019/02/11
- [Qemu-devel] [PULL 09/24] target/hppa: Convert fp multiply-add, Richard Henderson, 2019/02/11
- [Qemu-devel] [PULL 21/24] target/hppa: Rearrange log conditions, Richard Henderson, 2019/02/11
- [Qemu-devel] [PULL 03/24] target/hppa: Convert move to/from system registers, Richard Henderson, 2019/02/11
- [Qemu-devel] [PULL 04/24] target/hppa: Convert remainder of system insns, Richard Henderson, 2019/02/11
- [Qemu-devel] [PULL 06/24] target/hppa: Convert memory management insns, Richard Henderson, 2019/02/11
- [Qemu-devel] [PULL 19/24] target/hppa: Merge translate_one into hppa_tr_translate_insn, Richard Henderson, 2019/02/11
- [Qemu-devel] [PULL 20/24] target/hppa: move GETPC to HELPER() functions,
Richard Henderson <=
- [Qemu-devel] [PULL 05/24] target/hppa: Unify specializations of OR, Richard Henderson, 2019/02/11
- [Qemu-devel] [PULL 23/24] target/hppa: fix dcor instruction, Richard Henderson, 2019/02/11
- [Qemu-devel] [PULL 16/24] target/hppa: Convert halt/reset insns, Richard Henderson, 2019/02/11
- [Qemu-devel] [PULL 15/24] target/hppa: Convert fp indexed memory insns, Richard Henderson, 2019/02/11
- [Qemu-devel] [PULL 24/24] hw/hppa: forward requests to CPU HPA, Richard Henderson, 2019/02/11
- [Qemu-devel] [PULL 10/24] target/hppa: Convert conditional branches, Richard Henderson, 2019/02/11
- [Qemu-devel] [PULL 08/24] target/hppa: Convert indexed memory insns, Richard Henderson, 2019/02/11
- [Qemu-devel] [PULL 11/24] target/hppa: Convert shift, extract, deposit insns, Richard Henderson, 2019/02/11
- [Qemu-devel] [PULL 14/24] target/hppa: Convert offset memory insns, Richard Henderson, 2019/02/11
- [Qemu-devel] [PULL 22/24] target/hppa: Fix addition '</<=' conditions, Richard Henderson, 2019/02/11