linux-stable/include/asm-generic
Peter Zijlstra ab8f581408 arch: Introduce CONFIG_FUNCTION_ALIGNMENT
commit d49a062621 upstream.

Generic function-alignment infrastructure.

Architectures can select FUNCTION_ALIGNMENT_xxB symbols; the
FUNCTION_ALIGNMENT symbol is then set to the largest such selected
size, 0 otherwise.

>From this the -falign-functions compiler argument and __ALIGN macro
are set.

This incorporates the DEBUG_FORCE_FUNCTION_ALIGN_64B knob and future
alignment requirements for x86_64 (later in this series) into a single
place.

NOTE: also removes the 0x90 filler byte from the generic __ALIGN
      primitive, that value makes no sense outside of x86.

NOTE: .balign 0 reverts to a no-op.

Requested-by: Linus Torvalds <torvalds@linux-foundation.org>
Change-Id: I053b3c408d56988381feb8c8bdb5e27ea221755f
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20220915111143.719248727@infradead.org
[cascardo: adjust context at arch/x86/Kconfig]
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-04-10 16:18:49 +02:00
..
bitops locking/atomic: Make test_and_*_bit() ordered on failure 2022-08-25 11:39:54 +02:00
vdso
Kbuild Rework of the X86 irq stack handling: 2021-02-24 16:32:23 -08:00
asm-offsets.h
asm-prototypes.h
atomic.h locking/atomic: delete !ARCH_ATOMIC remnants 2021-05-26 13:20:52 +02:00
atomic64.h locking/atomic: delete !ARCH_ATOMIC remnants 2021-05-26 13:20:52 +02:00
audit_change_attr.h
audit_dir_write.h
audit_read.h
audit_signal.h
audit_write.h
barrier.h
bitops.h
bitsperlong.h lib: extend the scope of small_const_nbits() macro 2021-05-06 19:24:11 -07:00
bug.h Merge branch 'akpm' (patches from Andrew) 2021-07-02 12:08:10 -07:00
cache.h
cacheflush.h
checksum.h
cmpxchg-local.h locking/atomic: cmpxchg: make `generic` a prefix 2021-05-26 13:20:50 +02:00
cmpxchg.h locking/atomic: delete !ARCH_ATOMIC remnants 2021-05-26 13:20:52 +02:00
compat.h compat: make linux/compat.h available everywhere 2021-07-23 14:20:24 +01:00
current.h
delay.h
device.h
div64.h ARM: 9117/1: asm-generic: div64: Remove always-true __div64_const32_is_OK() 2021-08-20 11:39:28 +01:00
dma-mapping.h
dma.h
early_ioremap.h mm/early_ioremap.c: remove redundant early_ioremap_shutdown() 2021-09-08 11:50:24 -07:00
emergency-restart.h
error-injection.h
exec.h
export.h asm-generic: export: Stub EXPORT_SYMBOL with __DISABLE_EXPORTS 2021-02-03 16:42:57 +00:00
extable.h
fb.h
fixmap.h
flat.h
ftrace.h
futex.h
getorder.h
gpio.h
hardirq.h
hugetlb.h
hw_irq.h
hyperv-tlfs.h asm-generic/hyperv: add HV_STATUS_ACCESS_DENIED definition 2021-06-17 13:09:38 -04:00
ide_iops.h
int-ll64.h
io.h asm-generic/io.h: suppress endianness warnings for readq() and writeq() 2023-05-11 23:00:15 +09:00
ioctl.h
iomap.h parisc: Declare pci_iounmap() parisc version only when CONFIG_PCI enabled 2021-09-19 10:36:09 -07:00
irq.h
irq_regs.h
irq_work.h
irqflags.h
kdebug.h
kmap_size.h
kprobes.h
kvm_para.h
kvm_types.h
linkage.h
local.h
local64.h
logic_io.h lib: add iomem emulation (logic_iomem) 2021-06-17 21:44:51 +02:00
mcs_spinlock.h
memory_model.h mm: remove CONFIG_DISCONTIGMEM 2021-06-29 10:53:55 -07:00
mm_hooks.h
mmiowb.h
mmiowb_types.h
mmu.h
mmu_context.h
module.h
module.lds.h
mshyperv.h hyperv-fixes for 5.15-rc2 2021-09-15 17:18:56 -07:00
msi.h
nommu_context.h
numa.h arm64: irq: set the correct node for VMAP stack 2024-02-23 08:54:36 +01:00
page.h c6x: remove architecture 2021-01-20 09:30:45 +01:00
param.h
parport.h
pci.h
pci_iomap.h parisc: Declare pci_iounmap() parisc version only when CONFIG_PCI enabled 2021-09-19 10:36:09 -07:00
percpu.h
pgalloc.h
pgtable-nop4d.h mm: rename p4d_page_vaddr to p4d_pgtable and make it return pud_t * 2021-07-08 11:48:22 -07:00
pgtable-nopmd.h mm: rename pud_page_vaddr to pud_pgtable and make it return pmd_t * 2021-07-08 11:48:22 -07:00
pgtable-nopud.h mm: rename p4d_page_vaddr to p4d_pgtable and make it return pud_t * 2021-07-08 11:48:22 -07:00
pgtable_uffd.h
preempt.h sched/core: Initialize the idle task with preemption disabled 2021-05-12 13:01:45 +02:00
qrwlock.h locking/arch: Move qrwlock.h include after qspinlock.h 2021-02-11 07:59:54 -05:00
qrwlock_types.h
qspinlock.h asm-generic: qspinlock: fix queued_spin_value_unlocked() implementation 2023-12-20 15:17:40 +01:00
qspinlock_types.h
resource.h
rwonce.h
seccomp.h
sections.h asm-generic: sections: refactor memory_intersects 2022-08-31 17:16:47 +02:00
serial.h
set_memory.h
shmparam.h
signal.h
simd.h
softirq_stack.h softirq: Move do_softirq_own_stack() to generic asm header 2021-02-10 23:34:16 +01:00
spinlock.h
statfs.h
string.h
switch_to.h
syscall.h
syscalls.h
termios-base.h
termios.h
timex.h
tlb.h mm/khugepaged: fix GUP-fast interaction by sending IPI 2022-12-14 11:37:17 +01:00
tlbflush.h
topology.h mm: replace CONFIG_NEED_MULTIPLE_NODES with CONFIG_NUMA 2021-06-29 10:53:55 -07:00
trace_clock.h
uaccess.h asm-generic: uaccess: remove inline strncpy_from_user/strnlen_user 2021-07-27 23:01:13 +02:00
unaligned.h asm-generic: simplify asm/unaligned.h 2021-05-17 13:30:29 +02:00
user.h
vermagic.h
vga.h
vmlinux.lds.h arch: Introduce CONFIG_FUNCTION_ALIGNMENT 2024-04-10 16:18:49 +02:00
vtime.h
word-at-a-time.h word-at-a-time: use the same return type for has_zero regardless of endianness 2023-08-11 15:13:49 +02:00
xor.h