From 22be035e60c6f541629cbaf68d35c3d328815bae Mon Sep 17 00:00:00 2001 From: "Emilio G. Cota" Date: Wed, 28 Feb 2018 00:24:13 -0500 Subject: [PATCH] target-arm: remove EXCP_STREX + cpu_exclusive_{test, info} The exception is not emitted anymore; remove it and the associated TCG variables. Backports commit 05188cc72f0399e99c92f608a8e7ca4c8e552c4b from qemu --- qemu/target-arm/cpu.h | 5 ----- qemu/target-arm/internals.h | 5 ++--- qemu/target-arm/translate.c | 12 ------------ 3 files changed, 2 insertions(+), 20 deletions(-) diff --git a/qemu/target-arm/cpu.h b/qemu/target-arm/cpu.h index 71059cf2..56ceee79 100644 --- a/qemu/target-arm/cpu.h +++ b/qemu/target-arm/cpu.h @@ -50,7 +50,6 @@ #define EXCP_BKPT 7 #define EXCP_EXCEPTION_EXIT 8 /* Return from v7M exception. */ #define EXCP_KERNEL_TRAP 9 /* Jumped to kernel code page. */ -#define EXCP_STREX 10 #define EXCP_HVC 11 /* HyperVisor Call */ #define EXCP_HYP_TRAP 12 #define EXCP_SMC 13 /* Secure Monitor Call */ @@ -482,10 +481,6 @@ typedef struct CPUARMState { uint64_t exclusive_addr; uint64_t exclusive_val; uint64_t exclusive_high; -#if defined(CONFIG_USER_ONLY) - uint64_t exclusive_test; - uint32_t exclusive_info; -#endif /* iwMMXt coprocessor state. */ struct { diff --git a/qemu/target-arm/internals.h b/qemu/target-arm/internals.h index 395e40b3..99df151a 100644 --- a/qemu/target-arm/internals.h +++ b/qemu/target-arm/internals.h @@ -46,8 +46,7 @@ static inline bool excp_is_internal(int excp) || excp == EXCP_HALTED || excp == EXCP_EXCEPTION_EXIT || excp == EXCP_KERNEL_TRAP - || excp == EXCP_SEMIHOST - || excp == EXCP_STREX; + || excp == EXCP_SEMIHOST; } /* Exception names for debug logging; note that not all of these @@ -64,7 +63,7 @@ static const char * const excnames[] = { "Breakpoint", "QEMU v7M exception exit", "QEMU intercept of kernel commpage", - "QEMU intercept of STREX", + NULL, "Hypervisor Call", "Hypervisor Trap", "Secure Monitor Call", diff --git a/qemu/target-arm/translate.c b/qemu/target-arm/translate.c index b82c01c0..797663a5 100644 --- a/qemu/target-arm/translate.c +++ b/qemu/target-arm/translate.c @@ -57,12 +57,6 @@ #define IS_USER(s) (s->user) #endif -#ifdef CONFIG_USER_ONLY -static TCGv_i64 cpu_exclusive_test; -static TCGv_i32 cpu_exclusive_info; -#endif - - static const char *regnames[] = { "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "r13", "r14", "pc" }; @@ -90,12 +84,6 @@ void arm_translate_init(struct uc_struct *uc) offsetof(CPUARMState, exclusive_addr), "exclusive_addr"); tcg_ctx->cpu_exclusive_val = tcg_global_mem_new_i64(uc->tcg_ctx, tcg_ctx->cpu_env, offsetof(CPUARMState, exclusive_val), "exclusive_val"); -#ifdef CONFIG_USER_ONLY - cpu_exclusive_test = tcg_global_mem_new_i64(uc->tcg_ctx, tcg_ctx->cpu_env, - offsetof(CPUARMState, exclusive_test), "exclusive_test"); - cpu_exclusive_info = tcg_global_mem_new_i32(uc->tcg_ctx, tcg_ctx->cpu_env, - offsetof(CPUARMState, exclusive_info), "exclusive_info"); -#endif a64_translate_init(uc); }