kern: swap tpidr_el1/cntv_cval_el0 as scratch vs exception stack

This commit is contained in:
Michael Scire 2021-04-07 08:36:03 -07:00 committed by SciresM
parent 2f930c2d5f
commit c216f92a91
7 changed files with 34 additions and 28 deletions

View file

@ -232,7 +232,7 @@ namespace ams::kern::arch::arm64::cpu {
}
ALWAYS_INLINE void SetExceptionThreadStackTop(uintptr_t top) {
SetTpidrEl1(top);
cpu::SetCntvCvalEl0(top);
}
ALWAYS_INLINE void SwitchThreadLocalRegion(uintptr_t tlr) {

View file

@ -74,6 +74,7 @@ namespace ams::kern::arch::arm64::cpu {
MESOSPHERE_CPU_DEFINE_SYSREG_ACCESSORS(CntkCtlEl1, cntkctl_el1)
MESOSPHERE_CPU_DEFINE_SYSREG_ACCESSORS(CntpCtlEl0, cntp_ctl_el0)
MESOSPHERE_CPU_DEFINE_SYSREG_ACCESSORS(CntpCvalEl0, cntp_cval_el0)
MESOSPHERE_CPU_DEFINE_SYSREG_ACCESSORS(CntvCvalEl0, cntv_cval_el0)
MESOSPHERE_CPU_DEFINE_SYSREG_ACCESSORS(Daif, daif)