mirror of
https://github.com/Vita3K/unicorn.git
synced 2024-11-27 07:10:45 +00:00
modified the sparc reg get/set functions to use the current reg window ptr
This commit is contained in:
parent
afecfee565
commit
657a6c3e25
@ -57,10 +57,10 @@ int sparc_reg_read(struct uc_struct *uc, unsigned int regid, void *value)
|
||||
*(int32_t *)value = SPARC_CPU(uc, mycpu)->env.pc;
|
||||
break;
|
||||
case UC_SPARC_REG_SP:
|
||||
*(int32_t *)value = SPARC_CPU(uc, mycpu)->env.regbase[6];
|
||||
*(int32_t *)value = SPARC_CPU(uc, mycpu)->env.regwptr[6];
|
||||
break;
|
||||
case UC_SPARC_REG_FP:
|
||||
*(int32_t *)value = SPARC_CPU(uc, mycpu)->env.regbase[22];
|
||||
*(int32_t *)value = SPARC_CPU(uc, mycpu)->env.regwptr[22];
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -88,10 +88,10 @@ int sparc_reg_write(struct uc_struct *uc, unsigned int regid, const void *value)
|
||||
SPARC_CPU(uc, mycpu)->env.npc = *(uint32_t *)value + 4;
|
||||
break;
|
||||
case UC_SPARC_REG_SP:
|
||||
SPARC_CPU(uc, mycpu)->env.regbase[6] = *(uint32_t *)value;
|
||||
SPARC_CPU(uc, mycpu)->env.regwptr[6] = *(uint32_t *)value;
|
||||
break;
|
||||
case UC_SPARC_REG_FP:
|
||||
SPARC_CPU(uc, mycpu)->env.regbase[22] = *(uint32_t *)value;
|
||||
SPARC_CPU(uc, mycpu)->env.regwptr[22] = *(uint32_t *)value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -40,10 +40,10 @@ int sparc_reg_read(struct uc_struct *uc, unsigned int regid, void *value)
|
||||
*(int64_t *)value = SPARC_CPU(uc, mycpu)->env.pc;
|
||||
break;
|
||||
case UC_SPARC_REG_SP:
|
||||
*(int64_t *)value = SPARC_CPU(uc, mycpu)->env.regbase[6];
|
||||
*(int64_t *)value = SPARC_CPU(uc, mycpu)->env.regwptr[6];
|
||||
break;
|
||||
case UC_SPARC_REG_FP:
|
||||
*(int64_t *)value = SPARC_CPU(uc, mycpu)->env.regbase[22];
|
||||
*(int64_t *)value = SPARC_CPU(uc, mycpu)->env.regwptr[22];
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -71,10 +71,10 @@ int sparc_reg_write(struct uc_struct *uc, unsigned int regid, const void *value)
|
||||
SPARC_CPU(uc, mycpu)->env.npc = *(uint64_t *)value + 8;
|
||||
break;
|
||||
case UC_SPARC_REG_SP:
|
||||
SPARC_CPU(uc, mycpu)->env.regbase[6] = *(uint64_t *)value;
|
||||
SPARC_CPU(uc, mycpu)->env.regwptr[6] = *(uint64_t *)value;
|
||||
break;
|
||||
case UC_SPARC_REG_FP:
|
||||
SPARC_CPU(uc, mycpu)->env.regbase[22] = *(uint64_t *)value;
|
||||
SPARC_CPU(uc, mycpu)->env.regwptr[22] = *(uint64_t *)value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user