linux-kernelorg-stable/arch/powerpc/include/asm
Linus Torvalds 2aff7c706c Objtool changes for v6.4:
- Mark arch_cpu_idle_dead() __noreturn, make all architectures & drivers that did
    this inconsistently follow this new, common convention, and fix all the fallout
    that objtool can now detect statically.
 
  - Fix/improve the ORC unwinder becoming unreliable due to UNWIND_HINT_EMPTY ambiguity,
    split it into UNWIND_HINT_END_OF_STACK and UNWIND_HINT_UNDEFINED to resolve it.
 
  - Fix noinstr violations in the KCSAN code and the lkdtm/stackleak code.
 
  - Generate ORC data for __pfx code
 
  - Add more __noreturn annotations to various kernel startup/shutdown/panic functions.
 
  - Misc improvements & fixes.
 
 Signed-off-by: Ingo Molnar <mingo@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAmRK1x0RHG1pbmdvQGtl
 cm5lbC5vcmcACgkQEnMQ0APhK1ghxQ/+IkCynMYtdF5OG9YwbcGJqsPSfOPMEcEM
 pUSFYg+gGPBDT/fJfcVSqvUtdnWbLC2kXt9yiswXz3X3J2nmNkBk5YKQftsNDcul
 TmKeqIIAK51XTncpegKH0EGnOX63oZ9Vxa8CTPdDlb+YF23Km2FoudGRI9F5qbUd
 LoraXqGYeiaeySkGyWmZVl6Uc8dIxnMkTN3H/oI9aB6TOrsi059hAtFcSaFfyemP
 c4LqXXCH7k2baiQt+qaLZ8cuZVG/+K5r2N2cmjO5kmJc6ynIaFnfMe4XxZLjp5LT
 /PulYI15bXkvSARKx5CRh/CDHMOx5Blw+ASO0RhWbdy0WH4ZhhcaVF5AeIpPW86a
 1LBcz97rMp72WmvKgrJeVO1r9+ll4SI6/YKGJRsxsCMdP3hgFpqntXyVjTFNdTM1
 0gH6H5v55x06vJHvhtTk8SR3PfMTEM2fRU5jXEOrGowoGifx+wNUwORiwj6LE3KQ
 SKUdT19RNzoW3VkFxhgk65ThK1S7YsJUKRoac3YdhttpqqqtFV//erenrZoR4k/p
 vzvKy68EQ7RCNyD5wNWNFe0YjeJl5G8gQ8bUm4Xmab7djjgz+pn4WpQB8yYKJLAo
 x9dqQ+6eUbw3Hcgk6qQ9E+r/svbulnAL0AeALAWK/91DwnZ2mCzKroFkLN7napKi
 fRho4CqzrtM=
 =NwEV
 -----END PGP SIGNATURE-----

Merge tag 'objtool-core-2023-04-27' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull objtool updates from Ingo Molnar:

 - Mark arch_cpu_idle_dead() __noreturn, make all architectures &
   drivers that did this inconsistently follow this new, common
   convention, and fix all the fallout that objtool can now detect
   statically

 - Fix/improve the ORC unwinder becoming unreliable due to
   UNWIND_HINT_EMPTY ambiguity, split it into UNWIND_HINT_END_OF_STACK
   and UNWIND_HINT_UNDEFINED to resolve it

 - Fix noinstr violations in the KCSAN code and the lkdtm/stackleak code

 - Generate ORC data for __pfx code

 - Add more __noreturn annotations to various kernel startup/shutdown
   and panic functions

 - Misc improvements & fixes

* tag 'objtool-core-2023-04-27' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (52 commits)
  x86/hyperv: Mark hv_ghcb_terminate() as noreturn
  scsi: message: fusion: Mark mpt_halt_firmware() __noreturn
  x86/cpu: Mark {hlt,resume}_play_dead() __noreturn
  btrfs: Mark btrfs_assertfail() __noreturn
  objtool: Include weak functions in global_noreturns check
  cpu: Mark nmi_panic_self_stop() __noreturn
  cpu: Mark panic_smp_self_stop() __noreturn
  arm64/cpu: Mark cpu_park_loop() and friends __noreturn
  x86/head: Mark *_start_kernel() __noreturn
  init: Mark start_kernel() __noreturn
  init: Mark [arch_call_]rest_init() __noreturn
  objtool: Generate ORC data for __pfx code
  x86/linkage: Fix padding for typed functions
  objtool: Separate prefix code from stack validation code
  objtool: Remove superfluous dead_end_function() check
  objtool: Add symbol iteration helpers
  objtool: Add WARN_INSN()
  scripts/objdump-func: Support multiple functions
  context_tracking: Fix KCSAN noinstr violation
  objtool: Add stackleak instrumentation to uaccess safe list
  ...
2023-04-28 14:02:54 -07:00
..
book3s - Nick Piggin's "shoot lazy tlbs" series, to improve the peformance of 2023-04-27 19:42:02 -07:00
nohash mm: remove __HAVE_ARCH_PTE_SWP_EXCLUSIVE 2023-02-02 22:33:11 -08:00
vdso powerpc/64s: Make POWER10 and later use pause_short in cpu_relax loops 2022-09-28 19:22:10 +10:00
8xx_immap.h
Kbuild char/agp: introduce asm-generic/agp.h 2023-02-13 22:13:29 +01:00
accounting.h
archrandom.h
asm-compat.h
asm-const.h
asm-offsets.h
asm-prototypes.h powerpc/64s: early boot machine check handler 2022-09-28 19:22:13 +10:00
asm.h objtool/powerpc: Enable objtool to be built on ppc 2022-11-18 19:00:16 +11:00
async_tx.h
atomic.h
backlight.h
barrier.h powerpc/kcsan: Memory barriers semantics 2023-02-10 22:19:56 +11:00
bitops.h
bootx.h
bpf_perf_event.h
btext.h
bug.h powerpc: Fix __WARN_FLAGS() for use with Objtool 2022-11-15 20:11:47 +11:00
bugs.h
cache.h
cacheflush.h
cell-pmu.h
cell-regs.h
checksum.h
clocksource.h
cmpxchg.h powerpc: add compile-time support for lbarx, lharx 2022-11-24 23:31:47 +11:00
code-patching-asm.h
code-patching.h powerpc/code-patching: Remove protection against patching init addresses after init 2022-12-02 21:59:57 +11:00
compat.h
context_tracking.h
copro.h
cpm.h
cpm1.h
cpm2.h
cpu_has_feature.h
cpu_setup.h powerpc/cputable: Move __cpu_setup() prototypes out of cputable.h 2022-09-26 22:26:49 +10:00
cpufeature.h powerpc: Move Power10 feature PPC_MODULE_FEATURE_P10 2023-04-20 18:20:05 +08:00
cpuidle.h
cputable.h powerpc: Change CONFIG_E500 to CONFIG_PPC_E500 2022-09-26 23:00:13 +10:00
cputhreads.h
cputime.h powerpc: remove the last remnants of cputime_t 2022-11-24 23:31:48 +11:00
crashdump-ppc64.h
current.h
dbdma.h
dbell.h
dcr-generic.h
dcr-mmio.h
dcr-native.h
dcr-regs.h
dcr.h
debug.h powerpc: Allow clearing and restoring registers independent of saved breakpoint state 2022-11-30 21:46:48 +11:00
delay.h
device.h
disassemble.h
dma-direct.h
dma.h
drmem.h
dt_cpu_ftrs.h
dtl.h powerpc/pseries: Move dtl scanning and steal time accounting to pseries platform 2022-09-05 14:14:27 +10:00
edac.h
eeh.h
eeh_event.h
ehv_pic.h
elf.h
elfnote.h
emergency-restart.h
emulated_ops.h
epapr_hcalls.h
exception-64e.h
exception-64s.h
exec.h
extable.h
fadump-internal.h
fadump.h
fb.h
feature-fixups.h
firmware.h Revert "powerpc: Remove unused FW_FEATURE_NATIVE references" 2022-08-26 08:41:54 +10:00
fixmap.h
floppy.h
fs_pd.h
fsl_gtm.h
fsl_hcalls.h
fsl_lbc.h
fsl_pamu_stash.h
fsl_pm.h
ftrace.h powerpc updates for 6.2 2022-12-19 07:13:33 -06:00
futex.h
grackle.h
hardirq.h
head-64.h
heathrow.h
highmem.h
hmi.h
hugetlb.h powerpc: Remove CONFIG_PPC_FSL_BOOK3E 2022-09-26 23:00:13 +10:00
hvcall.h powerpc/pseries: Implement signed update for PLPKS objects 2023-02-12 22:12:38 +11:00
hvconsole.h
hvcserver.h
hvsi.h
hw_breakpoint.h
hw_irq.h Merge branch 'fixes' into next 2023-02-12 22:11:56 +11:00
hydra.h
i8259.h
ibmebus.h
icswx.h
ide.h
idle.h
imc-pmu.h powerpc/imc-pmu: Fix use of mutex in IRQs disabled section 2023-01-11 18:29:09 +11:00
immap_cpm2.h
inst.h
interrupt.h powerpc: Consolidate 32-bit and 64-bit interrupt_enter_prepare 2023-02-10 22:17:35 +11:00
io-defs.h
io-workarounds.h
io.h
io_event_irq.h
iommu.h
ipic.h
irq.h powerpc: Check !irq instead of irq == NO_IRQ and remove NO_IRQ 2023-01-30 17:53:05 +11:00
irq_work.h
irqflags.h powerpc/64: Remove asm interrupt tracing call helpers 2022-12-02 17:54:07 +11:00
isa-bridge.h
jump_label.h
kasan.h kasan, powerpc: don't rename memintrinsics if compiler adds prefixes 2023-03-23 17:18:33 -07:00
kdebug.h
kdump.h
kexec.h powerpc: Remove CONFIG_FSL_BOOKE 2022-09-26 22:47:37 +10:00
kexec_ranges.h
keylargo.h
kfence.h powerpc/64s: Enable KFENCE on book3s64 2022-09-28 19:22:10 +10:00
kgdb.h powerpc: Change CONFIG_E500 to CONFIG_PPC_E500 2022-09-26 23:00:13 +10:00
kprobes.h
kup.h
kvm_asm.h
kvm_book3s.h
kvm_book3s_32.h
kvm_book3s_64.h
kvm_book3s_asm.h powerpc/kvm: Remove unused references for MMCR3/SIER2/SIER3 registers 2022-11-24 23:31:47 +11:00
kvm_book3s_uvmem.h
kvm_booke.h
kvm_booke_hv_asm.h
kvm_fpu.h
kvm_guest.h
kvm_host.h KVM: Opt out of generic hardware enabling on s390 and PPC 2022-12-29 15:48:37 -05:00
kvm_para.h
kvm_ppc.h KVM: PPC: Move processor compatibility check to module init 2022-12-29 15:41:19 -05:00
libata-portmap.h
linkage.h powerpc: Override __ALIGN and __ALIGN_STR macros 2022-11-15 20:11:47 +11:00
livepatch.h
local.h
lppaca.h powerpc/pseries: Add wait interval counter definitions to struct lppaca 2022-09-04 22:39:59 +10:00
lv1call.h
machdep.h powerpc/machdep: warn when machine_is() used too early 2023-02-15 22:41:11 +11:00
macio.h
mc146818rtc.h
mce.h
mediabay.h
mem_encrypt.h
membarrier.h
mman.h
mmiowb.h
mmu.h powerpc: Ignore DSI error caused by the copy/paste instruction 2022-09-28 22:52:32 +10:00
mmu_context.h cxl: Use radix__flush_all_mm instead of generic flush_all_mm 2022-11-30 21:46:48 +11:00
mmzone.h
module.h
module.lds.h
mpc5xxx.h
mpc6xx.h
mpc52xx.h
mpc52xx_psc.h
mpc85xx.h
mpc5121.h
mpc8260.h
mpic.h
mpic_msgr.h
mpic_timer.h
msi_bitmap.h
nmi.h
nvram.h
ohare.h
opal-api.h
opal.h powerpc/powernv: remove orphan declarations from opal.h 2022-09-15 22:55:46 +10:00
paca.h powerpc/64: Move paca allocation to early_setup() 2023-02-10 22:19:56 +11:00
page.h mm, arch: add generic implementation of pfn_valid() for FLATMEM 2023-02-09 16:51:41 -08:00
page_32.h
page_64.h
papr-sysparm.h powerpc/pseries: PAPR system parameter API 2023-02-13 22:35:03 +11:00
paravirt.h powerpc/pseries: Implement CONFIG_PARAVIRT_TIME_ACCOUNTING 2022-09-05 14:14:02 +10:00
paravirt_api_clock.h powerpc/pseries: Implement CONFIG_PARAVIRT_TIME_ACCOUNTING 2022-09-05 14:14:02 +10:00
parport.h
pasemi_dma.h
pci-bridge.h powerpc/pci: Add option for using pci_to_OF_bus_map 2023-02-07 20:15:23 +11:00
pci.h
percpu.h
perf_event.h
perf_event_fsl_emb.h
perf_event_server.h
pgalloc.h
pgtable-be-types.h powerpc: Rely on generic definition of hugepd_t and is_hugepd when unused 2022-09-26 20:58:18 +10:00
pgtable-types.h powerpc: Rely on generic definition of hugepd_t and is_hugepd when unused 2022-09-26 20:58:18 +10:00
pgtable.h mm: remove kern_addr_valid() completely 2022-11-08 17:37:18 -08:00
pkeys.h
plpar_wrappers.h
plpks.h powerpc/pseries: Pass PLPKS password on kexec 2023-02-12 22:12:39 +11:00
pmac_feature.h
pmac_low_i2c.h
pmac_pfunc.h
pmc.h
pmi.h
pnv-ocxl.h
pnv-pci.h
powernv.h
ppc-opcode.h powerpc: add ISA v3.0 / v3.1 wait opcode macro 2022-09-28 19:22:10 +10:00
ppc-pci.h
ppc4xx.h
ppc_asm.h powerpc/64: Add interrupt register sanitisation macros 2022-12-02 20:45:57 +11:00
probes.h
processor.h powerpc: split validate_sp into two functions 2022-12-02 17:54:09 +11:00
prom.h powerpc: export the CPU node count 2022-12-07 20:14:49 +11:00
ps3.h driver core: fixup for "driver core: make struct bus_type.uevent() take a const *" 2023-01-30 17:02:03 +01:00
ps3av.h powerpc/ps3: remove orphan declarations from ps3av.h 2022-09-15 22:55:46 +10:00
ps3gpu.h
ps3stor.h
pte-walk.h powerpc: Remove find_current_mm_pte() 2022-11-24 23:12:18 +11:00
ptrace.h powerpc: remove STACK_FRAME_OVERHEAD 2022-12-02 17:54:09 +11:00
qspinlock.h powerpc/qspinlock: add compile-time tuning adjustments 2022-12-02 17:48:50 +11:00
qspinlock_types.h powerpc/qspinlock: provide accounting and options for sleepy locks 2022-12-02 17:48:50 +11:00
reg.h
reg_8xx.h
reg_a2.h
reg_booke.h powerpc: Change CONFIG_E500 to CONFIG_PPC_E500 2022-09-26 23:00:13 +10:00
reg_fsl_emb.h
rheap.h
rio.h
rtas-types.h powerpc/rtas: remove lock and args fields from global rtas struct 2023-01-30 17:53:05 +11:00
rtas-work-area.h powerpc/pseries: add RTAS work area allocator 2023-02-13 22:35:02 +11:00
rtas.h powerpc/rtas: introduce rtas_function_token() API 2023-02-13 22:35:03 +11:00
runlatch.h powerpc/64s: Fix irq state management in runlatch functions 2022-09-28 19:22:11 +10:00
seccomp.h
sections.h powerpc/vmlinux.lds: Add an explicit symbol for the SRWX boundary 2022-09-26 20:58:16 +10:00
secure_boot.h
security_features.h
secvar.h powerpc/secvar: Allow backend to populate static list of variable names 2023-02-12 22:12:37 +11:00
serial.h
set_memory.h
setjmp.h
setup.h powerpc: Add hardware description string 2022-09-30 18:35:52 +10:00
sfp-machine.h
shmparam.h
signal.h
simple_spinlock.h
simple_spinlock_types.h
smp.h powerpc/cpu: Mark start_secondary_resume() __noreturn 2023-03-08 08:44:24 -08:00
smu.h
sparsemem.h
spinlock.h powerpc/qspinlock: powerpc qspinlock implementation 2022-12-02 17:48:02 +11:00
spinlock_types.h powerpc/qspinlock: powerpc qspinlock implementation 2022-12-02 17:48:02 +11:00
spu.h
spu_csa.h
spu_info.h
spu_priv1.h
sstep.h
stackprotector.h stackprotector: actually use get_random_canary() 2022-11-18 02:18:10 +01:00
stacktrace.h
static_call.h
string.h kasan, powerpc: don't rename memintrinsics if compiler adds prefixes 2023-03-23 17:18:33 -07:00
svm.h
swab.h
swiotlb.h
switch_to.h
synch.h powerpc: Change CONFIG_E500 to CONFIG_PPC_E500 2022-09-26 23:00:13 +10:00
syscall.h powerpc: Provide syscall wrapper 2022-09-28 19:22:09 +10:00
syscall_wrapper.h powerpc: Don't add __powerpc_ prefix to syscall entry points 2022-10-07 00:59:54 +11:00
syscalls.h powerpc/32: fix syscall wrappers with 64-bit arguments 2022-11-01 10:24:09 +11:00
syscalls_32.h powerpc: Include all arch-specific syscall prototypes 2022-09-28 19:22:08 +10:00
task_size_32.h
task_size_64.h
tce.h
thread_info.h
time.h powerpc/pseries: Move dtl scanning and steal time accounting to pseries platform 2022-09-05 14:14:27 +10:00
timex.h
tlb.h
tlbflush.h
tm.h
topology.h
trace.h powerpc/tracing: tracepoints for RTAS entry and exit 2023-02-13 22:35:02 +11:00
trace_clock.h
tsi108.h
tsi108_irq.h
tsi108_pci.h
types.h
uaccess.h
udbg.h powerpc/udbg: Remove extern function prototypes 2022-09-28 19:22:14 +10:00
uic.h
ultravisor-api.h
ultravisor.h
uninorth.h
unistd.h powerpc: Use generic fallocate compatibility syscall 2022-09-26 23:00:15 +10:00
uprobes.h
user.h
vas.h
vdso.h powerpc/vdso: Don't map VDSO at a fixed address on PPC32 2022-08-22 13:36:59 +10:00
vdso_datapage.h
vermagic.h
vga.h
vio.h vio: move to_vio_dev() to use container_of_const() 2023-01-27 13:45:41 +01:00
vmalloc.h
word-at-a-time.h
xics.h powerpc/sysdev: remove unused xics_ipi_dispatch() declaration 2022-09-15 22:55:46 +10:00
xive-regs.h
xive.h
xmon.h
xor.h
xor_altivec.h