mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-30 01:29:42 -06:00
[AArch64] Support profiling by cycle counters if they are available to EL0
This commit is contained in:
@ -1102,6 +1102,12 @@ static void GetSystemReg(PStateField field, int &o0, int &op1, int &CRn, int &CR
|
||||
case FIELD_FPSR:
|
||||
o0 = 3; op1 = 3; CRn = 4; CRm = 4; op2 = 1;
|
||||
break;
|
||||
case FIELD_PMCR_EL0:
|
||||
o0 = 3; op1 = 3; CRn = 9; CRm = 6; op2 = 0;
|
||||
break;
|
||||
case FIELD_PMCCNTR_EL0:
|
||||
o0 = 3; op1 = 3; CRn = 9; CRm = 7; op2 = 0;
|
||||
break;
|
||||
default:
|
||||
_assert_msg_(DYNA_REC, false, "Invalid PStateField to do a register move from/to");
|
||||
break;
|
||||
|
@ -172,6 +172,8 @@ enum PStateField
|
||||
FIELD_DAIFSet,
|
||||
FIELD_DAIFClr,
|
||||
FIELD_NZCV, // The only system registers accessible from EL0 (user space)
|
||||
FIELD_PMCR_EL0,
|
||||
FIELD_PMCCNTR_EL0,
|
||||
FIELD_FPCR = 0x340,
|
||||
FIELD_FPSR = 0x341,
|
||||
};
|
||||
@ -809,6 +811,7 @@ public:
|
||||
void FCVTL(u8 size, ARM64Reg Rd, ARM64Reg Rn);
|
||||
void FCVTL2(u8 size, ARM64Reg Rd, ARM64Reg Rn);
|
||||
void FCVTN(u8 dest_size, ARM64Reg Rd, ARM64Reg Rn);
|
||||
void FCVTN2(u8 dest_size, ARM64Reg Rd, ARM64Reg Rn);
|
||||
void FCVTZS(u8 size, ARM64Reg Rd, ARM64Reg Rn);
|
||||
void FCVTZU(u8 size, ARM64Reg Rd, ARM64Reg Rn);
|
||||
void FDIV(u8 size, ARM64Reg Rd, ARM64Reg Rn, ARM64Reg Rm);
|
||||
|
Reference in New Issue
Block a user