
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmhUEMcACgkQONu9yGCS aT75FBAAwHcFDbYcu9KnmDUiHkBpaw0ajUvl4hh8ps1b9XixMYzAoTwGsvVIXQdn hLB57s0kOtFL8168UwXBdplACvkvXnVN0xif7TtVRUyWea1fHK7r0rQ1I1NPciqD qzlsBOVoKdZ4yaQRivBDXOIRmzItdNCv04z32GtrQCJHBu6O53pQzuNUuc3izYeE AgxhtgQWClrA5sAPjcq9T2yCQH0WmS0LeTAIRGzT1X+JHts3iMhZLw2KdfD7p3td pJMATuwQXH757QRmhe2sTgQXbEbVnHaPsxiTwzOrJJMdueNuUzQkgA4uzT6JvGCw QdoGJep8fnMsWA4qATHBem5Lu8OTMd/ZP6Lugh6HXxVXlWgdefSFQFnExqjqbNMi LEVWkyhRy22C5FN/rJltxh+cvlXYlztQaMdEyixQqwKz1tjWIv+3/qkIEt/b+zQx 9Bt54G48+e+EIYqrv1rCpht/F3v9ScBvqllSMCx1pgPdT6FYhv/Mu0SE3VsuVosT 0bMbeIyu9McYKCRL+PoKrVL5iXfuC8mXK1E/CILtwux7r7lVlkj5+fO8yyXvhrSd qjaqePiAIu8XWWc1vy8OW9XqGeVqwxyxz4YJCI8jOK1gSPZtWhH0RA/Qo2rXdPFU iv/W/AIRcyNpK1+0ep6H7UrT4VQ3rTGQN3NV5GJlW+sOiA8+VUI= =19eQ -----END PGP SIGNATURE----- Merge tag 'v6.6.94' into v6.6/standard/base This is the 6.6.94 stable release # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCgAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmhUEMcACgkQONu9yGCS # aT75FBAAwHcFDbYcu9KnmDUiHkBpaw0ajUvl4hh8ps1b9XixMYzAoTwGsvVIXQdn # hLB57s0kOtFL8168UwXBdplACvkvXnVN0xif7TtVRUyWea1fHK7r0rQ1I1NPciqD # qzlsBOVoKdZ4yaQRivBDXOIRmzItdNCv04z32GtrQCJHBu6O53pQzuNUuc3izYeE # AgxhtgQWClrA5sAPjcq9T2yCQH0WmS0LeTAIRGzT1X+JHts3iMhZLw2KdfD7p3td # pJMATuwQXH757QRmhe2sTgQXbEbVnHaPsxiTwzOrJJMdueNuUzQkgA4uzT6JvGCw # QdoGJep8fnMsWA4qATHBem5Lu8OTMd/ZP6Lugh6HXxVXlWgdefSFQFnExqjqbNMi # LEVWkyhRy22C5FN/rJltxh+cvlXYlztQaMdEyixQqwKz1tjWIv+3/qkIEt/b+zQx # 9Bt54G48+e+EIYqrv1rCpht/F3v9ScBvqllSMCx1pgPdT6FYhv/Mu0SE3VsuVosT # 0bMbeIyu9McYKCRL+PoKrVL5iXfuC8mXK1E/CILtwux7r7lVlkj5+fO8yyXvhrSd # qjaqePiAIu8XWWc1vy8OW9XqGeVqwxyxz4YJCI8jOK1gSPZtWhH0RA/Qo2rXdPFU # iv/W/AIRcyNpK1+0ep6H7UrT4VQ3rTGQN3NV5GJlW+sOiA8+VUI= # =19eQ # -----END PGP SIGNATURE----- # gpg: Signature made Thu 19 Jun 2025 09:29:43 AM EDT # gpg: using RSA key 647F28654894E3BD457199BE38DBBDC86092693E # gpg: Can't check signature: No public key
7.7 KiB
SPDX-License-Identifier: GPL-2.0
Makefile for the linux kernel.
ifdef CONFIG_PPC64 CFLAGS_prom_init.o += $(NO_MINIMAL_TOC) $(call cc-disable-warning, attribute-alias) CFLAGS_ptrace.o += $(call cc-disable-warning, array-bounds) CFLAGS_syscalls.o += $(call cc-disable-warning, attribute-alias) endif ifdef CONFIG_PPC32 CFLAGS_prom_init.o += -fPIC CFLAGS_btext.o += -fPIC endif
CFLAGS_early_32.o += $(DISABLE_LATENT_ENTROPY_PLUGIN) CFLAGS_cputable.o += $(DISABLE_LATENT_ENTROPY_PLUGIN) CFLAGS_prom_init.o += $(DISABLE_LATENT_ENTROPY_PLUGIN) CFLAGS_btext.o += $(DISABLE_LATENT_ENTROPY_PLUGIN) CFLAGS_prom.o += $(DISABLE_LATENT_ENTROPY_PLUGIN)
CFLAGS_prom_init.o += -fno-stack-protector CFLAGS_prom_init.o += -DDISABLE_BRANCH_PROFILING CFLAGS_prom_init.o += -ffreestanding CFLAGS_prom_init.o += $(call cc-option, -ftrivial-auto-var-init=uninitialized)
ifdef CONFIG_FUNCTION_TRACER
Do not trace early boot code
CFLAGS_REMOVE_cputable.o = $(CC_FLAGS_FTRACE) CFLAGS_REMOVE_prom_init.o = $(CC_FLAGS_FTRACE) CFLAGS_REMOVE_btext.o = $(CC_FLAGS_FTRACE) CFLAGS_REMOVE_prom.o = $(CC_FLAGS_FTRACE) endif
KASAN_SANITIZE_early_32.o := n KASAN_SANITIZE_cputable.o := n KASAN_SANITIZE_prom_init.o := n KASAN_SANITIZE_btext.o := n KASAN_SANITIZE_paca.o := n KASAN_SANITIZE_setup_64.o := n KASAN_SANITIZE_mce.o := n KASAN_SANITIZE_mce_power.o := n KASAN_SANITIZE_udbg.o := n KASAN_SANITIZE_udbg_16550.o := n
we have to be particularly careful in ppc64 to exclude code that
runs with translations off, as we cannot access the shadow with
translations off. However, ppc32 can sanitize this.
ifdef CONFIG_PPC64 KASAN_SANITIZE_traps.o := n endif
ifdef CONFIG_KASAN CFLAGS_early_32.o += -DDISABLE_BRANCH_PROFILING CFLAGS_cputable.o += -DDISABLE_BRANCH_PROFILING CFLAGS_btext.o += -DDISABLE_BRANCH_PROFILING endif
KCSAN_SANITIZE_early_32.o := n KCSAN_SANITIZE_early_64.o := n KCSAN_SANITIZE_cputable.o := n KCSAN_SANITIZE_btext.o := n KCSAN_SANITIZE_paca.o := n KCSAN_SANITIZE_setup_64.o := n
#ifdef CONFIG_RANDOMIZE_KSTACK_OFFSET
Remove stack protector to avoid triggering unneeded stack canary
checks due to randomize_kstack_offset.
CFLAGS_REMOVE_syscall.o = -fstack-protector -fstack-protector-strong CFLAGS_syscall.o += -fno-stack-protector #endif
obj-y := cputable.o syscalls.o switch.o
irq.o align.o signal_$(BITS).o pmc.o vdso.o
process.o systbl.o idle.o
signal.o sysfs.o cacheinfo.o time.o
prom.o traps.o setup-common.o
udbg.o misc.o io.o misc_$(BITS).o
of_platform.o prom_parse.o firmware.o
hw_breakpoint_constraints.o interrupt.o
kdebugfs.o stacktrace.o syscall.o
obj-y += ptrace/
obj-$(CONFIG_PPC64) += setup_64.o irq_64.o
paca.o nvram_64.o note.o
obj-$(CONFIG_PPC32) += sys_ppc32.o
obj-$(CONFIG_COMPAT) += sys_ppc32.o signal_32.o
obj-$(CONFIG_VDSO32) += vdso32_wrapper.o
obj-$(CONFIG_PPC_WATCHDOG) += watchdog.o
obj-$(CONFIG_HAVE_HW_BREAKPOINT) += hw_breakpoint.o
obj-$(CONFIG_PPC_DAWR) += dawr.o
obj-$(CONFIG_PPC_BOOK3S_64) += cpu_setup_ppc970.o cpu_setup_pa6t.o
obj-$(CONFIG_PPC_BOOK3S_64) += cpu_setup_power.o
obj-$(CONFIG_PPC_BOOK3S_64) += mce.o mce_power.o
obj-$(CONFIG_PPC_BOOK3E_64) += exceptions-64e.o idle_64e.o
obj-$(CONFIG_PPC_BARRIER_NOSPEC) += security.o
obj-$(CONFIG_PPC64) += vdso64_wrapper.o
obj-$(CONFIG_ALTIVEC) += vecemu.o
obj-$(CONFIG_PPC_BOOK3S_IDLE) += idle_book3s.o
procfs-y := proc_powerpc.o
obj-$(CONFIG_PROC_FS) += $(procfs-y)
rtaspci-$(CONFIG_PPC64)-$(CONFIG_PCI) := rtas_pci.o
obj-$(CONFIG_PPC_RTAS) += rtas_entry.o rtas.o rtas-rtc.o $(rtaspci-y-y)
obj-$(CONFIG_PPC_RTAS_DAEMON) += rtasd.o
obj-$(CONFIG_RTAS_FLASH) += rtas_flash.o
obj-$(CONFIG_RTAS_PROC) += rtas-proc.o
obj-$(CONFIG_PPC_DT_CPU_FTRS) += dt_cpu_ftrs.o
obj-$(CONFIG_EEH) += eeh.o eeh_pe.o eeh_cache.o
eeh_driver.o eeh_event.o eeh_sysfs.o
obj-$(CONFIG_GENERIC_TBSYNC) += smp-tbsync.o
obj-$(CONFIG_CRASH_DUMP) += crash_dump.o
obj-$(CONFIG_FA_DUMP) += fadump.o
obj-$(CONFIG_PRESERVE_FA_DUMP) += fadump.o
obj-$(CONFIG_PPC_85xx) += idle_85xx.o
obj-$(CONFIG_PPC_BOOK3S_32) += idle_6xx.o l2cr_6xx.o cpu_setup_6xx.o
obj-$(CONFIG_TAU) += tau_6xx.o
obj-$(CONFIG_HIBERNATION) += swsusp.o suspend.o
ifdef CONFIG_PPC_85xx
obj-$(CONFIG_HIBERNATION) += swsusp_85xx.o
else
obj-$(CONFIG_HIBERNATION) += swsusp_$(BITS).o
endif
obj64-$(CONFIG_HIBERNATION) += swsusp_asm64.o
obj-$(CONFIG_MODULES) += module.o module_$(BITS).o
obj-$(CONFIG_44x) += cpu_setup_44x.o
obj-$(CONFIG_PPC_E500) += cpu_setup_e500.o
obj-$(CONFIG_PPC_DOORBELL) += dbell.o
obj-$(CONFIG_JUMP_LABEL) += jump_label.o
obj-$(CONFIG_PPC64) += head_64.o obj-$(CONFIG_PPC_BOOK3S_32) += head_book3s_32.o obj-$(CONFIG_40x) += head_40x.o obj-$(CONFIG_44x) += head_44x.o obj-$(CONFIG_PPC_8xx) += head_8xx.o obj-$(CONFIG_PPC_85xx) += head_85xx.o extra-y += vmlinux.lds
obj-$(CONFIG_RELOCATABLE) += reloc_$(BITS).o
obj-$(CONFIG_PPC32) += entry_32.o setup_32.o early_32.o static_call.o obj-$(CONFIG_PPC64) += dma-iommu.o iommu.o obj-$(CONFIG_KGDB) += kgdb.o obj-$(CONFIG_BOOTX_TEXT) += btext.o obj-$(CONFIG_SMP) += smp.o obj-$(CONFIG_KPROBES) += kprobes.o obj-$(CONFIG_OPTPROBES) += optprobes.o optprobes_head.o obj-$(CONFIG_KPROBES_ON_FTRACE) += kprobes-ftrace.o obj-$(CONFIG_UPROBES) += uprobes.o obj-$(CONFIG_PPC_UDBG_16550) += legacy_serial.o udbg_16550.o obj-$(CONFIG_SWIOTLB) += dma-swiotlb.o obj-$(CONFIG_ARCH_HAS_DMA_SET_MASK) += dma-mask.o
pci64-$(CONFIG_PPC64) += pci_dn.o pci-hotplug.o isa-bridge.o
obj-$(CONFIG_PCI) += pci_$(BITS).o $(pci64-y)
pci-common.o pci_of_scan.o
obj-$(CONFIG_PCI_MSI) += msi.o
obj-$(CONFIG_AUDIT) += audit.o obj64-$(CONFIG_AUDIT) += compat_audit.o
obj-$(CONFIG_PPC_IO_WORKAROUNDS) += io-workarounds.o
obj-y += trace/
ifneq ($(CONFIG_PPC_INDIRECT_PIO),y) obj-y += iomap.o endif
obj64-$(CONFIG_PPC_TRANSACTIONAL_MEM) += tm.o
ifneq ($(CONFIG_XMON)$(CONFIG_KEXEC_CORE)$(CONFIG_PPC_BOOK3S),) obj-y += ppc_save_regs.o endif
obj-$(CONFIG_EPAPR_PARAVIRT) += epapr_paravirt.o epapr_hcalls.o obj-$(CONFIG_KVM_GUEST) += kvm.o kvm_emul.o ifneq ($(CONFIG_PPC_POWERNV)$(CONFIG_PPC_SVM),) obj-y += ucall.o endif
obj-$(CONFIG_PPC_SECURE_BOOT) += secure_boot.o ima_arch.o secvar-ops.o obj-$(CONFIG_PPC_SECVAR_SYSFS) += secvar-sysfs.o
Disable GCOV, KCOV & sanitizers in odd or sensitive code
GCOV_PROFILE_prom_init.o := n KCOV_INSTRUMENT_prom_init.o := n KCSAN_SANITIZE_prom_init.o := n UBSAN_SANITIZE_prom_init.o := n GCOV_PROFILE_kprobes.o := n KCOV_INSTRUMENT_kprobes.o := n KCSAN_SANITIZE_kprobes.o := n UBSAN_SANITIZE_kprobes.o := n GCOV_PROFILE_kprobes-ftrace.o := n KCOV_INSTRUMENT_kprobes-ftrace.o := n KCSAN_SANITIZE_kprobes-ftrace.o := n UBSAN_SANITIZE_kprobes-ftrace.o := n GCOV_PROFILE_syscall_64.o := n KCOV_INSTRUMENT_syscall_64.o := n UBSAN_SANITIZE_syscall_64.o := n UBSAN_SANITIZE_vdso.o := n
Necessary for booting with kcov enabled on book3e machines
KCOV_INSTRUMENT_cputable.o := n KCOV_INSTRUMENT_setup_64.o := n KCOV_INSTRUMENT_paca.o := n
CFLAGS_setup_64.o += -fno-stack-protector CFLAGS_paca.o += -fno-stack-protector
obj-$(CONFIG_PPC_FPU) += fpu.o obj-$(CONFIG_ALTIVEC) += vector.o
obj-$(CONFIG_PPC_OF_BOOT_TRAMPOLINE) += prom_init.o obj64-$(CONFIG_PPC_OF_BOOT_TRAMPOLINE) += prom_entry_64.o extra-$(CONFIG_PPC_OF_BOOT_TRAMPOLINE) += prom_init_check
obj-$(CONFIG_PPC64) += $(obj64-y) obj-$(CONFIG_PPC32) += $(obj32-y)
quiet_cmd_prom_init_check = PROMCHK $@ cmd_prom_init_check = $(CONFIG_SHELL) $< "$(NM)" $(obj)/prom_init.o; touch $@
$(obj)/prom_init_check: $(src)/prom_init_check.sh $(obj)/prom_init.o FORCE $(call if_changed,prom_init_check) targets += prom_init_check
clean-files := vmlinux.lds
Force dependency (incbin is bad)
$(obj)/vdso32_wrapper.o : $(obj)/vdso/vdso32.so.dbg $(obj)/vdso64_wrapper.o : $(obj)/vdso/vdso64.so.dbg
for cleaning
subdir- += vdso