modified the sparc reg get/set functions to use the current reg window ptr

This commit is contained in:
mothran 2015-09-12 10:29:35 -07:00
parent afecfee565
commit 657a6c3e25
2 changed files with 8 additions and 8 deletions

View File

@ -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;
}
}

View File

@ -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;
}
}