From 71a8c019c445377f0dd04881cbd7c7dfb6ff3e5c Mon Sep 17 00:00:00 2001 From: Tom Musta Date: Mon, 10 Feb 2014 11:26:57 -0600 Subject: target-ppc: Add is_user_mode Utility Routine This patch adds a boolean function is_user_mode that can be re-used in translation code that is sensitive to the MSR[PR] (user-mode) state. Signed-off-by: Tom Musta Signed-off-by: Alexander Graf --- target-ppc/translate.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'target-ppc') diff --git a/target-ppc/translate.c b/target-ppc/translate.c index 6abe71a733..f6ff248ea2 100644 --- a/target-ppc/translate.c +++ b/target-ppc/translate.c @@ -622,6 +622,20 @@ static opc_handler_t invalid_handler = { .handler = gen_invalid, }; +#if defined(TARGET_PPC64) +/* NOTE: as this time, the only use of is_user_mode() is in 64 bit code. And */ +/* so the function is wrapped in the standard 64-bit ifdef in order to */ +/* avoid compiler warnings in 32-bit implementations. */ +static bool is_user_mode(DisasContext *ctx) +{ +#if defined(CONFIG_USER_ONLY) + return true; +#else + return ctx->mem_idx == 0; +#endif +} +#endif + /*** Integer comparison ***/ static inline void gen_op_cmp(TCGv arg0, TCGv arg1, int s, int crf) -- cgit v1.2.1