1 # SPDX-License-Identifier: GPL-2.0 << 2 # 1 # 3 # Makefile for the linux kernel. !! 2 # Makefile for the Linux/MIPS kernel. 4 # 3 # 5 4 6 extra-y += vmlinux.lds !! 5 extra-y := head.o vmlinux.lds 7 6 8 CPPFLAGS_vmlinux.lds += -U$(UTS_MACHINE) !! 7 obj-y += cmpxchg.o cpu-probe.o branch.o elf.o entry.o genex.o idle.o irq.o \ >> 8 process.o prom.o ptrace.o reset.o setup.o signal.o \ >> 9 syscall.o time.o topology.o traps.o unaligned.o watch.o \ >> 10 vdso.o cacheinfo.o 9 11 10 ifdef CONFIG_FUNCTION_TRACER 12 ifdef CONFIG_FUNCTION_TRACER 11 # Do not profile debug and lowlevel utilities << 12 CFLAGS_REMOVE_tsc.o = -pg << 13 CFLAGS_REMOVE_paravirt-spinlocks.o = -pg << 14 CFLAGS_REMOVE_pvclock.o = -pg << 15 CFLAGS_REMOVE_kvmclock.o = -pg << 16 CFLAGS_REMOVE_ftrace.o = -pg 13 CFLAGS_REMOVE_ftrace.o = -pg 17 CFLAGS_REMOVE_early_printk.o = -pg 14 CFLAGS_REMOVE_early_printk.o = -pg 18 CFLAGS_REMOVE_head64.o = -pg !! 15 CFLAGS_REMOVE_perf_event.o = -pg 19 CFLAGS_REMOVE_head32.o = -pg !! 16 CFLAGS_REMOVE_perf_event_mipsxx.o = -pg 20 CFLAGS_REMOVE_rethook.o = -pg << 21 endif 17 endif 22 18 23 KASAN_SANITIZE_head$(BITS).o !! 19 obj-$(CONFIG_CEVT_BCM1480) += cevt-bcm1480.o 24 KASAN_SANITIZE_dumpstack.o !! 20 obj-$(CONFIG_CEVT_R4K) += cevt-r4k.o 25 KASAN_SANITIZE_dumpstack_$(BITS).o !! 21 obj-$(CONFIG_CEVT_DS1287) += cevt-ds1287.o 26 KASAN_SANITIZE_stacktrace.o !! 22 obj-$(CONFIG_CEVT_GT641XX) += cevt-gt641xx.o 27 KASAN_SANITIZE_paravirt.o !! 23 obj-$(CONFIG_CEVT_SB1250) += cevt-sb1250.o 28 !! 24 obj-$(CONFIG_CEVT_TXX9) += cevt-txx9.o 29 # With some compiler versions the generated co !! 25 obj-$(CONFIG_CSRC_BCM1480) += csrc-bcm1480.o 30 # by several compilation units. To be safe, di !! 26 obj-$(CONFIG_CSRC_IOASIC) += csrc-ioasic.o 31 KCSAN_SANITIZE := n !! 27 obj-$(CONFIG_CSRC_R4K) += csrc-r4k.o 32 KMSAN_SANITIZE_head$(BITS).o !! 28 obj-$(CONFIG_CSRC_SB1250) += csrc-sb1250.o 33 KMSAN_SANITIZE_nmi.o !! 29 obj-$(CONFIG_SYNC_R4K) += sync-r4k.o 34 !! 30 35 # If instrumentation of the following files is !! 31 obj-$(CONFIG_DEBUG_FS) += segment.o 36 # first second. !! 32 obj-$(CONFIG_STACKTRACE) += stacktrace.o 37 KCOV_INSTRUMENT_head$(BITS).o << 38 # These are called from save_stack_trace() on << 39 # and produce large amounts of uninteresting c << 40 KCOV_INSTRUMENT_stacktrace.o << 41 KCOV_INSTRUMENT_dumpstack.o << 42 KCOV_INSTRUMENT_dumpstack_$(BITS).o << 43 KCOV_INSTRUMENT_unwind_orc.o << 44 KCOV_INSTRUMENT_unwind_frame.o << 45 KCOV_INSTRUMENT_unwind_guess.o << 46 << 47 CFLAGS_irq.o := -I $(src)/../include/asm/trace << 48 << 49 obj-y += head_$(BITS).o << 50 obj-y += head$(BITS).o << 51 obj-y += ebda.o << 52 obj-y += platform-quirks.o << 53 obj-y += process_$(BITS).o s << 54 obj-y += traps.o idt.o irq.o << 55 obj-y += time.o ioport.o dum << 56 obj-$(CONFIG_X86_FRED) += fred.o << 57 obj-$(CONFIG_MODIFY_LDT_SYSCALL) += ldt << 58 obj-$(CONFIG_X86_KERNEL_IBT) += ibt << 59 obj-y += setup.o x86_init.o << 60 obj-$(CONFIG_JUMP_LABEL) += jump_label. << 61 obj-$(CONFIG_IRQ_WORK) += irq_work.o << 62 obj-y += probe_roms.o << 63 obj-$(CONFIG_X86_32) += sys_ia32.o << 64 obj-$(CONFIG_IA32_EMULATION) += sys_ia32.o << 65 obj-$(CONFIG_X86_64) += sys_x86_64.o << 66 obj-$(CONFIG_X86_ESPFIX64) += espfix_64.o << 67 obj-$(CONFIG_SYSFS) += ksysfs.o << 68 obj-y += bootflag.o e820.o << 69 obj-y += pci-dma.o quirks.o << 70 obj-y += alternative.o i8253 << 71 obj-y += tsc.o tsc_msr.o io_ << 72 obj-y += resource.o << 73 obj-y += irqflags.o << 74 obj-y += static_call.o << 75 << 76 obj-y += process.o << 77 obj-y += fpu/ << 78 obj-y += ptrace.o << 79 obj-$(CONFIG_X86_32) += tls.o << 80 obj-$(CONFIG_IA32_EMULATION) += tls.o << 81 obj-y += step.o << 82 obj-$(CONFIG_INTEL_TXT) += tboot.o << 83 obj-$(CONFIG_ISA_DMA_API) += i8237.o << 84 obj-y += stacktrace. << 85 obj-y += cpu/ << 86 obj-y += acpi/ << 87 obj-y += reboot.o << 88 obj-$(CONFIG_X86_MSR) += msr.o << 89 obj-$(CONFIG_X86_CPUID) += cpuid.o << 90 obj-$(CONFIG_PCI) += early-quirk << 91 apm-y := apm_32.o << 92 obj-$(CONFIG_APM) += apm.o << 93 obj-$(CONFIG_SMP) += smp.o << 94 obj-$(CONFIG_SMP) += smpboot.o << 95 obj-$(CONFIG_X86_TSC) += tsc_sync.o << 96 obj-$(CONFIG_SMP) += setup_percp << 97 obj-$(CONFIG_X86_MPPARSE) += mpparse.o << 98 obj-y += apic/ << 99 obj-$(CONFIG_X86_REBOOTFIXUPS) += reboot_fixu << 100 obj-$(CONFIG_DYNAMIC_FTRACE) += ftrace.o << 101 obj-$(CONFIG_FUNCTION_TRACER) += ftrace_$(BI << 102 obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += ftrace. << 103 obj-$(CONFIG_FTRACE_SYSCALLS) += ftrace.o << 104 obj-$(CONFIG_X86_TSC) += trace_clock << 105 obj-$(CONFIG_TRACING) += trace.o << 106 obj-$(CONFIG_RETHOOK) += rethook.o << 107 obj-$(CONFIG_VMCORE_INFO) += vmcore_info << 108 obj-$(CONFIG_KEXEC_CORE) += machine_kex << 109 obj-$(CONFIG_KEXEC_CORE) += relocate_ke << 110 obj-$(CONFIG_KEXEC_FILE) += kexec-bzima << 111 obj-$(CONFIG_CRASH_DUMP) += crash_dump_ << 112 obj-y += kprobes/ << 113 obj-$(CONFIG_MODULES) += module.o 33 obj-$(CONFIG_MODULES) += module.o 114 obj-$(CONFIG_X86_32) += doublefault << 115 obj-$(CONFIG_KGDB) += kgdb.o << 116 obj-$(CONFIG_VM86) += vm86_32.o << 117 obj-$(CONFIG_EARLY_PRINTK) += early_print << 118 34 119 obj-$(CONFIG_HPET_TIMER) += hpet.o !! 35 obj-$(CONFIG_FTRACE_SYSCALLS) += ftrace.o >> 36 obj-$(CONFIG_FUNCTION_TRACER) += mcount.o ftrace.o >> 37 >> 38 obj-$(CONFIG_CPU_R4K_FPU) += r4k_fpu.o r4k_switch.o >> 39 obj-$(CONFIG_CPU_R3000) += r2300_fpu.o r2300_switch.o >> 40 obj-$(CONFIG_CPU_R6000) += r6000_fpu.o r4k_switch.o >> 41 obj-$(CONFIG_CPU_TX39XX) += r2300_fpu.o r2300_switch.o >> 42 obj-$(CONFIG_CPU_CAVIUM_OCTEON) += r4k_fpu.o octeon_switch.o 120 43 121 obj-$(CONFIG_AMD_NB) += amd_nb.o !! 44 obj-$(CONFIG_SMP) += smp.o 122 obj-$(CONFIG_DEBUG_NMI_SELFTEST) += nmi_selfte !! 45 obj-$(CONFIG_SMP_UP) += smp-up.o >> 46 obj-$(CONFIG_CPU_BMIPS) += smp-bmips.o bmips_vec.o bmips_5xxx_init.o >> 47 >> 48 obj-$(CONFIG_MIPS_MT) += mips-mt.o >> 49 obj-$(CONFIG_MIPS_MT_FPAFF) += mips-mt-fpaff.o >> 50 obj-$(CONFIG_MIPS_MT_SMP) += smp-mt.o >> 51 obj-$(CONFIG_MIPS_CMP) += smp-cmp.o >> 52 obj-$(CONFIG_MIPS_CPS) += smp-cps.o cps-vec.o >> 53 obj-$(CONFIG_MIPS_CPS_NS16550) += cps-vec-ns16550.o >> 54 obj-$(CONFIG_MIPS_SPRAM) += spram.o >> 55 >> 56 obj-$(CONFIG_MIPS_VPE_LOADER) += vpe.o >> 57 obj-$(CONFIG_MIPS_VPE_LOADER_CMP) += vpe-cmp.o >> 58 obj-$(CONFIG_MIPS_VPE_LOADER_MT) += vpe-mt.o >> 59 obj-$(CONFIG_MIPS_VPE_APSP_API) += rtlx.o >> 60 obj-$(CONFIG_MIPS_VPE_APSP_API_CMP) += rtlx-cmp.o >> 61 obj-$(CONFIG_MIPS_VPE_APSP_API_MT) += rtlx-mt.o >> 62 >> 63 obj-$(CONFIG_IRQ_CPU_RM7K) += irq-rm7000.o >> 64 obj-$(CONFIG_MIPS_MSC) += irq-msc01.o >> 65 obj-$(CONFIG_IRQ_TXX9) += irq_txx9.o >> 66 obj-$(CONFIG_IRQ_GT641XX) += irq-gt641xx.o >> 67 >> 68 obj-$(CONFIG_KPROBES) += kprobes.o >> 69 obj-$(CONFIG_32BIT) += scall32-o32.o >> 70 obj-$(CONFIG_64BIT) += scall64-64.o >> 71 obj-$(CONFIG_MIPS32_COMPAT) += linux32.o ptrace32.o signal32.o >> 72 obj-$(CONFIG_MIPS32_N32) += binfmt_elfn32.o scall64-n32.o signal_n32.o >> 73 obj-$(CONFIG_MIPS32_O32) += binfmt_elfo32.o scall64-o32.o signal_o32.o 123 74 124 obj-$(CONFIG_KVM_GUEST) += kvm.o kvmcl !! 75 obj-$(CONFIG_KGDB) += kgdb.o 125 obj-$(CONFIG_PARAVIRT) += paravirt.o !! 76 obj-$(CONFIG_PROC_FS) += proc.o 126 obj-$(CONFIG_PARAVIRT_SPINLOCKS)+= paravirt-sp !! 77 obj-$(CONFIG_MAGIC_SYSRQ) += sysrq.o 127 obj-$(CONFIG_PARAVIRT_CLOCK) += pvclock.o << 128 obj-$(CONFIG_X86_PMEM_LEGACY_DEVICE) += pmem.o << 129 78 130 obj-$(CONFIG_JAILHOUSE_GUEST) += jailhouse.o !! 79 obj-$(CONFIG_64BIT) += cpu-bugs64.o 131 80 132 obj-$(CONFIG_EISA) += eisa.o !! 81 obj-$(CONFIG_I8253) += i8253.o 133 obj-$(CONFIG_PCSPKR_PLATFORM) += pcspeaker.o << 134 82 135 obj-$(CONFIG_X86_CHECK_BIOS_CORRUPTION) += che !! 83 obj-$(CONFIG_GPIO_TXX9) += gpio_txx9.o 136 84 137 obj-$(CONFIG_OF) += dev !! 85 obj-$(CONFIG_RELOCATABLE) += relocate.o 138 obj-$(CONFIG_UPROBES) += upr << 139 86 140 obj-$(CONFIG_PERF_EVENTS) += per !! 87 obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o crash.o 141 obj-$(CONFIG_TRACING) += tra !! 88 obj-$(CONFIG_CRASH_DUMP) += crash_dump.o 142 obj-$(CONFIG_SCHED_MC_PRIO) += itm !! 89 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o 143 obj-$(CONFIG_X86_UMIP) += umi !! 90 obj-$(CONFIG_EARLY_PRINTK_8250) += early_printk_8250.o >> 91 obj-$(CONFIG_SPINLOCK_TEST) += spinlock_test.o >> 92 obj-$(CONFIG_MIPS_MACHINE) += mips_machine.o >> 93 obj-$(CONFIG_MIPSR2_TO_R6_EMULATOR) += mips-r2-to-r6-emul.o 144 94 145 obj-$(CONFIG_UNWINDER_ORC) += unw !! 95 CFLAGS_cpu-bugs64.o = $(shell if $(CC) $(KBUILD_CFLAGS) -Wa,-mdaddi -c -o /dev/null -x c /dev/null >/dev/null 2>&1; then echo "-DHAVE_AS_SET_DADDI"; fi) 146 obj-$(CONFIG_UNWINDER_FRAME_POINTER) += unw << 147 obj-$(CONFIG_UNWINDER_GUESS) += unw << 148 96 149 obj-$(CONFIG_CFI_CLANG) += cfi !! 97 obj-$(CONFIG_HAVE_STD_PC_SERIAL_PORT) += 8250-platform.o 150 98 151 obj-$(CONFIG_CALL_THUNKS) += cal !! 99 obj-$(CONFIG_PERF_EVENTS) += perf_event.o >> 100 obj-$(CONFIG_HW_PERF_EVENTS) += perf_event_mipsxx.o 152 101 153 obj-$(CONFIG_X86_CET) += cet !! 102 obj-$(CONFIG_JUMP_LABEL) += jump_label.o >> 103 obj-$(CONFIG_UPROBES) += uprobes.o 154 104 155 obj-$(CONFIG_X86_USER_SHADOW_STACK) += shs !! 105 obj-$(CONFIG_MIPS_CM) += mips-cm.o >> 106 obj-$(CONFIG_MIPS_CPC) += mips-cpc.o 156 107 157 ### !! 108 obj-$(CONFIG_CPU_PM) += pm.o 158 # 64 bit specific files !! 109 obj-$(CONFIG_MIPS_CPS_PM) += pm-cps.o 159 ifeq ($(CONFIG_X86_64),y) << 160 obj-$(CONFIG_AUDIT) += aud << 161 110 162 obj-$(CONFIG_GART_IOMMU) += amd !! 111 # >> 112 # DSP ASE supported for MIPS32 or MIPS64 Release 2 cores only. It is not >> 113 # safe to unconditionnaly use the assembler -mdsp / -mdspr2 switches >> 114 # here because the compiler may use DSP ASE instructions (such as lwx) in >> 115 # code paths where we cannot check that the CPU we are running on supports it. >> 116 # Proper abstraction using HAVE_AS_DSP and macros is done in >> 117 # arch/mips/include/asm/mipsregs.h. >> 118 # >> 119 ifeq ($(CONFIG_CPU_MIPSR2), y) >> 120 CFLAGS_DSP = -DHAVE_AS_DSP 163 121 164 obj-$(CONFIG_MMCONF_FAM10H) += mmc !! 122 CFLAGS_signal.o = $(CFLAGS_DSP) 165 obj-y += vsm !! 123 CFLAGS_signal32.o = $(CFLAGS_DSP) >> 124 CFLAGS_process.o = $(CFLAGS_DSP) >> 125 CFLAGS_branch.o = $(CFLAGS_DSP) >> 126 CFLAGS_ptrace.o = $(CFLAGS_DSP) 166 endif 127 endif >> 128 >> 129 CPPFLAGS_vmlinux.lds := $(KBUILD_CFLAGS)
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.