mirror of
https://github.com/torvalds/linux.git
synced 2026-02-04 15:28:49 +08:00
powerpc/64s: Move branch cache flushing bcctr variant to ppc-ops.h
Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20200609070610.846703-6-npiggin@gmail.com
This commit is contained in:
committed by
Michael Ellerman
parent
c0036549a9
commit
70d7cdaf05
@@ -195,6 +195,7 @@
|
||||
#define OP_LQ 56
|
||||
|
||||
/* sorted alphabetically */
|
||||
#define PPC_INST_BCCTR_FLUSH 0x4c400420
|
||||
#define PPC_INST_BHRBE 0x7c00025c
|
||||
#define PPC_INST_CLRBHRB 0x7c00035c
|
||||
#define PPC_INST_COPY 0x7c20060c
|
||||
@@ -437,6 +438,7 @@
|
||||
#endif
|
||||
|
||||
/* Deal with instructions that older assemblers aren't aware of */
|
||||
#define PPC_BCCTR_FLUSH stringify_in_c(.long PPC_INST_BCCTR_FLUSH)
|
||||
#define PPC_CP_ABORT stringify_in_c(.long PPC_INST_CP_ABORT)
|
||||
#define PPC_COPY(a, b) stringify_in_c(.long PPC_INST_COPY | \
|
||||
___PPC_RA(a) | ___PPC_RB(b))
|
||||
|
||||
@@ -261,8 +261,6 @@ _ASM_NOKPROBE_SYMBOL(save_nvgprs);
|
||||
1: nop; \
|
||||
patch_site 1b, patch__call_flush_branch_caches
|
||||
|
||||
#define BCCTR_FLUSH .long 0x4c400420
|
||||
|
||||
.macro nops number
|
||||
.rept \number
|
||||
nop
|
||||
@@ -293,7 +291,7 @@ flush_branch_caches:
|
||||
li r9,0x7fff
|
||||
mtctr r9
|
||||
|
||||
BCCTR_FLUSH
|
||||
PPC_BCCTR_FLUSH
|
||||
|
||||
2: nop
|
||||
patch_site 2b patch__flush_count_cache_return
|
||||
@@ -302,7 +300,7 @@ flush_branch_caches:
|
||||
|
||||
.rept 278
|
||||
.balign 32
|
||||
BCCTR_FLUSH
|
||||
PPC_BCCTR_FLUSH
|
||||
nops 7
|
||||
.endr
|
||||
|
||||
|
||||
Reference in New Issue
Block a user