Added ARM coproc registers (#684)
* Added ARM coproc registers * Added regression test for vfp
This commit is contained in:
committed by
Nguyen Anh Quynh
parent
a735576dd3
commit
053ecd7bf4
@@ -77,6 +77,15 @@ int arm_reg_read(struct uc_struct *uc, unsigned int *regs, void **vals, int coun
|
||||
case UC_ARM_REG_R15:
|
||||
*(int32_t *)value = ARM_CPU(uc, mycpu)->env.regs[15];
|
||||
break;
|
||||
case UC_ARM_REG_C1_C0_2:
|
||||
*(int32_t *)value = ARM_CPU(uc, mycpu)->env.cp15.c1_coproc;
|
||||
break;
|
||||
case UC_ARM_REG_C13_C0_3:
|
||||
*(int32_t *)value = ARM_CPU(uc, mycpu)->env.cp15.tpidrro_el0;
|
||||
break;
|
||||
case UC_ARM_REG_FPEXC:
|
||||
*(int32_t *)value = ARM_CPU(uc, mycpu)->env.vfp.xregs[ARM_VFP_FPEXC];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -119,6 +128,16 @@ int arm_reg_write(struct uc_struct *uc, unsigned int *regs, void* const* vals, i
|
||||
uc->quit_request = true;
|
||||
uc_emu_stop(uc);
|
||||
|
||||
break;
|
||||
case UC_ARM_REG_C1_C0_2:
|
||||
ARM_CPU(uc, mycpu)->env.cp15.c1_coproc = *(int32_t *)value;
|
||||
break;
|
||||
|
||||
case UC_ARM_REG_C13_C0_3:
|
||||
ARM_CPU(uc, mycpu)->env.cp15.tpidrro_el0 = *(int32_t *)value;
|
||||
break;
|
||||
case UC_ARM_REG_FPEXC:
|
||||
ARM_CPU(uc, mycpu)->env.vfp.xregs[ARM_VFP_FPEXC] = *(int32_t *)value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user