mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-03-08 10:09:43 +00:00
Reading and writing NEON registers
This commit is contained in:
parent
125f77a460
commit
4b45869437
|
@ -56,6 +56,8 @@ int arm_reg_read(struct uc_struct *uc, unsigned int *regs, void **vals, int coun
|
||||||
void *value = vals[i];
|
void *value = vals[i];
|
||||||
if (regid >= UC_ARM_REG_R0 && regid <= UC_ARM_REG_R12)
|
if (regid >= UC_ARM_REG_R0 && regid <= UC_ARM_REG_R12)
|
||||||
*(int32_t *)value = ARM_CPU(uc, mycpu)->env.regs[regid - UC_ARM_REG_R0];
|
*(int32_t *)value = ARM_CPU(uc, mycpu)->env.regs[regid - UC_ARM_REG_R0];
|
||||||
|
else if (regid >= UC_ARM_REG_D0 && regid <= UC_ARM_REG_D31)
|
||||||
|
*(float64 *)value = ARM_CPU(uc, mycpu)->env.vfp.regs[regid - UC_ARM_REG_D0];
|
||||||
else {
|
else {
|
||||||
switch(regid) {
|
switch(regid) {
|
||||||
case UC_ARM_REG_CPSR:
|
case UC_ARM_REG_CPSR:
|
||||||
|
@ -90,6 +92,8 @@ int arm_reg_write(struct uc_struct *uc, unsigned int *regs, void* const* vals, i
|
||||||
const void *value = vals[i];
|
const void *value = vals[i];
|
||||||
if (regid >= UC_ARM_REG_R0 && regid <= UC_ARM_REG_R12)
|
if (regid >= UC_ARM_REG_R0 && regid <= UC_ARM_REG_R12)
|
||||||
ARM_CPU(uc, mycpu)->env.regs[regid - UC_ARM_REG_R0] = *(uint32_t *)value;
|
ARM_CPU(uc, mycpu)->env.regs[regid - UC_ARM_REG_R0] = *(uint32_t *)value;
|
||||||
|
else if (regid >= UC_ARM_REG_D0 && regid <= UC_ARM_REG_D31)
|
||||||
|
ARM_CPU(uc, mycpu)->env.vfp.regs[regid - UC_ARM_REG_D0] = *(float64 *)value;
|
||||||
else {
|
else {
|
||||||
switch(regid) {
|
switch(regid) {
|
||||||
//case UC_ARM_REG_SP:
|
//case UC_ARM_REG_SP:
|
||||||
|
|
Loading…
Reference in a new issue