mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-24 14:49:42 -06:00
Arm64Emitter: Make PStateField enum an enum class
Prevents namespace pollution and makes the enum members strongly typed.
This commit is contained in:
@ -1149,15 +1149,15 @@ void ARM64XEmitter::_MSR(PStateField field, u8 imm)
|
|||||||
u32 op1 = 0, op2 = 0;
|
u32 op1 = 0, op2 = 0;
|
||||||
switch (field)
|
switch (field)
|
||||||
{
|
{
|
||||||
case FIELD_SPSel:
|
case PStateField::SPSel:
|
||||||
op1 = 0;
|
op1 = 0;
|
||||||
op2 = 5;
|
op2 = 5;
|
||||||
break;
|
break;
|
||||||
case FIELD_DAIFSet:
|
case PStateField::DAIFSet:
|
||||||
op1 = 3;
|
op1 = 3;
|
||||||
op2 = 6;
|
op2 = 6;
|
||||||
break;
|
break;
|
||||||
case FIELD_DAIFClr:
|
case PStateField::DAIFClr:
|
||||||
op1 = 3;
|
op1 = 3;
|
||||||
op2 = 7;
|
op2 = 7;
|
||||||
break;
|
break;
|
||||||
@ -1172,35 +1172,35 @@ static void GetSystemReg(PStateField field, int& o0, int& op1, int& CRn, int& CR
|
|||||||
{
|
{
|
||||||
switch (field)
|
switch (field)
|
||||||
{
|
{
|
||||||
case FIELD_NZCV:
|
case PStateField::NZCV:
|
||||||
o0 = 3;
|
o0 = 3;
|
||||||
op1 = 3;
|
op1 = 3;
|
||||||
CRn = 4;
|
CRn = 4;
|
||||||
CRm = 2;
|
CRm = 2;
|
||||||
op2 = 0;
|
op2 = 0;
|
||||||
break;
|
break;
|
||||||
case FIELD_FPCR:
|
case PStateField::FPCR:
|
||||||
o0 = 3;
|
o0 = 3;
|
||||||
op1 = 3;
|
op1 = 3;
|
||||||
CRn = 4;
|
CRn = 4;
|
||||||
CRm = 4;
|
CRm = 4;
|
||||||
op2 = 0;
|
op2 = 0;
|
||||||
break;
|
break;
|
||||||
case FIELD_FPSR:
|
case PStateField::FPSR:
|
||||||
o0 = 3;
|
o0 = 3;
|
||||||
op1 = 3;
|
op1 = 3;
|
||||||
CRn = 4;
|
CRn = 4;
|
||||||
CRm = 4;
|
CRm = 4;
|
||||||
op2 = 1;
|
op2 = 1;
|
||||||
break;
|
break;
|
||||||
case FIELD_PMCR_EL0:
|
case PStateField::PMCR_EL0:
|
||||||
o0 = 3;
|
o0 = 3;
|
||||||
op1 = 3;
|
op1 = 3;
|
||||||
CRn = 9;
|
CRn = 9;
|
||||||
CRm = 6;
|
CRm = 6;
|
||||||
op2 = 0;
|
op2 = 0;
|
||||||
break;
|
break;
|
||||||
case FIELD_PMCCNTR_EL0:
|
case PStateField::PMCCNTR_EL0:
|
||||||
o0 = 3;
|
o0 = 3;
|
||||||
op1 = 3;
|
op1 = 3;
|
||||||
CRn = 9;
|
CRn = 9;
|
||||||
|
@ -342,16 +342,16 @@ struct FixupBranch
|
|||||||
ARM64Reg reg;
|
ARM64Reg reg;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum PStateField
|
enum class PStateField
|
||||||
{
|
{
|
||||||
FIELD_SPSel = 0,
|
SPSel = 0,
|
||||||
FIELD_DAIFSet,
|
DAIFSet,
|
||||||
FIELD_DAIFClr,
|
DAIFClr,
|
||||||
FIELD_NZCV, // The only system registers accessible from EL0 (user space)
|
NZCV, // The only system registers accessible from EL0 (user space)
|
||||||
FIELD_PMCR_EL0,
|
PMCR_EL0,
|
||||||
FIELD_PMCCNTR_EL0,
|
PMCCNTR_EL0,
|
||||||
FIELD_FPCR = 0x340,
|
FPCR = 0x340,
|
||||||
FIELD_FPSR = 0x341,
|
FPSR = 0x341,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class SystemHint
|
enum class SystemHint
|
||||||
|
Reference in New Issue
Block a user