{
uint32_t ccs;
/* Apply the ccs shift. */
- ccs = env->pregs[SR_CCS];
+ ccs = env->pregs[PR_CCS];
ccs = (ccs & 0xc0000000) | ((ccs << 12) >> 2);
-// printf ("ccs=%x %x\n", env->pregs[SR_CCS], ccs);
- env->pregs[SR_CCS] = ccs;
+ env->pregs[PR_CCS] = ccs;
}
void do_interrupt(CPUState *env)
switch (env->exception_index)
{
case EXCP_BREAK:
-// printf ("BREAK! %d\n", env->trapnr);
irqnum = env->trapnr;
- ebp = env->pregs[SR_EBP];
+ ebp = env->pregs[PR_EBP];
isr = ldl_code(ebp + irqnum * 4);
- env->pregs[SR_ERP] = env->pc + 2;
+ env->pregs[PR_ERP] = env->pc + 2;
env->pc = isr;
cris_shift_ccs(env);
case EXCP_MMU_MISS:
// printf ("MMU miss\n");
irqnum = 4;
- ebp = env->pregs[SR_EBP];
+ ebp = env->pregs[PR_EBP];
isr = ldl_code(ebp + irqnum * 4);
- env->pregs[SR_ERP] = env->pc;
+ env->pregs[PR_ERP] = env->pc;
env->pc = isr;
cris_shift_ccs(env);
break;
if (env->interrupt_request & CPU_INTERRUPT_HARD) {
if (!env->pending_interrupts)
return;
- if (!(env->pregs[SR_CCS] & I_FLAG)) {
+ if (!(env->pregs[PR_CCS] & I_FLAG)) {
return;
}
irqnum = 31 - clz32(env->pending_interrupts);
irqnum += 0x30;
- ebp = env->pregs[SR_EBP];
+ ebp = env->pregs[PR_EBP];
isr = ldl_code(ebp + irqnum * 4);
- env->pregs[SR_ERP] = env->pc;
+ env->pregs[PR_ERP] = env->pc;
env->pc = isr;
cris_shift_ccs(env);
target_phys_addr_t cpu_get_phys_page_debug(CPUState * env, target_ulong addr)
{
-// printf ("%s\n", __func__);
uint32_t phy = addr;
struct cris_mmu_result_t res;
int miss;
uint32_t ccs;
/* Apply the ccs shift. */
- ccs = env->pregs[SR_CCS];
+ ccs = env->pregs[PR_CCS];
ccs = (ccs & 0xc0000000) | ((ccs << 12) >> 2);
- env->pregs[SR_CCS] = ccs;
+ env->pregs[PR_CCS] = ccs;
RETURN();
}
void OPPROTO op_ccs_rshift (void)
uint32_t ccs;
/* Apply the ccs shift. */
- ccs = env->pregs[SR_CCS];
+ ccs = env->pregs[PR_CCS];
ccs = (ccs & 0xc0000000) | (ccs >> 10);
- env->pregs[SR_CCS] = ccs;
+ env->pregs[PR_CCS] = ccs;
RETURN();
}
void OPPROTO op_setf (void)
{
- env->pregs[SR_CCS] |= PARAM1;
+ env->pregs[PR_CCS] |= PARAM1;
RETURN();
}
void OPPROTO op_clrf (void)
{
- env->pregs[SR_CCS] &= ~PARAM1;
+ env->pregs[PR_CCS] &= ~PARAM1;
RETURN();
}
}
void OPPROTO op_movl_T0_flags (void)
{
- T0 = env->pregs[SR_CCS];
+ T0 = env->pregs[PR_CCS];
RETURN();
}
void OPPROTO op_movl_flags_T0 (void)
{
- env->pregs[SR_CCS] = T0;
+ env->pregs[PR_CCS] = T0;
RETURN();
}
void OPPROTO op_movl_sreg_T0 (void)
{
- env->sregs[env->pregs[SR_SRS]][PARAM1] = T0;
+ env->sregs[env->pregs[PR_SRS]][PARAM1] = T0;
RETURN();
}
void OPPROTO op_movl_tlb_lo_T0 (void)
{
int srs;
- srs = env->pregs[SR_SRS];
+ srs = env->pregs[PR_SRS];
if (srs == 1 || srs == 2)
{
int set;
void OPPROTO op_movl_T0_sreg (void)
{
- T0 = env->sregs[env->pregs[SR_SRS]][PARAM1];
+ T0 = env->sregs[env->pregs[PR_SRS]][PARAM1];
RETURN();
}
int x;
/* Extended arithmetics, leave the z flag alone. */
- env->debug3 = env->pregs[SR_CCS];
+ env->debug3 = env->pregs[PR_CCS];
if (env->cc_x_live)
x = env->cc_x;
else
- x = env->pregs[SR_CCS] & X_FLAG;
+ x = env->pregs[PR_CCS] & X_FLAG;
if ((x || env->cc_op == CC_OP_ADDC)
&& flags & Z_FLAG)
env->cc_mask &= ~Z_FLAG;
/* all insn clear the x-flag except setf or clrf. */
- env->pregs[SR_CCS] &= ~(env->cc_mask | X_FLAG);
+ env->pregs[PR_CCS] &= ~(env->cc_mask | X_FLAG);
flags &= env->cc_mask;
- env->pregs[SR_CCS] |= flags;
+ env->pregs[PR_CCS] |= flags;
RETURN();
}
void OPPROTO op_addxl_T0_C (void)
{
- if (env->pregs[SR_CCS] & X_FLAG)
- T0 += !!(env->pregs[SR_CCS] & C_FLAG);
+ if (env->pregs[PR_CCS] & X_FLAG)
+ T0 += !!(env->pregs[PR_CCS] & C_FLAG);
RETURN();
}
void OPPROTO op_subxl_T0_C (void)
{
- if (env->pregs[SR_CCS] & X_FLAG)
- T0 -= !!(env->pregs[SR_CCS] & C_FLAG);
+ if (env->pregs[PR_CCS] & X_FLAG)
+ T0 -= !!(env->pregs[PR_CCS] & C_FLAG);
RETURN();
}
void OPPROTO op_addl_T0_C (void)
{
- T0 += !!(env->pregs[SR_CCS] & C_FLAG);
+ T0 += !!(env->pregs[PR_CCS] & C_FLAG);
RETURN();
}
void OPPROTO op_addl_T0_R (void)
{
- T0 += !!(env->pregs[SR_CCS] & R_FLAG);
+ T0 += !!(env->pregs[PR_CCS] & R_FLAG);
RETURN();
}
void OPPROTO op_clr_R (void)
{
- env->pregs[SR_CCS] &= ~R_FLAG;
+ env->pregs[PR_CCS] &= ~R_FLAG;
RETURN();
}
tmp = t0 * t1;
T0 = tmp & 0xffffffff;
- env->pregs[REG_MOF] = tmp >> 32;
+ env->pregs[PR_MOF] = tmp >> 32;
RETURN();
}
tmp = t0 * t1;
T0 = tmp & 0xffffffff;
- env->pregs[REG_MOF] = tmp >> 32;
+ env->pregs[PR_MOF] = tmp >> 32;
RETURN();
}
}
void OPPROTO op_tst_cc_eq (void) {
- uint32_t flags = env->pregs[SR_CCS];
+ uint32_t flags = env->pregs[PR_CCS];
int z_set;
z_set = !!(flags & Z_FLAG);
}
void OPPROTO op_tst_cc_ne (void) {
- uint32_t flags = env->pregs[SR_CCS];
+ uint32_t flags = env->pregs[PR_CCS];
int z_set;
z_set = !!(flags & Z_FLAG);
}
void OPPROTO op_tst_cc_cc (void) {
- uint32_t flags = env->pregs[SR_CCS];
+ uint32_t flags = env->pregs[PR_CCS];
int c_set;
c_set = !!(flags & C_FLAG);
RETURN();
}
void OPPROTO op_tst_cc_cs (void) {
- uint32_t flags = env->pregs[SR_CCS];
+ uint32_t flags = env->pregs[PR_CCS];
int c_set;
c_set = !!(flags & C_FLAG);
}
void OPPROTO op_tst_cc_vc (void) {
- uint32_t flags = env->pregs[SR_CCS];
+ uint32_t flags = env->pregs[PR_CCS];
int v_set;
v_set = !!(flags & V_FLAG);
RETURN();
}
void OPPROTO op_tst_cc_vs (void) {
- uint32_t flags = env->pregs[SR_CCS];
+ uint32_t flags = env->pregs[PR_CCS];
int v_set;
v_set = !!(flags & V_FLAG);
RETURN();
}
void OPPROTO op_tst_cc_pl (void) {
- uint32_t flags = env->pregs[SR_CCS];
+ uint32_t flags = env->pregs[PR_CCS];
int n_set;
n_set = !!(flags & N_FLAG);
}
void OPPROTO op_tst_cc_mi (void) {
- uint32_t flags = env->pregs[SR_CCS];
+ uint32_t flags = env->pregs[PR_CCS];
int n_set;
n_set = !!(flags & N_FLAG);
}
void OPPROTO op_tst_cc_ls (void) {
- uint32_t flags = env->pregs[SR_CCS];
+ uint32_t flags = env->pregs[PR_CCS];
int c_set;
int z_set;
RETURN();
}
void OPPROTO op_tst_cc_hi (void) {
- uint32_t flags = env->pregs[SR_CCS];
+ uint32_t flags = env->pregs[PR_CCS];
int z_set;
int c_set;
}
void OPPROTO op_tst_cc_ge (void) {
- uint32_t flags = env->pregs[SR_CCS];
+ uint32_t flags = env->pregs[PR_CCS];
int n_set;
int v_set;
}
void OPPROTO op_tst_cc_lt (void) {
- uint32_t flags = env->pregs[SR_CCS];
+ uint32_t flags = env->pregs[PR_CCS];
int n_set;
int v_set;
}
void OPPROTO op_tst_cc_gt (void) {
- uint32_t flags = env->pregs[SR_CCS];
+ uint32_t flags = env->pregs[PR_CCS];
int n_set;
int v_set;
int z_set;
}
void OPPROTO op_tst_cc_le (void) {
- uint32_t flags = env->pregs[SR_CCS];
+ uint32_t flags = env->pregs[PR_CCS];
int n_set;
int v_set;
int z_set;
}
void OPPROTO op_tst_cc_p (void) {
- uint32_t flags = env->pregs[SR_CCS];
+ uint32_t flags = env->pregs[PR_CCS];
int p_set;
p_set = !!(flags & P_FLAG);
/* this one is used on every alu op, optimize it!. */
void OPPROTO op_goto_if_not_x (void)
{
- if (env->pregs[SR_CCS] & X_FLAG)
+ if (env->pregs[PR_CCS] & X_FLAG)
GOTO_LABEL_PARAM(1);
RETURN();
}
/* Fetch register operand, */
gen_movl_T0_reg[dc->op2]();
gen_op_movl_T1_im(imm);
- crisv32_alu_op(dc, CC_OP_ADD, REG_ACR, 4);
+ crisv32_alu_op(dc, CC_OP_ADD, R_ACR, 4);
return 2;
}
static unsigned int dec_addq(DisasContext *dc)
dec_prep_alu_r(dc, dc->op1, dc->op2, 4, 0);
gen_op_lsll_T0_im(dc->zzsize);
gen_op_addl_T0_T1();
- gen_movl_reg_T0[REG_ACR]();
+ gen_movl_reg_T0[R_ACR]();
return 2;
}
cris_cc_mask(dc, 0);
insn_len = dec_prep_alu_m(dc, 1, memsize);
- crisv32_alu_op(dc, CC_OP_ADD, REG_ACR, 4);
+ crisv32_alu_op(dc, CC_OP_ADD, R_ACR, 4);
do_postinc(dc, memsize);
return insn_len;
}
if (!dc->flagx_live
|| (dc->flagx_live &&
!(dc->cc_op == CC_OP_FLAGS && dc->flags_x))) {
- gen_movl_T0_preg[SR_CCS]();
+ gen_movl_T0_preg[PR_CCS]();
gen_op_andl_T0_im(~X_FLAG);
- gen_movl_preg_T0[SR_CCS]();
+ gen_movl_preg_T0[PR_CCS]();
dc->flagx_live = 1;
dc->flags_x = 0;
}
cpu_fprintf(f, "PC=%x CCS=%x btaken=%d btarget=%x\n"
"cc_op=%d cc_src=%d cc_dest=%d cc_result=%x cc_mask=%x\n"
"debug=%x %x %x\n",
- env->pc, env->pregs[SR_CCS], env->btaken, env->btarget,
+ env->pc, env->pregs[PR_CCS], env->btaken, env->btarget,
env->cc_op,
env->cc_src, env->cc_dest, env->cc_result, env->cc_mask,
env->debug1, env->debug2, env->debug3);
if ((i + 1) % 4 == 0)
cpu_fprintf(f, "\n");
}
- srs = env->pregs[SR_SRS];
+ srs = env->pregs[PR_SRS];
cpu_fprintf(f, "\nsupport function regs bank %d:\n", srs);
if (srs < 256) {
for (i = 0; i < 16; i++) {