linux/arch/powerpc/include/asm
Linus Torvalds 29c395c77a Rework of the X86 irq stack handling:
The irq stack switching was moved out of the ASM entry code in course of
   the entry code consolidation. It ended up being suboptimal in various
   ways.
 
   - Make the stack switching inline so the stackpointer manipulation is not
     longer at an easy to find place.
 
   - Get rid of the unnecessary indirect call.
 
   - Avoid the double stack switching in interrupt return and reuse the
     interrupt stack for softirq handling.
 
   - A objtool fix for CONFIG_FRAME_POINTER=y builds where it got confused
     about the stack pointer manipulation.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCgAxFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAmA21OcTHHRnbHhAbGlu
 dXRyb25peC5kZQAKCRCmGPVMDXSYoaX0D/9S0ud6oqbsIvI8LwhvYub63a2cjKP9
 liHAJ7xwMYYVwzf0skwsPb/QE6+onCzdq0upJkgG/gEYm2KbiaMWZ4GgHdj0O7ER
 qXKJONDd36AGxSEdaVzLY5kPuD/mkomGk5QdaZaTmjruthkNzg4y/N2wXUBIMZR0
 FdpSpp5fGspSZCn/DXDx6FjClwpLI53VclvDs6DcZ2DIBA0K+F/cSLb1UQoDLE1U
 hxGeuNa+GhKeeZ5C+q5giho1+ukbwtjMW9WnKHAVNiStjm0uzdqq7ERGi/REvkcB
 LY62u5uOSW1zIBMmzUjDDQEqvypB0iFxFCpN8g9sieZjA0zkaUioRTQyR+YIQ8Cp
 l8LLir0dVQivR1bHghHDKQJUpdw/4zvDj4mMH10XHqbcOtIxJDOJHC5D00ridsAz
 OK0RlbAJBl9FTdLNfdVReBCoehYAO8oefeyMAG12nZeSh5XVUWl238rvzmzIYNhG
 cEtkSx2wIUNEA+uSuI+xvfmwpxL7voTGvqmiRDCAFxyO7Bl/GBu9OEBFA1eOvHB+
 +wTmPDMswRetQNh4QCRXzk1JzP1Wk5CobUL9iinCWFoTJmnsPPSOWlosN6ewaNXt
 kYFpRLy5xt9EP7dlfgBSjiRlthDhTdMrFjD5bsy1vdm1w7HKUo82lHa4O8Hq3PHS
 tinKICUqRsbjig==
 =Sqr1
 -----END PGP SIGNATURE-----

Merge tag 'x86-entry-2021-02-24' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 irq entry updates from Thomas Gleixner:
 "The irq stack switching was moved out of the ASM entry code in course
  of the entry code consolidation. It ended up being suboptimal in
  various ways.

  This reworks the X86 irq stack handling:

   - Make the stack switching inline so the stackpointer manipulation is
     not longer at an easy to find place.

   - Get rid of the unnecessary indirect call.

   - Avoid the double stack switching in interrupt return and reuse the
     interrupt stack for softirq handling.

   - A objtool fix for CONFIG_FRAME_POINTER=y builds where it got
     confused about the stack pointer manipulation"

* tag 'x86-entry-2021-02-24' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  objtool: Fix stack-swizzle for FRAME_POINTER=y
  um: Enforce the usage of asm-generic/softirq_stack.h
  x86/softirq/64: Inline do_softirq_own_stack()
  softirq: Move do_softirq_own_stack() to generic asm header
  softirq: Move __ARCH_HAS_DO_SOFTIRQ to Kconfig
  x86: Select CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK
  x86/softirq: Remove indirection in do_softirq_own_stack()
  x86/entry: Use run_sysvec_on_irqstack_cond() for XEN upcall
  x86/entry: Convert device interrupts to inline stack switching
  x86/entry: Convert system vectors to irq stack macro
  x86/irq: Provide macro for inlining irq stack switching
  x86/apic: Split out spurious handling code
  x86/irq/64: Adjust the per CPU irq stack pointer by 8
  x86/irq: Sanitize irq stack tracking
  x86/entry: Fix instrumentation annotation
2021-02-24 16:32:23 -08:00
..
book3s powerpc updates for 5.12 2021-02-22 14:34:00 -08:00
nohash powerpc updates for 5.11 2020-12-17 13:34:25 -08:00
vdso powerpc updates for 5.12 2021-02-22 14:34:00 -08:00
8xx_immap.h
Kbuild local64.h: make <asm/local64.h> mandatory 2020-12-29 15:36:49 -08:00
accounting.h
agp.h
archrandom.h
asm-compat.h
asm-const.h
asm-offsets.h
asm-prototypes.h powerpc: convert interrupt handlers to use wrappers 2021-02-09 00:02:12 +11:00
async_tx.h
atomic.h powerpc: Fix update form addressing in inline assembly 2020-12-04 22:13:19 +11:00
backlight.h
barrier.h powerpc/barrier: Use CONFIG_PPC64 for barrier selection 2020-12-04 01:01:10 +11:00
bitops.h powerpc/bitops: Fix possible undefined behaviour with fls() and fls64() 2020-11-19 14:50:13 +11:00
bootx.h
btext.h
bug.h powerpc/64s/hash: improve context tracking of hash faults 2021-02-09 00:02:12 +11:00
bugs.h
cache.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
cacheflush.h powerpc/mm: Add PG_dcache_clean to indicate dcache clean state 2021-02-11 23:35:06 +11:00
cell-pmu.h
cell-regs.h
checksum.h powerpc: force inlining of csum_partial() to avoid multiple csum_partial() with GCC10 2020-12-15 22:50:11 +11:00
clocksource.h powerpc/vdso: Prepare for switching VDSO to generic C implementation. 2020-12-04 01:01:10 +11:00
cmpxchg.h
code-patching-asm.h
code-patching.h
compat.h
context_tracking.h
copro.h
cpm.h
cpm1.h powerpc/8xx: Fix early debug when SMC1 is relocated 2020-12-09 17:00:54 +11:00
cpm2.h
cpu_has_feature.h
cpu_setup_power.h powerpc/64s: Convert some cpu_setup() and cpu_restore() functions to C 2020-11-19 14:49:56 +11:00
cpufeature.h
cpuidle.h
cputable.h arch: powerpc: Stop building and using oprofile 2021-01-29 10:05:51 +05:30
cputhreads.h
cputime.h powerpc/64: move account_stolen_time into its own function 2021-02-09 00:10:49 +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: convert interrupt handlers to use wrappers 2021-02-09 00:02:12 +11:00
debugfs.h
delay.h
device.h
disassemble.h
dma-direct.h
dma.h
drmem.h
dt_cpu_ftrs.h
dtl.h
edac.h
eeh.h
eeh_event.h
ehv_pic.h
elf.h powerpc: Remove ucache_bsize 2020-12-05 21:49:52 +11:00
elfnote.h
emergency-restart.h
emulated_ops.h
epapr_hcalls.h
exception-64e.h
exception-64s.h powerpc/64s: fix scv entry fallback flush vs interrupt 2021-01-20 15:58:19 +11:00
exec.h
extable.h
fadump-internal.h
fadump.h
fb.h
feature-fixups.h powerpc/64s: fix scv entry fallback flush vs interrupt 2021-01-20 15:58:19 +11:00
firmware.h powerpc: remove unneeded semicolons 2021-02-09 00:10:50 +11:00
fixmap.h powerpc/mm/highmem: Switch to generic kmap atomic 2020-11-06 23:14:57 +01:00
floppy.h
fs_pd.h
fsl_85xx_cache_sram.h
fsl_gtm.h
fsl_hcalls.h
fsl_lbc.h
fsl_pamu_stash.h
fsl_pm.h
ftrace.h
futex.h
grackle.h
hardirq.h
head-64.h
heathrow.h
highmem.h powerpc/mm/highmem: use __set_pte_at() for kmap_local() 2021-01-24 10:34:53 -08:00
hmi.h
hugetlb.h powerpc/mm: Enable compound page check for both THP and HugeTLB 2021-02-11 23:35:06 +11:00
hvcall.h KVM: PPC: Book3S HV: Add infrastructure to support 2nd DAWR 2021-02-10 14:31:08 +11:00
hvconsole.h
hvcserver.h
hvsi.h
hw_breakpoint.h
hw_irq.h powerpc/irq: Add stub irq_soft_mask_return() for PPC32 2021-02-11 23:35:09 +11:00
hydra.h
i8259.h
ibmebus.h
icswx.h
ide.h
idle.h
ima.h
imc-pmu.h
immap_cpm2.h
inst.h
interrupt.h powerpc/32: Handle bookE debugging in C in syscall entry/exit 2021-02-11 23:35:12 +11:00
io-defs.h
io-workarounds.h
io.h powerpc: Fix update form addressing in inline assembly 2020-12-04 22:13:19 +11:00
io_event_irq.h
iommu.h
ipic.h
irq.h softirq: Move __ARCH_HAS_DO_SOFTIRQ to Kconfig 2021-02-10 23:34:16 +01:00
irq_work.h
irqflags.h
isa-bridge.h
jump_label.h
kasan.h
kdebug.h
kdump.h
kexec.h powerpc/kexec_file: fix FDT size estimation for kdump kernel 2021-02-11 23:35:07 +11:00
kexec_ranges.h
keylargo.h
kgdb.h
kprobes.h
kup.h powerpc/uaccess: Perform barrier_nospec() in KUAP allowance helpers 2021-02-09 01:10:15 +11:00
kvm_asm.h
kvm_book3s.h KVM: PPC: Book3S HV: Declare some prototypes 2021-01-30 11:39:31 +11:00
kvm_book3s_32.h
kvm_book3s_64.h
kvm_book3s_asm.h KVM: PPC: Book3S HV: Remove support for running HPT guest on RPT host without mixed mode support 2021-02-10 14:31:08 +11:00
kvm_book3s_uvmem.h
kvm_booke.h
kvm_booke_hv_asm.h
kvm_fpu.h
kvm_guest.h powerpc: Reintroduce is_kvm_guest() as a fast-path check 2020-12-04 01:01:22 +11:00
kvm_host.h KVM: PPC: Book3S HV: Add infrastructure to support 2nd DAWR 2021-02-10 14:31:08 +11:00
kvm_para.h powerpc: Reintroduce is_kvm_guest() as a fast-path check 2020-12-04 01:01:22 +11:00
kvm_ppc.h powerpc updates for 5.12 2021-02-22 14:34:00 -08:00
libata-portmap.h
linkage.h
livepatch.h livepatch: Use the default ftrace_ops instead of REGS when ARGS is available 2020-11-13 12:15:28 -05:00
local.h
lppaca.h
lv1call.h
machdep.h powerpc/pci: Add ppc_md.discover_phbs() 2021-02-03 09:46:36 +11:00
macio.h
mc146818rtc.h
mce.h powerpc/mce: Remove per cpu variables from MCE handlers 2021-01-31 22:35:49 +11:00
mediabay.h
mem_encrypt.h
membarrier.h
mman.h
mmiowb.h
mmu.h powerpc/32s: Make support for 603 and 604+ selectable 2020-12-09 16:48:59 +11:00
mmu_context.h powerpc/pkeys: Remove unused code 2021-02-09 01:09:44 +11:00
mmzone.h mm: fix phys_to_target_node() and memory_add_physaddr_to_nid() exports 2020-11-22 10:48:22 -08:00
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 powerpc: convert interrupt handlers to use wrappers 2021-02-09 00:02:12 +11:00
nvram.h
ohare.h
opal-api.h powerpc/xive: Remove P9 DD1 flag XIVE_IRQ_FLAG_EOI_FW 2020-12-11 09:53:10 +11:00
opal.h
paca.h powerpc/64s: Remove EXSLB interrupt save area 2021-02-11 23:35:05 +11:00
page.h
page_32.h powerpc/32s: Cleanup around PTE_FLAGS_OFFSET in hash_low.S 2020-12-09 23:48:14 +11:00
page_64.h
paravirt.h powerpc: Fix build error in paravirt.h 2021-01-31 22:35:49 +11:00
parport.h
pasemi_dma.h
pci-bridge.h
pci.h
percpu.h
perf_event.h powerpc/perf: Expose Performance Monitor Counter SPR's as part of extended regs 2021-02-09 01:09:44 +11:00
perf_event_fsl_emb.h
perf_event_server.h powerpc/perf: Adds support for programming of Thresholding in P10 2021-02-11 23:35:36 +11:00
pgalloc.h
pgtable-be-types.h
pgtable-types.h
pgtable.h powerpc/mm: Declare arch_report_meminfo() prototype. 2021-01-30 11:39:30 +11:00
pkeys.h powerpc/pkeys: Remove unused code 2021-02-09 01:09:44 +11:00
plpar_wrappers.h
pmac_feature.h
pmac_low_i2c.h
pmac_pfunc.h
pmc.h
pmi.h
pnv-ocxl.h ocxl: Initiate a TLB invalidate command 2020-12-04 01:01:30 +11:00
pnv-pci.h
powernv.h
ppc-opcode.h powerpc/ppc-opcode: Add encoding macros for VSX vector paired instructions 2020-12-11 00:09:09 +11:00
ppc-pci.h powerpc/pci: Remove unimplemented prototypes 2021-02-11 23:35:36 +11:00
ppc4xx.h
ppc_asm.h powerpc/64: entry cpu time accounting in C 2021-02-09 00:10:49 +11:00
probes.h
processor.h powerpc/book3s64/pkeys: Don't update SPRN_AMR when in kernel mode. 2020-12-04 01:01:26 +11:00
prom.h
ps3.h powerpc/ps3: make system bus's remove and shutdown callbacks return void 2020-12-04 01:01:22 +11:00
ps3av.h
ps3gpu.h
ps3stor.h
pte-walk.h
ptrace.h powerpc/64: Fix stack trace not displaying final frame 2021-02-11 23:35:14 +11:00
qspinlock.h
qspinlock_paravirt.h
reg.h powerpc/irq: Rework helpers that manipulate MSR[EE/RI] 2021-02-11 23:35:09 +11:00
reg_8xx.h
reg_a2.h
reg_booke.h powerpc/32: Handle bookE debugging in C in syscall entry/exit 2021-02-11 23:35:12 +11:00
reg_fsl_emb.h
rheap.h
rio.h
rtas-types.h powerpc/rtas: remove unused rtas_suspend_me_data 2020-12-08 21:41:02 +11:00
rtas.h powerpc: remove unneeded semicolons 2021-02-09 00:10:50 +11:00
runlatch.h
seccomp.h powerpc: Enable seccomp architecture tracking 2020-11-20 11:16:35 -08:00
sections.h
secure_boot.h
security_features.h powerpc/64s: flush L1D after user accesses 2020-11-19 23:47:18 +11:00
secvar.h
serial.h
setjmp.h
setup.h powerpc: remove unneeded semicolons 2021-02-09 00:10:50 +11:00
sfp-machine.h
shmparam.h
signal.h
simple_spinlock.h powerpc: remove unneeded semicolons 2021-02-09 00:10:50 +11:00
simple_spinlock_types.h
slice.h
smp.h powerpc: remove unneeded semicolons 2021-02-09 00:10:50 +11:00
smu.h
sparsemem.h mm: fix phys_to_target_node() and memory_add_physaddr_to_nid() exports 2020-11-22 10:48:22 -08:00
spinlock.h
spinlock_types.h
spu.h arch: powerpc: Stop building and using oprofile 2021-01-29 10:05:51 +05:30
spu_csa.h
spu_info.h
spu_priv1.h
sstep.h
stackprotector.h
stacktrace.h
string.h
svm.h
swab.h
swiotlb.h
switch_to.h
synch.h
syscall.h
syscalls.h
task_size_32.h
task_size_64.h
tce.h
termios.h
thread_info.h powerpc/64: context tracking remove _TIF_NOHZ 2021-02-09 00:02:12 +11:00
time.h powerpc/time: move timer_broadcast_interrupt prototype to asm/time.h 2021-02-09 00:02:10 +11:00
timex.h powerpc/time: Move timebase functions into new asm/vdso/timebase.h 2020-12-04 01:01:10 +11:00
tlb.h powerpc/32s: Inline flush_hash_entry() 2020-12-09 16:46:56 +11:00
tlbflush.h
tm.h
topology.h powerpc/numa: Fix build when CONFIG_NUMA=n 2020-11-06 14:16:19 +11:00
trace.h
trace_clock.h
tsi108.h
tsi108_irq.h
tsi108_pci.h
types.h
uaccess.h powerpc/uaccess: Merge raw_copy_to_user_allowed() into raw_copy_to_user() 2021-02-11 23:35:35 +11:00
udbg.h
uic.h
ultravisor-api.h
ultravisor.h
unaligned.h
uninorth.h
unistd.h
uprobes.h
user.h
vas.h
vdso.h powerpc/vdso: Cleanup vdso.h 2020-12-04 01:01:19 +11:00
vdso_datapage.h powerpc/vdso: Remove unused \tmp param in __get_datapage() 2020-12-04 01:01:17 +11:00
vermagic.h
vga.h
vio.h
vmalloc.h
word-at-a-time.h
xics.h
xive-regs.h
xive.h powerpc/xive: Remove P9 DD1 flag XIVE_IRQ_FLAG_EOI_FW 2020-12-11 09:53:10 +11:00
xmon.h powerpc: remove unneeded semicolons 2021-02-09 00:10:50 +11:00
xor.h
xor_altivec.h