diff options
author | Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> | 2019-11-08 17:20:22 +0100 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2019-11-09 01:14:32 +0100 |
commit | f091d5a426447cc427680bdd3adc7773aa2867df (patch) | |
tree | e255dd3806463334c58d03aff06dee6e3b3268c3 /arch/arc/kernel/Makefile | |
parent | ARC: mm: tlb flush optim: elide redundant uTLB invalidates for MMUv3 (diff) | |
download | linux-f091d5a426447cc427680bdd3adc7773aa2867df.tar.xz linux-f091d5a426447cc427680bdd3adc7773aa2867df.zip |
ARC: ARCv2: jump label: implement jump label patching
Implement jump label patching for ARC. Jump labels provide
an interface to generate dynamic branches using
self-modifying code.
This allows us to implement conditional branches where
changing branch direction is expensive but branch selection
is basically 'free'
This implementation uses 32-bit NOP and BRANCH instructions
which forced to be aligned by 4 to guarantee that they don't
cross L1 cache line boundary and can be update atomically.
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/kernel/Makefile')
-rw-r--r-- | arch/arc/kernel/Makefile | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arc/kernel/Makefile b/arch/arc/kernel/Makefile index de6251132310..e784f5396dda 100644 --- a/arch/arc/kernel/Makefile +++ b/arch/arc/kernel/Makefile @@ -20,6 +20,7 @@ obj-$(CONFIG_ARC_EMUL_UNALIGNED) += unaligned.o obj-$(CONFIG_KGDB) += kgdb.o obj-$(CONFIG_ARC_METAWARE_HLINK) += arc_hostlink.o obj-$(CONFIG_PERF_EVENTS) += perf_event.o +obj-$(CONFIG_JUMP_LABEL) += jump_label.o obj-$(CONFIG_ARC_FPU_SAVE_RESTORE) += fpu.o CFLAGS_fpu.o += -mdpfp |