1 # SPDX-License-Identifier: GPL-2.0-only !! 1 # SPDX-License-Identifier: GPL-2.0 2 # 2 # 3 # Makefile for the RISC-V Linux kernel !! 3 # Makefile for the linux kernel. 4 # 4 # 5 5 6 ifdef CONFIG_FTRACE !! 6 extra-y := vmlinux.lds 7 CFLAGS_REMOVE_ftrace.o = $(CC_FLAGS_FTRACE) !! 7 asflags-y := $(KBUILD_CFLAGS) 8 CFLAGS_REMOVE_patch.o = $(CC_FLAGS_FTRACE) !! 8 ccflags-y := -Wno-sign-compare 9 CFLAGS_REMOVE_sbi.o = $(CC_FLAGS_FTRACE) !! 9 10 CFLAGS_REMOVE_return_address.o = $(CC_FLAGS_F !! 10 obj-y := head.o entry.o traps.o process.o osf_sys.o irq.o \ 11 endif !! 11 irq_alpha.o signal.o setup.o ptrace.o time.o \ 12 CFLAGS_syscall_table.o += $(call cc-option,-W !! 12 systbls.o err_common.o io.o bugs.o termios.o 13 CFLAGS_compat_syscall_table.o += $(call cc-opt !! 13 14 !! 14 obj-$(CONFIG_VGA_HOSE) += console.o 15 ifdef CONFIG_KEXEC_CORE !! 15 obj-$(CONFIG_SMP) += smp.o 16 AFLAGS_kexec_relocate.o := -mcmodel=medany $(c !! 16 obj-$(CONFIG_PCI) += pci.o pci_iommu.o pci-sysfs.o 17 endif !! 17 obj-$(CONFIG_SRM_ENV) += srm_env.o >> 18 obj-$(CONFIG_MODULES) += module.o >> 19 obj-$(CONFIG_PERF_EVENTS) += perf_event.o >> 20 obj-$(CONFIG_RTC_DRV_ALPHA) += rtc.o >> 21 obj-$(CONFIG_AUDIT) += audit.o >> 22 >> 23 ifdef CONFIG_ALPHA_GENERIC >> 24 >> 25 obj-y += core_cia.o core_irongate.o \ >> 26 core_mcpcia.o core_polaris.o core_t2.o \ >> 27 core_tsunami.o >> 28 >> 29 obj-y += sys_alcor.o sys_cabriolet.o sys_dp264.o sys_eiger.o \ >> 30 sys_miata.o sys_mikasa.o sys_nautilus.o \ >> 31 sys_noritake.o sys_rawhide.o sys_ruffian.o sys_rx164.o \ >> 32 sys_sable.o sys_sx164.o sys_takara.o >> 33 >> 34 ifndef CONFIG_ALPHA_LEGACY_START_ADDRESS >> 35 obj-y += core_marvel.o core_titan.o core_wildfire.o >> 36 obj-y += sys_marvel.o sys_titan.o sys_wildfire.o >> 37 obj-y += err_ev7.o err_titan.o err_marvel.o >> 38 endif >> 39 >> 40 obj-y += irq_pyxis.o irq_i8259.o irq_srm.o >> 41 obj-y += err_ev6.o >> 42 obj-y += es1888.o smc37c669.o smc37c93x.o pc873xx.o gct.o >> 43 obj-y += srmcons.o >> 44 >> 45 else >> 46 >> 47 # Misc support >> 48 obj-$(CONFIG_ALPHA_SRM) += srmcons.o >> 49 >> 50 # Core logic support >> 51 obj-$(CONFIG_ALPHA_CIA) += core_cia.o >> 52 obj-$(CONFIG_ALPHA_IRONGATE) += core_irongate.o >> 53 obj-$(CONFIG_ALPHA_MARVEL) += core_marvel.o gct.o >> 54 obj-$(CONFIG_ALPHA_MCPCIA) += core_mcpcia.o >> 55 obj-$(CONFIG_ALPHA_POLARIS) += core_polaris.o >> 56 obj-$(CONFIG_ALPHA_T2) += core_t2.o >> 57 obj-$(CONFIG_ALPHA_TSUNAMI) += core_tsunami.o >> 58 obj-$(CONFIG_ALPHA_TITAN) += core_titan.o >> 59 obj-$(CONFIG_ALPHA_WILDFIRE) += core_wildfire.o >> 60 >> 61 # Board support >> 62 obj-$(CONFIG_ALPHA_ALCOR) += sys_alcor.o irq_i8259.o irq_srm.o >> 63 obj-$(CONFIG_ALPHA_LX164) += sys_cabriolet.o irq_i8259.o irq_srm.o \ >> 64 smc37c93x.o >> 65 obj-$(CONFIG_ALPHA_PC164) += sys_cabriolet.o irq_i8259.o irq_srm.o \ >> 66 smc37c93x.o >> 67 obj-$(CONFIG_ALPHA_DP264) += sys_dp264.o irq_i8259.o es1888.o smc37c669.o >> 68 obj-$(CONFIG_ALPHA_SHARK) += sys_dp264.o irq_i8259.o es1888.o smc37c669.o >> 69 obj-$(CONFIG_ALPHA_TITAN) += sys_titan.o irq_i8259.o smc37c669.o >> 70 obj-$(CONFIG_ALPHA_EIGER) += sys_eiger.o irq_i8259.o >> 71 obj-$(CONFIG_ALPHA_MARVEL) += sys_marvel.o >> 72 obj-$(CONFIG_ALPHA_MIATA) += sys_miata.o irq_pyxis.o irq_i8259.o \ >> 73 es1888.o smc37c669.o >> 74 obj-$(CONFIG_ALPHA_MIKASA) += sys_mikasa.o irq_i8259.o irq_srm.o >> 75 obj-$(CONFIG_ALPHA_NAUTILUS) += sys_nautilus.o irq_i8259.o irq_srm.o >> 76 obj-$(CONFIG_ALPHA_NORITAKE) += sys_noritake.o irq_i8259.o >> 77 obj-$(CONFIG_ALPHA_RAWHIDE) += sys_rawhide.o irq_i8259.o >> 78 obj-$(CONFIG_ALPHA_RUFFIAN) += sys_ruffian.o irq_pyxis.o irq_i8259.o >> 79 obj-$(CONFIG_ALPHA_RX164) += sys_rx164.o irq_i8259.o >> 80 obj-$(CONFIG_ALPHA_SABLE) += sys_sable.o >> 81 obj-$(CONFIG_ALPHA_SX164) += sys_sx164.o irq_pyxis.o irq_i8259.o \ >> 82 irq_srm.o smc37c669.o >> 83 obj-$(CONFIG_ALPHA_TAKARA) += sys_takara.o irq_i8259.o pc873xx.o >> 84 obj-$(CONFIG_ALPHA_WILDFIRE) += sys_wildfire.o irq_i8259.o >> 85 >> 86 # Error support >> 87 obj-$(CONFIG_ALPHA_MARVEL) += err_ev7.o err_marvel.o >> 88 obj-$(CONFIG_ALPHA_NAUTILUS) += err_ev6.o >> 89 obj-$(CONFIG_ALPHA_TITAN) += err_ev6.o err_titan.o 18 90 19 # cmodel=medany and notrace when patching earl !! 91 endif # GENERIC 20 ifdef CONFIG_RISCV_ALTERNATIVE_EARLY << 21 CFLAGS_alternative.o := -mcmodel=medany << 22 CFLAGS_cpufeature.o := -mcmodel=medany << 23 CFLAGS_sbi_ecall.o := -mcmodel=medany << 24 ifdef CONFIG_FTRACE << 25 CFLAGS_REMOVE_alternative.o = $(CC_FLAGS_FTRAC << 26 CFLAGS_REMOVE_cpufeature.o = $(CC_FLAGS_FTRACE << 27 CFLAGS_REMOVE_sbi_ecall.o = $(CC_FLAGS_FTRACE) << 28 endif << 29 ifdef CONFIG_RELOCATABLE << 30 CFLAGS_alternative.o += -fno-pie << 31 CFLAGS_cpufeature.o += -fno-pie << 32 CFLAGS_sbi_ecall.o += -fno-pie << 33 endif << 34 ifdef CONFIG_KASAN << 35 KASAN_SANITIZE_alternative.o := n << 36 KASAN_SANITIZE_cpufeature.o := n << 37 KASAN_SANITIZE_sbi_ecall.o := n << 38 endif << 39 ifdef CONFIG_FORTIFY_SOURCE << 40 CFLAGS_alternative.o += -D__NO_FORTIFY << 41 CFLAGS_cpufeature.o += -D__NO_FORTIFY << 42 CFLAGS_sbi_ecall.o += -D__NO_FORTIFY << 43 endif << 44 endif << 45 << 46 extra-y += vmlinux.lds << 47 << 48 obj-y += head.o << 49 obj-y += soc.o << 50 obj-$(CONFIG_RISCV_ALTERNATIVE) += alternative << 51 obj-y += cpu.o << 52 obj-y += cpufeature.o << 53 obj-y += entry.o << 54 obj-y += irq.o << 55 obj-y += process.o << 56 obj-y += ptrace.o << 57 obj-y += reset.o << 58 obj-y += return_address.o << 59 obj-y += setup.o << 60 obj-y += signal.o << 61 obj-y += syscall_table.o << 62 obj-y += sys_riscv.o << 63 obj-y += sys_hwprobe.o << 64 obj-y += time.o << 65 obj-y += traps.o << 66 obj-y += riscv_ksyms.o << 67 obj-y += stacktrace.o << 68 obj-y += cacheinfo.o << 69 obj-y += patch.o << 70 obj-y += vendor_extensions.o << 71 obj-y += vendor_extensions/ << 72 obj-y += probes/ << 73 obj-y += tests/ << 74 obj-$(CONFIG_MMU) += vdso.o vdso/ << 75 << 76 obj-$(CONFIG_RISCV_MISALIGNED) += traps_misal << 77 obj-$(CONFIG_RISCV_MISALIGNED) += unaligned_a << 78 obj-$(CONFIG_RISCV_PROBE_UNALIGNED_ACCESS) << 79 << 80 obj-$(CONFIG_FPU) += fpu.o << 81 obj-$(CONFIG_FPU) += kernel_mode << 82 obj-$(CONFIG_RISCV_ISA_V) += vector.o << 83 obj-$(CONFIG_RISCV_ISA_V) += kernel_mode << 84 obj-$(CONFIG_SMP) += smpboot.o << 85 obj-$(CONFIG_SMP) += smp.o << 86 obj-$(CONFIG_SMP) += cpu_ops.o << 87 << 88 obj-$(CONFIG_RISCV_BOOT_SPINWAIT) += cpu_ops_s << 89 obj-$(CONFIG_MODULES) += module.o << 90 obj-$(CONFIG_MODULE_SECTIONS) += module-sect << 91 << 92 obj-$(CONFIG_CPU_PM) += suspend_ent << 93 obj-$(CONFIG_HIBERNATION) += hibernate.o << 94 << 95 obj-$(CONFIG_FUNCTION_TRACER) += mcount.o ft << 96 obj-$(CONFIG_DYNAMIC_FTRACE) += mcount-dyn. << 97 << 98 obj-$(CONFIG_PERF_EVENTS) += perf_callch << 99 obj-$(CONFIG_HAVE_PERF_REGS) += perf_regs.o << 100 obj-$(CONFIG_RISCV_SBI) += sbi.o sbi_e << 101 ifeq ($(CONFIG_RISCV_SBI), y) << 102 obj-$(CONFIG_SMP) += sbi-ipi.o << 103 obj-$(CONFIG_SMP) += cpu_ops_sbi.o << 104 endif << 105 obj-$(CONFIG_HOTPLUG_CPU) += cpu-hotplug << 106 obj-$(CONFIG_PARAVIRT) += paravirt.o << 107 obj-$(CONFIG_KGDB) += kgdb.o << 108 obj-$(CONFIG_KEXEC_CORE) += kexec_reloc << 109 obj-$(CONFIG_KEXEC_FILE) += elf_kexec.o << 110 obj-$(CONFIG_CRASH_DUMP) += crash_dump. << 111 obj-$(CONFIG_VMCORE_INFO) += vmcore_info << 112 << 113 obj-$(CONFIG_JUMP_LABEL) += jump_label. << 114 << 115 obj-$(CONFIG_CFI_CLANG) += cfi.o << 116 << 117 obj-$(CONFIG_EFI) += efi.o << 118 obj-$(CONFIG_COMPAT) += compat_sysc << 119 obj-$(CONFIG_COMPAT) += compat_sign << 120 obj-$(CONFIG_COMPAT) += compat_vdso << 121 << 122 obj-$(CONFIG_64BIT) += pi/ << 123 obj-$(CONFIG_ACPI) += acpi.o << 124 obj-$(CONFIG_ACPI_NUMA) += acpi_numa.o <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.