]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - arch/arm64/kernel/Makefile
arm64: Add skeleton to harden the branch predictor against aliasing attacks
[mirror_ubuntu-artful-kernel.git] / arch / arm64 / kernel / Makefile
1 #
2 # Makefile for the linux kernel.
3 #
4
5 CPPFLAGS_vmlinux.lds := -DTEXT_OFFSET=$(TEXT_OFFSET)
6 AFLAGS_head.o := -DTEXT_OFFSET=$(TEXT_OFFSET)
7 CFLAGS_armv8_deprecated.o := -I$(src)
8
9 CFLAGS_REMOVE_ftrace.o = -pg
10 CFLAGS_REMOVE_insn.o = -pg
11 CFLAGS_REMOVE_return_address.o = -pg
12
13 CFLAGS_setup.o = -DUTS_MACHINE='"$(UTS_MACHINE)"'
14
15 # Object file lists.
16 arm64-obj-y := debug-monitors.o entry.o irq.o fpsimd.o \
17 entry-fpsimd.o process.o ptrace.o setup.o signal.o \
18 sys.o stacktrace.o time.o traps.o io.o vdso.o \
19 hyp-stub.o psci.o cpu_ops.o insn.o \
20 return_address.o cpuinfo.o cpu_errata.o \
21 cpufeature.o alternative.o cacheinfo.o \
22 smp.o smp_spin_table.o topology.o smccc-call.o
23
24 extra-$(CONFIG_EFI) := efi-entry.o
25
26 OBJCOPYFLAGS := --prefix-symbols=__efistub_
27 $(obj)/%.stub.o: $(obj)/%.o FORCE
28 $(call if_changed,objcopy)
29
30 arm64-obj-$(CONFIG_COMPAT) += sys32.o kuser32.o signal32.o \
31 sys_compat.o entry32.o
32 arm64-obj-$(CONFIG_FUNCTION_TRACER) += ftrace.o entry-ftrace.o
33 arm64-obj-$(CONFIG_MODULES) += arm64ksyms.o module.o
34 arm64-obj-$(CONFIG_ARM64_MODULE_PLTS) += module-plts.o
35 arm64-obj-$(CONFIG_PERF_EVENTS) += perf_regs.o perf_callchain.o
36 arm64-obj-$(CONFIG_HW_PERF_EVENTS) += perf_event.o
37 arm64-obj-$(CONFIG_HAVE_HW_BREAKPOINT) += hw_breakpoint.o
38 arm64-obj-$(CONFIG_CPU_PM) += sleep.o suspend.o
39 arm64-obj-$(CONFIG_CPU_IDLE) += cpuidle.o
40 arm64-obj-$(CONFIG_JUMP_LABEL) += jump_label.o
41 arm64-obj-$(CONFIG_KGDB) += kgdb.o
42 arm64-obj-$(CONFIG_EFI) += efi.o efi-entry.stub.o
43 arm64-obj-$(CONFIG_PCI) += pci.o
44 arm64-obj-$(CONFIG_ARMV8_DEPRECATED) += armv8_deprecated.o
45 arm64-obj-$(CONFIG_ACPI) += acpi.o
46 arm64-obj-$(CONFIG_ACPI_NUMA) += acpi_numa.o
47 arm64-obj-$(CONFIG_ARM64_ACPI_PARKING_PROTOCOL) += acpi_parking_protocol.o
48 arm64-obj-$(CONFIG_PARAVIRT) += paravirt.o
49 arm64-obj-$(CONFIG_RANDOMIZE_BASE) += kaslr.o
50 arm64-obj-$(CONFIG_HIBERNATION) += hibernate.o hibernate-asm.o
51 arm64-obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o \
52 cpu-reset.o
53 arm64-obj-$(CONFIG_ARM64_RELOC_TEST) += arm64-reloc-test.o
54 arm64-reloc-test-y := reloc_test_core.o reloc_test_syms.o
55 arm64-obj-$(CONFIG_CRASH_DUMP) += crash_dump.o
56
57 ifeq ($(CONFIG_KVM),y)
58 arm64-obj-$(CONFIG_HARDEN_BRANCH_PREDICTOR) += bpi.o
59 endif
60
61 obj-y += $(arm64-obj-y) vdso/ probes/
62 obj-m += $(arm64-obj-m)
63 head-y := head.o
64 extra-y += $(head-y) vmlinux.lds
65
66 ifeq ($(CONFIG_DEBUG_EFI),y)
67 AFLAGS_head.o += -DVMLINUX_PATH="\"$(realpath $(objtree)/vmlinux)\""
68 endif
69
70 # will be included by each individual module but not by the core kernel itself
71 extra-$(CONFIG_DYNAMIC_FTRACE) += ftrace-mod.o