blob: cc3c0304a726d1cffea90d73b589e9ec6c4fdacb [file] [log] [blame]
Catalin Marinas8c2c3df2012-04-20 14:45:54 +01001#
2# Makefile for the linux kernel.
3#
4
5CPPFLAGS_vmlinux.lds := -DTEXT_OFFSET=$(TEXT_OFFSET)
6AFLAGS_head.o := -DTEXT_OFFSET=$(TEXT_OFFSET)
Punit Agrawald784e292014-11-18 11:41:27 +00007CFLAGS_armv8_deprecated.o := -I$(src)
Catalin Marinas8c2c3df2012-04-20 14:45:54 +01008
AKASHI Takahiro819e50e2014-04-30 18:54:33 +09009CFLAGS_REMOVE_ftrace.o = -pg
10CFLAGS_REMOVE_insn.o = -pg
AKASHI Takahiro37117842014-04-30 10:54:35 +010011CFLAGS_REMOVE_return_address.o = -pg
AKASHI Takahiro819e50e2014-04-30 18:54:33 +090012
Michal Marekcfa88c72016-08-30 10:31:35 +020013CFLAGS_setup.o = -DUTS_MACHINE='"$(UTS_MACHINE)"'
14
Catalin Marinas8c2c3df2012-04-20 14:45:54 +010015# Object file lists.
Marc Zyngiera591ede2015-03-18 14:55:20 +000016arm64-obj-y := debug-monitors.o entry.o irq.o fpsimd.o \
Catalin Marinas8c2c3df2012-04-20 14:45:54 +010017 entry-fpsimd.o process.o ptrace.o setup.o signal.o \
Marc Zyngier712c6ff2012-10-19 17:46:27 +010018 sys.o stacktrace.o time.o traps.o io.o vdso.o \
Jens Wiklandere6796602016-01-04 15:46:47 +010019 hyp-stub.o psci.o cpu_ops.o insn.o \
Will Deaconf5e0a122015-02-25 12:10:35 +000020 return_address.o cpuinfo.o cpu_errata.o \
Will Deacon4b3dc962015-05-29 18:28:44 +010021 cpufeature.o alternative.o cacheinfo.o \
Jens Wiklander14457452016-01-04 15:44:32 +010022 smp.o smp_spin_table.o topology.o smccc-call.o
Catalin Marinas8c2c3df2012-04-20 14:45:54 +010023
Ard Biesheuvelbf457782015-10-23 16:48:14 +020024extra-$(CONFIG_EFI) := efi-entry.o
Ard Biesheuvele8f30102015-10-08 20:02:04 +010025
26OBJCOPYFLAGS := --prefix-symbols=__efistub_
27$(obj)/%.stub.o: $(obj)/%.o FORCE
28 $(call if_changed,objcopy)
29
Catalin Marinas8c2c3df2012-04-20 14:45:54 +010030arm64-obj-$(CONFIG_COMPAT) += sys32.o kuser32.o signal32.o \
David A. Long2af3ec02016-07-08 12:35:47 -040031 sys_compat.o entry32.o
AKASHI Takahiro819e50e2014-04-30 18:54:33 +090032arm64-obj-$(CONFIG_FUNCTION_TRACER) += ftrace.o entry-ftrace.o
Catalin Marinas8c2c3df2012-04-20 14:45:54 +010033arm64-obj-$(CONFIG_MODULES) += arm64ksyms.o module.o
Ard Biesheuvelfd045f62015-11-24 12:37:35 +010034arm64-obj-$(CONFIG_ARM64_MODULE_PLTS) += module-plts.o
Will Deacon5166c202015-08-24 13:35:51 +010035arm64-obj-$(CONFIG_PERF_EVENTS) += perf_regs.o perf_callchain.o
Patrick Fay8e78f122017-04-01 14:29:27 -070036arm64-obj-$(CONFIG_HW_PERF_EVENTS) += perf_event.o perf_trace_counters.o \
37 perf_trace_user.o
Jean Pihet2ee0d7f2014-02-03 19:18:27 +010038arm64-obj-$(CONFIG_HAVE_HW_BREAKPOINT) += hw_breakpoint.o
Lorenzo Pieralisiaf3cfdb2015-01-26 18:33:44 +000039arm64-obj-$(CONFIG_CPU_PM) += sleep.o suspend.o
Lorenzo Pieralisid64f84f2014-07-17 10:30:07 +010040arm64-obj-$(CONFIG_CPU_IDLE) += cpuidle.o
Jiang Liu9732caf2014-01-07 22:17:13 +080041arm64-obj-$(CONFIG_JUMP_LABEL) += jump_label.o
Vijaya Kumar Kbcf57632014-01-28 16:50:18 +053042arm64-obj-$(CONFIG_KGDB) += kgdb.o
Ard Biesheuvelbf457782015-10-23 16:48:14 +020043arm64-obj-$(CONFIG_EFI) += efi.o efi-entry.stub.o
Liviu Dudaud1e6dc92014-09-29 15:29:31 +010044arm64-obj-$(CONFIG_PCI) += pci.o
Punit Agrawal587064b2014-11-18 11:41:24 +000045arm64-obj-$(CONFIG_ARMV8_DEPRECATED) += armv8_deprecated.o
Al Stone37655162015-03-24 14:02:37 +000046arm64-obj-$(CONFIG_ACPI) += acpi.o
Hanjun Guod8b47fc2016-05-24 15:35:44 -070047arm64-obj-$(CONFIG_ACPI_NUMA) += acpi_numa.o
Lorenzo Pieralisi5e89c552016-01-26 11:10:38 +000048arm64-obj-$(CONFIG_ARM64_ACPI_PARKING_PROTOCOL) += acpi_parking_protocol.o
Stefano Stabellinidfd57bc2015-11-23 10:33:49 +000049arm64-obj-$(CONFIG_PARAVIRT) += paravirt.o
Ard Biesheuvelf80fb3a2016-01-26 14:12:01 +010050arm64-obj-$(CONFIG_RANDOMIZE_BASE) += kaslr.o
James Morse82869ac2016-04-27 17:47:12 +010051arm64-obj-$(CONFIG_HIBERNATION) += hibernate.o hibernate-asm.o
Geoff Levandd28f6df2016-06-23 17:54:48 +000052arm64-obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o \
53 cpu-reset.o
Marc Zyngier9c06aab2018-07-20 10:56:30 +010054arm64-obj-$(CONFIG_ARM64_SSBD) += ssbd.o
Catalin Marinas8c2c3df2012-04-20 14:45:54 +010055
Will Deacon0f5bfbd2018-01-03 11:17:58 +000056ifeq ($(CONFIG_KVM),y)
57arm64-obj-$(CONFIG_HARDEN_BRANCH_PREDICTOR) += bpi.o
58endif
59
Sandeepa Prabhu2dd0e8d2016-07-08 12:35:48 -040060obj-y += $(arm64-obj-y) vdso/ probes/
Catalin Marinas8c2c3df2012-04-20 14:45:54 +010061obj-m += $(arm64-obj-m)
62head-y := head.o
Ard Biesheuvele8f30102015-10-08 20:02:04 +010063extra-y += $(head-y) vmlinux.lds