Commit f89eea4e authored by Manish Pandey's avatar Manish Pandey Committed by TrustedFirmware Code Review
Browse files

Merge "context: TPIDR_EL2 register not saved/restored" into integration

parents 0d5864d9 7f164a83
...@@ -183,7 +183,7 @@ ...@@ -183,7 +183,7 @@
#define CTX_SPSR_EL2 U(0xd0) #define CTX_SPSR_EL2 U(0xd0)
#define CTX_SP_EL2 U(0xd8) #define CTX_SP_EL2 U(0xd8)
#define CTX_TCR_EL2 U(0xe0) #define CTX_TCR_EL2 U(0xe0)
#define CTX_TRFCR_EL2 U(0xe8) #define CTX_TPIDR_EL2 U(0xe8)
#define CTX_TTBR0_EL2 U(0xf0) #define CTX_TTBR0_EL2 U(0xf0)
#define CTX_VBAR_EL2 U(0xf8) #define CTX_VBAR_EL2 U(0xf8)
#define CTX_VMPIDR_EL2 U(0x100) #define CTX_VMPIDR_EL2 U(0x100)
...@@ -234,11 +234,13 @@ ...@@ -234,11 +234,13 @@
#define CTX_VSESR_EL2 U(0x228) #define CTX_VSESR_EL2 U(0x228)
#define CTX_VSTCR_EL2 U(0x230) #define CTX_VSTCR_EL2 U(0x230)
#define CTX_VSTTBR_EL2 U(0x238) #define CTX_VSTTBR_EL2 U(0x238)
#define CTX_TRFCR_EL2 U(0x240)
// Starting with Armv8.5 // Starting with Armv8.5
#define CTX_SCXTNUM_EL2 U(0x240) #define CTX_SCXTNUM_EL2 U(0x248)
/* Align to the next 16 byte boundary */ /* Align to the next 16 byte boundary */
#define CTX_EL2_SYSREGS_END U(0x250) #define CTX_EL2_SYSREGS_END U(0x250)
#endif /* CTX_INCLUDE_EL2_REGS */ #endif /* CTX_INCLUDE_EL2_REGS */
/******************************************************************************* /*******************************************************************************
......
...@@ -100,7 +100,7 @@ func el2_sysregs_context_save ...@@ -100,7 +100,7 @@ func el2_sysregs_context_save
stp x10, x11, [x0, #CTX_SPSR_EL2] stp x10, x11, [x0, #CTX_SPSR_EL2]
mrs x12, tcr_el2 mrs x12, tcr_el2
mrs x13, TRFCR_EL2 mrs x13, tpidr_el2
stp x12, x13, [x0, #CTX_TCR_EL2] stp x12, x13, [x0, #CTX_TCR_EL2]
mrs x14, ttbr0_el2 mrs x14, ttbr0_el2
...@@ -204,11 +204,14 @@ func el2_sysregs_context_save ...@@ -204,11 +204,14 @@ func el2_sysregs_context_save
mrs x16, vsttbr_el2 mrs x16, vsttbr_el2
str x16, [x0, #CTX_VSTTBR_EL2] str x16, [x0, #CTX_VSTTBR_EL2]
mrs x17, TRFCR_EL2
str x17, [x0, #CTX_TRFCR_EL2]
#endif #endif
#if ARM_ARCH_AT_LEAST(8, 5) #if ARM_ARCH_AT_LEAST(8, 5)
mrs x17, scxtnum_el2 mrs x9, scxtnum_el2
str x17, [x0, #CTX_SCXTNUM_EL2] str x9, [x0, #CTX_SCXTNUM_EL2]
#endif #endif
ret ret
...@@ -289,7 +292,7 @@ func el2_sysregs_context_restore ...@@ -289,7 +292,7 @@ func el2_sysregs_context_restore
ldp x12, x13, [x0, #CTX_TCR_EL2] ldp x12, x13, [x0, #CTX_TCR_EL2]
msr tcr_el2, x12 msr tcr_el2, x12
msr TRFCR_EL2, x13 msr tpidr_el2, x13
ldp x14, x15, [x0, #CTX_TTBR0_EL2] ldp x14, x15, [x0, #CTX_TTBR0_EL2]
msr ttbr0_el2, x14 msr ttbr0_el2, x14
...@@ -391,11 +394,14 @@ func el2_sysregs_context_restore ...@@ -391,11 +394,14 @@ func el2_sysregs_context_restore
ldr x16, [x0, #CTX_VSTTBR_EL2] ldr x16, [x0, #CTX_VSTTBR_EL2]
msr vsttbr_el2, x16 msr vsttbr_el2, x16
ldr x17, [x0, #CTX_TRFCR_EL2]
msr TRFCR_EL2, x17
#endif #endif
#if ARM_ARCH_AT_LEAST(8, 5) #if ARM_ARCH_AT_LEAST(8, 5)
ldr x17, [x0, #CTX_SCXTNUM_EL2] ldr x9, [x0, #CTX_SCXTNUM_EL2]
msr scxtnum_el2, x17 msr scxtnum_el2, x9
#endif #endif
ret ret
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment