mirror of https://github.com/acidanthera/audk.git
ArmLib: add functions to read system registers
ArmCpuInfo uses those to read system registers and other parts of EDK2 may find them useful. Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> Reviewed-by: Leif Lindholm <quic_llindhol@quicinc.com>
This commit is contained in:
parent
ed2ff315db
commit
a7c8969d03
|
@ -40,7 +40,43 @@ ArmCleanInvalidateDataCacheEntryBySetWay (
|
||||||
|
|
||||||
UINTN
|
UINTN
|
||||||
EFIAPI
|
EFIAPI
|
||||||
ArmReadIdAA64Pfr0 (
|
ArmReadIdAA64Dfr0 (
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
|
UINTN
|
||||||
|
EFIAPI
|
||||||
|
ArmReadIdAA64Dfr1 (
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
|
UINTN
|
||||||
|
EFIAPI
|
||||||
|
ArmReadIdAA64Isar0 (
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
|
UINTN
|
||||||
|
EFIAPI
|
||||||
|
ArmReadIdAA64Isar1 (
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
|
UINTN
|
||||||
|
EFIAPI
|
||||||
|
ArmReadIdAA64Isar2 (
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
|
UINTN
|
||||||
|
EFIAPI
|
||||||
|
ArmReadIdAA64Mmfr0 (
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
|
UINTN
|
||||||
|
EFIAPI
|
||||||
|
ArmReadIdAA64Mmfr1 (
|
||||||
VOID
|
VOID
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -54,4 +90,16 @@ ArmReadIdAA64Mmfr2 (
|
||||||
VOID
|
VOID
|
||||||
);
|
);
|
||||||
|
|
||||||
|
UINTN
|
||||||
|
EFIAPI
|
||||||
|
ArmReadIdAA64Pfr0 (
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
|
UINTN
|
||||||
|
EFIAPI
|
||||||
|
ArmReadIdAA64Pfr1 (
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
#endif // AARCH64_LIB_H_
|
#endif // AARCH64_LIB_H_
|
||||||
|
|
|
@ -425,10 +425,6 @@ ASM_FUNC(ArmCallWFI)
|
||||||
wfi
|
wfi
|
||||||
ret
|
ret
|
||||||
|
|
||||||
ASM_FUNC(ArmReadIdAA64Mmfr2)
|
|
||||||
mrs x0, ID_AA64MMFR2_EL1 // read EL1 MMFR2
|
|
||||||
ret
|
|
||||||
|
|
||||||
ASM_FUNC(ArmReadMpidr)
|
ASM_FUNC(ArmReadMpidr)
|
||||||
mrs x0, mpidr_el1 // read EL1 MPIDR
|
mrs x0, mpidr_el1 // read EL1 MPIDR
|
||||||
ret
|
ret
|
||||||
|
@ -452,10 +448,6 @@ ASM_FUNC(ArmIsArchTimerImplemented)
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
ASM_FUNC(ArmReadIdAA64Pfr0)
|
|
||||||
mrs x0, id_aa64pfr0_el1 // Read ID_AA64PFR0 Register
|
|
||||||
ret
|
|
||||||
|
|
||||||
|
|
||||||
// VOID ArmWriteHcr(UINTN Hcr)
|
// VOID ArmWriteHcr(UINTN Hcr)
|
||||||
ASM_FUNC(ArmWriteHcr)
|
ASM_FUNC(ArmWriteHcr)
|
||||||
|
@ -482,4 +474,54 @@ ASM_FUNC(ArmWriteCntHctl)
|
||||||
msr cnthctl_el2, x0
|
msr cnthctl_el2, x0
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
ASM_FUNC(ArmReadIdAA64Dfr0)
|
||||||
|
mrs x0, ID_AA64DFR0_EL1
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
ASM_FUNC(ArmReadIdAA64Dfr1)
|
||||||
|
mrs x0, ID_AA64DFR1_EL1
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
ASM_FUNC(ArmReadIdAA64Isar0)
|
||||||
|
mrs x0, ID_AA64ISAR0_EL1
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
ASM_FUNC(ArmReadIdAA64Isar1)
|
||||||
|
mrs x0, ID_AA64ISAR1_EL1
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
ASM_FUNC(ArmReadIdAA64Isar2)
|
||||||
|
mrs x0, ID_AA64ISAR2_EL1
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
ASM_FUNC(ArmReadIdAA64Mmfr0)
|
||||||
|
mrs x0, ID_AA64MMFR0_EL1
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
ASM_FUNC(ArmReadIdAA64Mmfr1)
|
||||||
|
mrs x0, ID_AA64MMFR1_EL1
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
ASM_FUNC(ArmReadIdAA64Mmfr2)
|
||||||
|
mrs x0, ID_AA64MMFR2_EL1
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
ASM_FUNC(ArmReadIdAA64Pfr0)
|
||||||
|
mrs x0, ID_AA64PFR0_EL1
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
ASM_FUNC(ArmReadIdAA64Pfr1)
|
||||||
|
mrs x0, ID_AA64PFR1_EL1
|
||||||
|
ret
|
||||||
|
|
||||||
ASM_FUNCTION_REMOVE_IF_UNREFERENCED
|
ASM_FUNCTION_REMOVE_IF_UNREFERENCED
|
||||||
|
|
Loading…
Reference in New Issue