Loading arch/arm64/kernel/entry.S +13 −16 Original line number Diff line number Diff line Loading @@ -122,26 +122,23 @@ ct_user_enter ldr x23, [sp, #S_SP] // load return stack pointer msr sp_el0, x23 #ifdef CONFIG_ARM64_ERRATUM_845719 #undef SEQUENCE_ORG #undef SEQUENCE_ALT alternative_if_not ARM64_WORKAROUND_845719 nop nop #ifdef CONFIG_PID_IN_CONTEXTIDR #define SEQUENCE_ORG "nop ; nop ; nop" #define SEQUENCE_ALT "tbz x22, #4, 1f ; mrs x29, contextidr_el1; msr contextidr_el1, x29; 1:" nop #endif alternative_else tbz x22, #4, 1f #ifdef CONFIG_PID_IN_CONTEXTIDR mrs x29, contextidr_el1 msr contextidr_el1, x29 #else #define SEQUENCE_ORG "nop ; nop" #define SEQUENCE_ALT "tbz x22, #4, 1f ; msr contextidr_el1, xzr; 1:" msr contextidr_el1, xzr #endif alternative_insn SEQUENCE_ORG, SEQUENCE_ALT, ARM64_WORKAROUND_845719 1: alternative_endif #endif .endif msr elr_el1, x21 // set up the return data Loading Loading
arch/arm64/kernel/entry.S +13 −16 Original line number Diff line number Diff line Loading @@ -122,26 +122,23 @@ ct_user_enter ldr x23, [sp, #S_SP] // load return stack pointer msr sp_el0, x23 #ifdef CONFIG_ARM64_ERRATUM_845719 #undef SEQUENCE_ORG #undef SEQUENCE_ALT alternative_if_not ARM64_WORKAROUND_845719 nop nop #ifdef CONFIG_PID_IN_CONTEXTIDR #define SEQUENCE_ORG "nop ; nop ; nop" #define SEQUENCE_ALT "tbz x22, #4, 1f ; mrs x29, contextidr_el1; msr contextidr_el1, x29; 1:" nop #endif alternative_else tbz x22, #4, 1f #ifdef CONFIG_PID_IN_CONTEXTIDR mrs x29, contextidr_el1 msr contextidr_el1, x29 #else #define SEQUENCE_ORG "nop ; nop" #define SEQUENCE_ALT "tbz x22, #4, 1f ; msr contextidr_el1, xzr; 1:" msr contextidr_el1, xzr #endif alternative_insn SEQUENCE_ORG, SEQUENCE_ALT, ARM64_WORKAROUND_845719 1: alternative_endif #endif .endif msr elr_el1, x21 // set up the return data Loading