Marc Zyngier
aeed41a937
arm64: fix alignment padding in assembly code
...
An interesting effect of using the generic version of linkage.h
is that the padding is defined in terms of x86 NOPs, which can have
even more interesting effects when the assembly code looks like this:
ENTRY(func1)
mov x0, xzr
ENDPROC(func1)
// fall through
ENTRY(func2)
mov x0, #1
ret
ENDPROC(func2)
Admittedly, the code is not very nice. But having code from another
architecture doesn't look completely sane either.
The fix is to add arm64's version of linkage.h, which causes the insertion
of proper AArch64 NOPs.
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-10-20 11:12:01 +01:00
..
arm_generic.h
arm64: Generic timers support
2012-09-17 13:42:20 +01:00
asm-offsets.h
arm64: Assembly macros and definitions
2012-09-17 10:24:44 +01:00
assembler.h
arm64: Assembly macros and definitions
2012-09-17 10:24:44 +01:00
atomic.h
arm64: Atomic operations
2012-09-17 13:42:02 +01:00
barrier.h
arm64: Miscellaneous header files
2012-09-17 13:42:21 +01:00
bitops.h
arm64: Miscellaneous library functions
2012-09-17 13:42:18 +01:00
cache.h
arm64: Cache maintenance routines
2012-09-17 13:42:00 +01:00
cacheflush.h
arm64: Cache maintenance routines
2012-09-17 13:42:00 +01:00
cachetype.h
arm64: Cache maintenance routines
2012-09-17 13:42:00 +01:00
cmpxchg.h
arm64: Miscellaneous header files
2012-09-17 13:42:21 +01:00
compat.h
compat: move compat_siginfo_t definition to asm/compat.h
2012-10-06 03:05:16 +09:00
compiler.h
arm64: Miscellaneous header files
2012-09-17 13:42:21 +01:00
cputable.h
arm64: CPU support
2012-09-17 13:41:59 +01:00
cputype.h
arm64: CPU support
2012-09-17 13:41:59 +01:00
debug-monitors.h
arm64: Debugging support
2012-09-17 13:42:14 +01:00
device.h
arm64: Device specific operations
2012-09-17 13:42:04 +01:00
dma-mapping.h
arm64: DMA mapping API
2012-09-17 13:42:05 +01:00
elf.h
arm64: ELF definitions
2012-09-17 13:42:07 +01:00
exception.h
arm64: Miscellaneous header files
2012-09-17 13:42:21 +01:00
exec.h
arm64: Miscellaneous header files
2012-09-17 13:42:21 +01:00
fb.h
arm64: Device specific operations
2012-09-17 13:42:04 +01:00
fpsimd.h
arm64: Floating point and SIMD
2012-09-17 13:42:13 +01:00
futex.h
arm64: Atomic operations
2012-09-17 13:42:02 +01:00
hardirq.h
arm64: SMP support
2012-09-17 13:42:06 +01:00
hw_breakpoint.h
arm64: Debugging support
2012-09-17 13:42:14 +01:00
hwcap.h
UAPI: (Scripted) Disintegrate arch/arm64/include/asm
2012-10-11 11:05:13 +01:00
io.h
arm64: Device specific operations
2012-09-17 13:42:04 +01:00
irq.h
arm64: IRQ handling
2012-09-17 13:42:02 +01:00
irqflags.h
arm64: IRQ handling
2012-09-17 13:42:02 +01:00
Kbuild
arm64: fix alignment padding in assembly code
2012-10-20 11:12:01 +01:00
linkage.h
arm64: fix alignment padding in assembly code
2012-10-20 11:12:01 +01:00
memblock.h
arm64: MMU initialisation
2012-09-17 13:41:56 +01:00
memory.h
arm64: MMU definitions
2012-09-17 13:41:56 +01:00
mmu.h
arm64: MMU definitions
2012-09-17 13:41:56 +01:00
mmu_context.h
arm64: Process management
2012-09-17 13:41:58 +01:00
module.h
arm64: Loadable modules
2012-09-17 13:42:19 +01:00
page.h
arm64: MMU fault handling and page table management
2012-09-17 13:41:57 +01:00
perf_event.h
arm64: Performance counters support
2012-09-17 13:42:17 +01:00
pgalloc.h
arm64: MMU fault handling and page table management
2012-09-17 13:41:57 +01:00
pgtable-2level-hwdef.h
arm64: MMU definitions
2012-09-17 13:41:56 +01:00
pgtable-2level-types.h
arm64: MMU definitions
2012-09-17 13:41:56 +01:00
pgtable-3level-hwdef.h
arm64: MMU definitions
2012-09-17 13:41:56 +01:00
pgtable-3level-types.h
arm64: MMU definitions
2012-09-17 13:41:56 +01:00
pgtable-hwdef.h
arm64: MMU definitions
2012-09-17 13:41:56 +01:00
pgtable.h
arm64: MMU definitions
2012-09-17 13:41:56 +01:00
pmu.h
arm64: Performance counters support
2012-09-17 13:42:17 +01:00
proc-fns.h
arm64: CPU support
2012-09-17 13:41:59 +01:00
processor.h
arm64: No need to set the x0-x2 registers in start_thread()
2012-10-18 20:14:01 +01:00
prom.h
arm64: Build infrastructure
2012-09-17 13:42:21 +01:00
ptrace.h
UAPI: (Scripted) Disintegrate arch/arm64/include/asm
2012-10-11 11:05:13 +01:00
shmparam.h
arm64: ELF definitions
2012-09-17 13:42:07 +01:00
sigcontext.h
UAPI: (Scripted) Disintegrate arch/arm64/include/asm
2012-10-11 11:05:13 +01:00
signal32.h
arm64: 32-bit (compat) applications support
2012-09-17 13:42:12 +01:00
smp.h
arm64: SMP support
2012-09-17 13:42:06 +01:00
sparsemem.h
arm64: MMU definitions
2012-09-17 13:41:56 +01:00
spinlock.h
arm64: SMP support
2012-09-17 13:42:06 +01:00
spinlock_types.h
arm64: SMP support
2012-09-17 13:42:06 +01:00
stacktrace.h
arm64: Exception handling
2012-09-17 10:24:46 +01:00
stat.h
UAPI: (Scripted) Disintegrate arch/arm64/include/asm
2012-10-11 11:05:13 +01:00
syscall.h
arm64: Miscellaneous library functions
2012-09-17 13:42:18 +01:00
syscalls.h
arm64: System calls handling
2012-09-17 13:42:08 +01:00
system_misc.h
arm64: Miscellaneous header files
2012-09-17 13:42:21 +01:00
thread_info.h
arm64: Process management
2012-09-17 13:41:58 +01:00
timex.h
arm64: Generic timers support
2012-09-17 13:42:20 +01:00
tlb.h
arm64: TLB maintenance functionality
2012-09-17 13:42:01 +01:00
tlbflush.h
arm64: TLB maintenance functionality
2012-09-17 13:42:01 +01:00
traps.h
arm64: Exception handling
2012-09-17 10:24:46 +01:00
uaccess.h
arm64: User access library functions
2012-09-17 13:42:11 +01:00
ucontext.h
arm64: Signal handling support
2012-09-17 13:42:10 +01:00
unistd.h
UAPI: (Scripted) Disintegrate arch/arm64/include/asm
2012-10-11 11:05:13 +01:00
unistd32.h
arm64: Do not include asm/unistd32.h in asm/unistd.h
2012-10-11 10:39:08 +01:00
vdso.h
arm64: VDSO support
2012-09-17 13:42:09 +01:00
vdso_datapage.h
arm64: VDSO support
2012-09-17 13:42:09 +01:00