提交 fd1dc858 编写于 作者: E Edgar E. Iglesias

microblaze: Make MSR_UM and MSR_VM part of the tb flags

Signed-off-by: NEdgar E. Iglesias <edgar.iglesias@petalogix.com>
上级 7375c86f
...@@ -217,8 +217,7 @@ typedef struct CPUMBState { ...@@ -217,8 +217,7 @@ typedef struct CPUMBState {
#define DRTB_FLAG (1 << 18) #define DRTB_FLAG (1 << 18)
#define D_FLAG (1 << 19) /* Bit in ESR. */ #define D_FLAG (1 << 19) /* Bit in ESR. */
/* TB dependant CPUState. */ /* TB dependant CPUState. */
#define IFLAGS_TB_MASK (D_FLAG | IMM_FLAG | DRTI_FLAG \ #define IFLAGS_TB_MASK (D_FLAG | IMM_FLAG | DRTI_FLAG | DRTE_FLAG | DRTB_FLAG)
| DRTE_FLAG | DRTB_FLAG | MSR_EE_FLAG)
uint32_t iflags; uint32_t iflags;
struct { struct {
...@@ -323,8 +322,8 @@ static inline void cpu_get_tb_cpu_state(CPUState *env, target_ulong *pc, ...@@ -323,8 +322,8 @@ static inline void cpu_get_tb_cpu_state(CPUState *env, target_ulong *pc,
{ {
*pc = env->sregs[SR_PC]; *pc = env->sregs[SR_PC];
*cs_base = 0; *cs_base = 0;
env->iflags |= env->sregs[SR_MSR] & MSR_EE; *flags = (env->iflags & IFLAGS_TB_MASK) |
*flags = env->iflags & IFLAGS_TB_MASK; (env->sregs[SR_MSR] & (MSR_UM | MSR_VM | MSR_EE));
} }
#if !defined(CONFIG_USER_ONLY) #if !defined(CONFIG_USER_ONLY)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册