From 823029f909b3666660418387d48ea6a207f23f26 Mon Sep 17 00:00:00 2001 From: ths Date: Sun, 2 Dec 2007 06:10:04 +0000 Subject: SH4 delay slot code update, by Magnus Damm. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3761 c046a42c-6fe2-441c-8c8c-71466251a162 --- target-sh4/cpu.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'target-sh4/cpu.h') diff --git a/target-sh4/cpu.h b/target-sh4/cpu.h index 79701306c6..f9ecbb271d 100644 --- a/target-sh4/cpu.h +++ b/target-sh4/cpu.h @@ -46,16 +46,16 @@ #define FPSCR_SZ (1 << 20) #define FPSCR_PR (1 << 19) #define FPSCR_DN (1 << 18) - -#define DELAY_SLOT (1 << 0) /* Must be the same as SR_T. */ -/* This flag is set if the next insn is a delay slot for a conditional jump. - The dynamic value of the DELAY_SLOT determines whether the jup is taken. */ +#define DELAY_SLOT (1 << 0) #define DELAY_SLOT_CONDITIONAL (1 << 1) -/* Those are used in contexts only */ -#define BRANCH (1 << 2) -#define BRANCH_CONDITIONAL (1 << 3) -#define MODE_CHANGE (1 << 4) /* Potential MD|RB change */ -#define BRANCH_EXCEPTION (1 << 5) /* Branch after exception */ +#define DELAY_SLOT_TRUE (1 << 2) +#define DELAY_SLOT_CLEARME (1 << 3) +/* The dynamic value of the DELAY_SLOT_TRUE flag determines whether the jump + * after the delay slot should be taken or not. It is calculated from SR_T. + * + * It is unclear if it is permitted to modify the SR_T flag in a delay slot. + * The use of DELAY_SLOT_TRUE flag makes us accept such SR_T modification. + */ /* XXXXX The structure could be made more compact */ typedef struct tlb_t { -- cgit v1.2.3