diff options
author | aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-11-18 19:46:41 +0000 |
---|---|---|
committer | aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-11-18 19:46:41 +0000 |
commit | c519dfe0bc5097f5791b67e5773bd974f2ef8cdf (patch) | |
tree | 2436af3fe2b5a72150f728c5b5940768e45ecd0e /target-cris/cpu.h | |
parent | c4c4761fed30f8cc013a768c6eca95c3d5292bd5 (diff) | |
download | qemu-c519dfe0bc5097f5791b67e5773bd974f2ef8cdf.tar.gz qemu-c519dfe0bc5097f5791b67e5773bd974f2ef8cdf.tar.bz2 qemu-c519dfe0bc5097f5791b67e5773bd974f2ef8cdf.zip |
Refactor translation block CPU state handling (Jan Kiszka)
This patch refactors the way the CPU state is handled that is associated
with a TB. The basic motivation is to move more arch specific code out
of generic files. Specifically the long #ifdef clutter in tb_find_fast()
has to be overcome in order to avoid duplicating it for the gdb
watchpoint fixes (patch "Restore pc on watchpoint hits").
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5736 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-cris/cpu.h')
-rw-r--r-- | target-cris/cpu.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/target-cris/cpu.h b/target-cris/cpu.h index 19cb20987a..44a98e46a2 100644 --- a/target-cris/cpu.h +++ b/target-cris/cpu.h @@ -245,4 +245,13 @@ static inline void cpu_pc_from_tb(CPUState *env, TranslationBlock *tb) env->pc = tb->pc; } +static inline void cpu_get_tb_cpu_state(CPUState *env, target_ulong *pc, + target_ulong *cs_base, int *flags) +{ + *pc = env->pc; + *cs_base = 0; + *flags = env->dslot | + (env->pregs[PR_CCS] & (S_FLAG | P_FLAG | U_FLAG | X_FLAG)); +} + #endif |