diff options
author | Mark Rutland <mark.rutland@arm.com> | 2016-09-08 15:55:39 +0300 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2016-09-09 13:43:50 +0300 |
commit | d3ea42aad584493b99c109e59ced77db145a68e1 (patch) | |
tree | a9a5c116c242eab0415e82b1a969ad0642f74364 /arch/arm64/include/asm/mmu_context.h | |
parent | adf7589997927b1d84a5d003027b866bbef61ef2 (diff) | |
download | linux-d3ea42aad584493b99c109e59ced77db145a68e1.tar.xz |
arm64: simplify contextidr_thread_switch
When CONFIG_PID_IN_CONTEXTIDR is not selected, we use an empty stub
definition of contextidr_thread_switch(). As everything we rely upon
exists regardless of CONFIG_PID_IN_CONTEXTIDR, we don't strictly require
an empty stub.
By using IS_ENABLED() rather than ifdeffery, we avoid duplication, and
get compiler coverage on all the code even when CONFIG_PID_IN_CONTEXTIDR
is not selected and the code is optimised away.
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64/include/asm/mmu_context.h')
-rw-r--r-- | arch/arm64/include/asm/mmu_context.h | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/arch/arm64/include/asm/mmu_context.h b/arch/arm64/include/asm/mmu_context.h index e5c24b47dba5..a50185375f09 100644 --- a/arch/arm64/include/asm/mmu_context.h +++ b/arch/arm64/include/asm/mmu_context.h @@ -30,17 +30,14 @@ #include <asm/sysreg.h> #include <asm/tlbflush.h> -#ifdef CONFIG_PID_IN_CONTEXTIDR static inline void contextidr_thread_switch(struct task_struct *next) { + if (!IS_ENABLED(CONFIG_PID_IN_CONTEXTIDR)) + return; + write_sysreg(task_pid_nr(next), contextidr_el1); isb(); } -#else -static inline void contextidr_thread_switch(struct task_struct *next) -{ -} -#endif /* * Set TTBR0 to empty_zero_page. No translations will be possible via TTBR0. |