mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 14:21:47 +00:00
f091d5a426
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>
36 lines
1.1 KiB
Makefile
36 lines
1.1 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
|
|
#
|
|
|
|
# Pass UTS_MACHINE for user_regset definition
|
|
CFLAGS_ptrace.o += -DUTS_MACHINE='"$(UTS_MACHINE)"'
|
|
|
|
obj-y := arcksyms.o setup.o irq.o reset.o ptrace.o process.o devtree.o
|
|
obj-y += signal.o traps.o sys.o troubleshoot.o stacktrace.o disasm.o
|
|
obj-$(CONFIG_ISA_ARCOMPACT) += entry-compact.o intc-compact.o
|
|
obj-$(CONFIG_ISA_ARCV2) += entry-arcv2.o intc-arcv2.o
|
|
|
|
obj-$(CONFIG_MODULES) += arcksyms.o module.o
|
|
obj-$(CONFIG_SMP) += smp.o
|
|
obj-$(CONFIG_ARC_MCIP) += mcip.o
|
|
obj-$(CONFIG_ARC_DW2_UNWIND) += unwind.o
|
|
obj-$(CONFIG_KPROBES) += kprobes.o
|
|
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
|
|
|
|
ifdef CONFIG_ARC_DW2_UNWIND
|
|
CFLAGS_ctx_sw.o += -fno-omit-frame-pointer
|
|
obj-y += ctx_sw.o
|
|
else
|
|
obj-y += ctx_sw_asm.o
|
|
endif
|
|
|
|
extra-y := vmlinux.lds head.o
|