diff options
| author | Richard Henderson <richard.henderson@linaro.org> | 2025-04-27 15:32:11 -0700 |
|---|---|---|
| committer | Richard Henderson <richard.henderson@linaro.org> | 2025-04-30 12:45:05 -0700 |
| commit | 4759aae43235cd00e1c9b67ff5bd920db89fddc5 (patch) | |
| tree | 1468b766f39480c6b27a10e665545697eb0ca1ff /target/rx/cpu.c | |
| parent | 5b1c93be57ce6364eb7bbaaab6ecbf2b1d5d979e (diff) | |
| download | focaccia-qemu-4759aae43235cd00e1c9b67ff5bd920db89fddc5.tar.gz focaccia-qemu-4759aae43235cd00e1c9b67ff5bd920db89fddc5.zip | |
accel/tcg: Return TCGTBCPUState from cpu_get_tb_cpu_state
Combine 3 different pointer returns into one structure return. Include a cflags field in TCGTBCPUState, not filled in by cpu_get_tb_cpu_state, but used by all callers. This fills a hole in the structure and is useful in some subroutines. Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'target/rx/cpu.c')
| -rw-r--r-- | target/rx/cpu.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/target/rx/cpu.c b/target/rx/cpu.c index e8b47be675..be778c9f65 100644 --- a/target/rx/cpu.c +++ b/target/rx/cpu.c @@ -44,13 +44,15 @@ static vaddr rx_cpu_get_pc(CPUState *cs) return cpu->env.pc; } -void cpu_get_tb_cpu_state(CPURXState *env, vaddr *pc, - uint64_t *cs_base, uint32_t *flags) +TCGTBCPUState cpu_get_tb_cpu_state(CPUState *cs) { - *pc = env->pc; - *cs_base = 0; - *flags = FIELD_DP32(0, PSW, PM, env->psw_pm); - *flags = FIELD_DP32(*flags, PSW, U, env->psw_u); + CPURXState *env = cpu_env(cs); + uint32_t flags = 0; + + flags = FIELD_DP32(flags, PSW, PM, env->psw_pm); + flags = FIELD_DP32(flags, PSW, U, env->psw_u); + + return (TCGTBCPUState){ .pc = env->pc, .flags = flags }; } static void rx_cpu_synchronize_from_tb(CPUState *cs, |