开启unicorn对NEON(STP SIMD)的支持

CPACR_FPEN_MASK = (0x3 << 20)
CPACR_FPEN_TRAP_NONE = (0x3 << 20)

cpacr = mu.reg_read(UC_ARM64_REG_CPACR_EL1)
cpacr = (cpacr & ~CPACR_FPEN_MASK) | CPACR_FPEN_TRAP_NONE
mu.reg_write(UC_ARM64_REG_CPACR_EL1, cpacr)
var CPACR_FPEN_MASK uint64 = (0x3 << 20)
var CPACR_FPEN_TRAP_NONE uint64= (0x3 << 20)
cpacr, err := mu.RegRead(uc.ARM64_REG_CPACR_EL1)
if err!=nil{
    panic(err.Error())
}
cpacr = (cpacr & ^CPACR_FPEN_MASK) | CPACR_FPEN_TRAP_NONE
mu.RegWrite(uc.ARM64_REG_CPACR_EL1, cpacr)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注