On 24 April 2013 02:48, liguang <[email protected]> wrote:
> Signed-off-by: liguang <[email protected]>
I'm afraid this is definitely wrong. It has a less than
helpful name, but cs_base is actually just "another 32/64 bits
of state that the target can use to distinguish translation
blocks", and some non-x86 targets do use it. For instance:
> --- a/target-sparc/cpu.h
> +++ b/target-sparc/cpu.h
> @@ -715,7 +715,7 @@ trap_state* cpu_tsptr(CPUSPARCState* env);
> #define TB_FLAG_AM_ENABLED (1 << 5)
>
> static inline void cpu_get_tb_cpu_state(CPUSPARCState *env, target_ulong *pc,
> - target_ulong *cs_base, int *flags)
> + int *flags)
> {
> *pc = env->pc;
> *cs_base = env->npc;
...surely this doesn't even compile after your changes?
thanks
-- PMM