linux/arch/arm/include/asm
Linus Torvalds bb0fd7ab09 Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
Pull ARM updates from Russell King:
 "Included in this update are both some long term fixes and some new
  features.

  Fixes:

   - An integer overflow in the calculation of ELF_ET_DYN_BASE.

   - Avoiding OOMs for high-order IOMMU allocations

   - SMP requires the data cache to be enabled for synchronisation
     primitives to work, so prevent the CPU_DCACHE_DISABLE option being
     visible on SMP builds.

   - A bug going back 10+ years in the noMMU ARM94* CPU support code,
     where it corrupts registers.  Found by folk getting Linux running
     on their cameras.

   - Versatile Express needs an errata workaround enabled for CPU
     hot-unplug to work.

  Features:

   - Clean up module linker by handling out of range relocations
     separately from relocation cases we don't handle.

   - Fix a long term bug in the pci_mmap_page_range() code, which we
     hope won't impact userspace (we hope there's no users of the
     existing broken interface.)

   - Don't map DMA coherent allocations when we don't have a MMU.

   - Drop experimental status for SMP_ON_UP.

   - Warn when DT doesn't specify ePAPR mandatory cache properties.

   - Add documentation concerning how we find the start of physical
     memory for AUTO_ZRELADDR kernels, detailing why we have chosen the
     mask and the implications of changing it.

   - Updates from Ard Biesheuvel to address some issues with large
     kernels (such as allyesconfig) failing to link.

   - Allow hibernation to work on modern (ARMv7) CPUs - this appears to
     have never worked in the past on these CPUs.

   - Enable IRQ_SHOW_LEVEL, which changes the /proc/interrupts output
     format (hopefully without userspace breaking...  let's hope that if
     it causes someone a problem, they tell us.)

   - Fix tegra-ahb DT offsets.

   - Rework ARM errata 643719 code (and ARMv7 flush_cache_louis()/
     flush_dcache_all()) code to be more efficient, and enable this
     errata workaround by default for ARMv7+SMP CPUs.  This complements
     the Versatile Express fix above.

   - Rework ARMv7 context code for errata 430973, so that only Cortex A8
     CPUs are impacted by the branch target buffer flush when this
     errata is enabled.  Also update the help text to indicate that all
     r1p* A8 CPUs are impacted.

   - Switch ARM to the generic show_mem() implementation, it conveys all
     the information which we were already reporting.

   - Prevent slow timer sources being used for udelay() - timers running
     at less than 1MHz are not useful for this, and can cause udelay()
     to return immediately, without any wait.  Using such a slow timer
     is silly.

   - VDSO support for 32-bit ARM, mainly for gettimeofday() using the
     ARM architected timer.

   - Perf support for Scorpion performance monitoring units"

vdso semantic conflict fixed up as per linux-next.

* 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (52 commits)
  ARM: update errata 430973 documentation to cover Cortex A8 r1p*
  ARM: ensure delay timer has sufficient accuracy for delays
  ARM: switch to use the generic show_mem() implementation
  ARM: proc-v7: avoid errata 430973 workaround for non-Cortex A8 CPUs
  ARM: enable ARM errata 643719 workaround by default
  ARM: cache-v7: optimise test for Cortex A9 r0pX devices
  ARM: cache-v7: optimise branches in v7_flush_cache_louis
  ARM: cache-v7: consolidate initialisation of cache level index
  ARM: cache-v7: shift CLIDR to extract appropriate field before masking
  ARM: cache-v7: use movw/movt instructions
  ARM: allow 16-bit instructions in ALT_UP()
  ARM: proc-arm94*.S: fix setup function
  ARM: vexpress: fix CPU hotplug with CT9x4 tile.
  ARM: 8276/1: Make CPU_DCACHE_DISABLE depend on !SMP
  ARM: 8335/1: Documentation: DT bindings: Tegra AHB: document the legacy base address
  ARM: 8334/1: amba: tegra-ahb: detect and correct bogus base address
  ARM: 8333/1: amba: tegra-ahb: fix register offsets in the macros
  ARM: 8339/1: Enable CONFIG_GENERIC_IRQ_SHOW_LEVEL
  ARM: 8338/1: kexec: Relax SMP validation to improve DT compatibility
  ARM: 8337/1: mm: Do not invoke OOM for higher order IOMMU DMA allocations
  ...
2015-04-14 21:03:26 -07:00
..
crypto ARM: 8119/1: crypto: sha1: add ARM NEON implementation 2014-08-02 08:51:47 +01:00
hardware ARM: removing support for etb/etm in "arch/arm/kernel/" 2014-11-07 15:19:33 -08:00
mach ARM, clocksource/drivers: Provide read_boot_clock64() and read_persistent_clock64() and use them 2015-04-03 08:18:23 +02:00
xen xen/grant-table: pre-populate kernel unmap ops for xen_gnttab_unmap_refs() 2015-01-28 14:03:10 +00:00
arch_timer.h clocksource: arch_timer: Fix code to use physical timers when requested 2014-12-04 23:30:26 -08:00
asm-offsets.h
assembler.h ARM: allow 16-bit instructions in ALT_UP() 2015-04-14 22:26:51 +01:00
atomic.h locking,arch: Use ACCESS_ONCE() instead of cast to volatile in atomic_read() 2014-10-03 06:06:23 +02:00
auxvec.h ARM: 8329/1: miscellaneous vdso infrastructure, preparation 2015-03-27 22:20:45 +00:00
barrier.h arch: Add lightweight memory barriers dma_rmb() and dma_wmb() 2014-12-11 21:15:06 -05:00
bitops.h arch,arm: Convert smp_mb__*() 2014-04-18 11:40:32 +02:00
bitrev.h ARM: 8287/1: add bitrev.h file to support rbit instruction 2015-01-16 14:06:18 +00:00
bL_switcher.h ARM: bL_switcher: Add query interface to discover CPU affinities 2013-09-23 18:47:31 -04:00
bug.h ARM: Correct BUG() assembly to ensure it is endian-agnostic 2013-10-19 20:46:35 +01:00
bugs.h
cache.h
cacheflush.h ARM: mm: allow text and rodata sections to be read-only 2014-10-16 14:38:54 -07:00
cachetype.h
checksum.h ARM: fix csum_tcpudp_magic() miscompilation 2013-12-29 12:32:41 +00:00
clkdev.h clk: Add common __clk_get(), __clk_put() implementations 2013-12-04 17:19:44 +01:00
cmpxchg.h ARM: 7984/1: prefetch: add prefetchw invocations for barriered atomics 2014-02-25 11:30:20 +00:00
compiler.h ARM: 8300/1: teach __asmeq that r11 == fp and r12 == ip 2015-02-10 10:23:11 +00:00
cp15.h ARM: remove global cr_no_alignment 2014-06-02 09:20:18 +01:00
cpu.h ARM: kernel: add MIDR to per-CPU information data 2012-11-19 14:51:11 +00:00
cpuidle.h ARM: cpuidle: Add a cpuidle ops structure to be used for DT 2015-03-24 10:16:01 +01:00
cputype.h ARM: 8318/1: treat CPU feature register fields as signed quantities 2015-03-28 15:46:15 +00:00
cti.h ARM: coresight: common definition for (OS) Lock Access Register key value 2013-01-10 21:13:05 +00:00
dcc.h ARM: tty: Move HVC DCC assembly to arch/arm 2014-05-28 13:33:18 -07:00
delay.h ARM: 7685/1: delay: use private ticks_per_jiffy field for timer-based delay ops 2013-04-03 16:45:50 +01:00
device.h arm: introduce is_device_dma_coherent 2014-12-04 12:41:50 +00:00
div64.h ARM: 8027/1: fix do_div() bug in big-endian systems 2014-04-22 22:23:57 +01:00
dma-contiguous.h drivers: dma-contiguous: clean source code and prepare for device tree 2013-08-27 09:18:29 +02:00
dma-iommu.h arm: dma-iommu: Clean up redundant variable 2014-05-20 13:43:26 +02:00
dma-mapping.h ARM: SoC/iommu configuration for 3.19 2014-12-16 14:53:01 -08:00
dma.h mm/memblock: add memblock memory allocation apis 2014-01-21 16:19:46 -08:00
domain.h
ecard.h
edac.h
elf.h Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2015-04-14 21:03:26 -07:00
entry-macro-multi.S ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+ 2014-07-18 12:29:04 +01:00
exception.h
fb.h
fiq.h
firmware.h ARM: firmware: add AFTR mode support to firmware do_idle method 2014-10-21 00:06:35 +09:00
fixmap.h arm: use fixmap for text patching when text is RO 2014-10-16 14:38:53 -07:00
flat.h ARM: binfmt_flat: unused variable 'persistent' 2012-10-09 20:29:06 +02:00
floppy.h ARM: 7996/1: floppy.h: remove deprecated IRQF_DISABLED 2014-03-12 10:32:29 +00:00
fncpy.h
fpstate.h
ftrace.h ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h 2014-09-26 14:40:03 +01:00
futex.h ARM: 8322/1: keep .text and .fixup regions closer together 2015-03-29 23:11:56 +01:00
glue-cache.h ARM: LLVMLinux: Change "extern inline" to "static inline" in glue-cache.h 2014-06-07 11:44:39 -07:00
glue-df.h ARM: 8065/1: remove last use of CONFIG_CPU_ARM710 2014-05-30 01:12:30 +01:00
glue-pf.h
glue-proc.h ARM: 8103/1: save/restore Cortex-A9 CP15 registers on suspend/resume 2014-07-18 12:29:37 +01:00
glue.h
gpio.h ARM: delete old reference to ARM_GPIOLIB_COMPLEX 2014-06-30 21:37:39 +02:00
hardirq.h Merge branch 'devel-stable' into for-next 2013-11-12 10:58:59 +00:00
highmem.h ARM: 8031/2: change fixmap mapping region to support 32 CPUs 2014-04-23 11:09:42 +01:00
hugetlb-3level.h ARM: mm: HugeTLB support for LPAE systems. 2013-06-04 16:52:37 +01:00
hugetlb.h ARM: mm: HugeTLB support for LPAE systems. 2013-06-04 16:52:37 +01:00
hw_breakpoint.h ARM: 7948/1: hw_breakpoint: Add ARMv8 support 2014-02-10 11:48:05 +00:00
hw_irq.h ARM: 8218/1: warn if bad IRQ was scheduled 2014-11-27 16:15:33 +00:00
hwcap.h ARM: 7981/1: add support for AT_HWCAP2 ELF auxv entry 2014-02-25 11:40:48 +00:00
hypervisor.h
ide.h
idmap.h ARM: KVM: move to a KVM provided HYP idmap 2013-04-28 22:23:08 -07:00
insn.h ARM: kprobes: enable OPTPROBES for ARM 32 2015-01-13 16:10:17 +00:00
io.h ARM: Use include/asm-generic/io.h 2014-11-10 15:59:23 +01:00
irq_work.h arm: Tell irq work about self IPI support 2014-09-13 18:38:39 +02:00
irq.h arm: Move the set_handle_irq and handle_arch_irq declarations to asm/irq.h 2013-03-26 16:11:20 +00:00
irqflags.h ARM: Add base support for ARMv7-M 2013-04-17 21:38:10 +02:00
jump_label.h jump_label: Allow asm/jump_label.h to be included in assembly 2015-04-09 09:40:23 +02:00
Kbuild ARM: 8329/1: miscellaneous vdso infrastructure, preparation 2015-03-27 22:20:45 +00:00
kexec.h
kgdb.h ARM: kdgb: use <asm/opcodes.h> for data to be assembled as intruction 2013-10-19 20:46:35 +01:00
kmap_types.h
kprobes.h ARM: optprobes: execute instruction during restoring if possible. 2015-01-14 12:24:52 +00:00
kvm_arm.h arm/arm64: KVM: Implement Stage-2 page aging 2015-03-12 22:34:43 +01:00
kvm_asm.h KVM: arm: Add ARMv7 API to flush TLBs 2015-01-16 14:40:14 +01:00
kvm_coproc.h KVM: ARM: User space API for getting/setting co-proc registers 2013-01-23 13:29:14 -05:00
kvm_emulate.h Fairly small update, but there are some interesting new features. 2015-02-13 09:55:09 -08:00
kvm_host.h arm/arm64: KVM: Implement Stage-2 page aging 2015-03-12 22:34:43 +01:00
kvm_mmio.h KVM: arm/arm64: rework MMIO abort handling to use KVM MMIO bus 2015-03-30 17:07:19 +01:00
kvm_mmu.h arm64: KVM: Do not use pgd_index to index stage-2 pgd 2015-03-11 14:24:36 +01:00
kvm_psci.h ARM/ARM64: KVM: Make kvm_psci_call() return convention more flexible 2014-04-30 04:18:57 -07:00
limits.h
linkage.h
mach-types.h
mc146818rtc.h
mcpm.h ARM: 8240/1: MCPM: document mcpm_sync_init() 2014-12-03 16:00:06 +00:00
mcs_spinlock.h ARM: 8098/1: mcs lock: implement wfe-based polling for MCS locking 2014-07-18 12:29:35 +01:00
memblock.h ARM: 8025/1: Get rid of meminfo 2014-06-01 01:17:12 +01:00
memory.h ARM: Use include/asm-generic/io.h 2014-11-10 15:59:23 +01:00
mmu_context.h ARM: 7790/1: Fix deferred mm switch on VIVT processors 2013-07-26 12:02:09 +01:00
mmu.h ARM: 8329/1: miscellaneous vdso infrastructure, preparation 2015-03-27 22:20:45 +00:00
module.h ARM: 7829/1: Add ".text.unlikely" and ".text.hot" to arm unwind tables 2013-09-02 13:49:47 +01:00
mpu.h ARM: mpu: protect the vectors page with an MPU region 2013-06-17 15:13:18 +01:00
mtd-xip.h
mutex.h
neon.h ARM: add support for kernel mode NEON 2013-07-08 22:08:51 +01:00
nwflash.h
opcodes-sec.h ARM: opcodes: add opcodes definitions for ARM security extensions 2013-01-10 21:10:20 +00:00
opcodes-virt.h ARM: opcodes: add __ERET/__MSR_ELR_HYP instruction encoding 2012-09-19 08:32:49 +01:00
opcodes.h ARM: opcodes: add missing include of linux/linkage.h 2013-01-10 21:10:20 +00:00
outercache.h ARM: 8260/1: l2c: Add interface to ask hypervisor to configure L2C 2015-01-16 14:35:31 +00:00
page-nommu.h
page.h ARM: make vectors page inaccessible from userspace 2013-08-01 14:31:58 +01:00
patch.h ARM: probes: move all probe code to dedicate directory 2015-01-09 09:36:50 +00:00
pci.h ARM/PCI: Move to generic PCI domains 2014-12-27 18:19:18 -07:00
percpu.h ARM: 8174/1: Use global stack register variable for percpu 2014-11-13 23:58:06 +00:00
perf_event.h arm: perf: factor out callchain code 2014-10-30 12:16:58 +00:00
pgalloc.h ARM: 8235/1: Support for the PXN CPU feature on ARMv7 2014-12-03 15:57:45 +00:00
pgtable-2level-hwdef.h ARM: 8235/1: Support for the PXN CPU feature on ARMv7 2014-12-03 15:57:45 +00:00
pgtable-2level-types.h
pgtable-2level.h arm: define __PAGETABLE_PMD_FOLDED for !LPAE 2015-02-11 17:06:04 -08:00
pgtable-3level-hwdef.h ARM: 8235/1: Support for the PXN CPU feature on ARMv7 2014-12-03 15:57:45 +00:00
pgtable-3level-types.h
pgtable-3level.h Fairly small update, but there are some interesting new features. 2015-02-13 09:55:09 -08:00
pgtable-hwdef.h
pgtable-nommu.h mm: make FIRST_USER_ADDRESS unsigned long on all archs 2015-02-11 17:06:03 -08:00
pgtable.h arm: drop L_PTE_FILE and pte_file()-related helpers 2015-02-10 14:30:31 -08:00
pmu.h ARM: pmu: add support for interrupt-affinity property 2015-03-24 15:07:57 +00:00
probes.h ARM: optprobes: execute instruction during restoring if possible. 2015-01-14 12:24:52 +00:00
proc-fns.h Merge branch 'for-rmk/lpae' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into devel-stable 2013-06-18 20:11:32 +01:00
processor.h arch, locking: Ciao arch_mutex_cpu_relax() 2014-07-17 12:32:47 +02:00
procinfo.h
prom.h of/fdt: move memreserve and dtb memory reservations into core 2014-04-30 00:59:17 -05:00
psci.h arm: Fix compile warning for psci 2014-05-27 15:58:49 +02:00
ptrace.h ARM: 8175/1: Use current_stack_pointer to calculate pt_regs address 2014-11-13 23:58:07 +00:00
seccomp.h
setup.h ARM: 8025/1: Get rid of meminfo 2014-06-01 01:17:12 +01:00
shmparam.h
signal.h arm: switch to generic old sigaction() 2013-02-03 18:15:47 -05:00
smp_plat.h ARM: 8338/1: kexec: Relax SMP validation to improve DT compatibility 2015-04-02 09:59:43 +01:00
smp_scu.h ARM: make it easier to check the CPU part number correctly 2014-07-18 12:29:02 +01:00
smp_twd.h ARM: smp_twd: convert to use CLKSRC_OF init 2013-03-11 08:42:08 -05:00
smp.h ARM: 8131/1: arm/smp: Absorb boot_secondary() 2014-08-27 15:44:13 +01:00
sparsemem.h
spinlock_types.h ARM: locks: prefetch the destination word for write prior to strex 2013-09-30 16:42:55 +01:00
spinlock.h arm/spinlock: Replace ACCESS_ONCE with READ_ONCE 2014-12-18 09:54:40 +01:00
stackprotector.h
stacktrace.h ARM: 8070/1: Introduce arm_get_current_stack_frame() 2014-07-18 12:29:11 +01:00
string.h
suspend.h ARM: kernel: implement stack pointer save array through MPIDR hashing 2013-06-20 11:24:11 +01:00
swab.h UAPI: (Scripted) Disintegrate arch/arm/include/asm 2012-10-12 13:05:52 +01:00
switch_to.h ARM: spinlock: use inner-shareable dsb variant prior to sev instruction 2013-08-12 12:25:45 +01:00
sync_bitops.h ARM: 7989/1: Delete asm/system.h 2014-02-25 11:33:37 +00:00
syscall.h ARM: 8152/1: Convert pr_warning to pr_warn 2014-09-26 14:39:53 +01:00
system_info.h ARM: Add base support for ARMv7-M 2013-04-17 21:38:10 +02:00
system_misc.h reboot: arm: change reboot_mode to use enum reboot_mode 2013-07-09 10:33:29 -07:00
tcm.h
therm.h
thread_info.h all arches, signal: move restart_block to struct task_struct 2015-02-12 18:54:12 -08:00
thread_notify.h
timex.h ARM: drop <mach/timex.h> for !ARCH_MULTIPLATFORM, too 2013-12-20 17:17:16 +01:00
tlb.h arm: mm: enable HAVE_RCU_TABLE_FREE logic 2014-10-09 22:26:01 -04:00
tlbflush.h ARM: 7855/1: Add check for Cortex-A15 errata 798181 ECO 2013-10-29 11:06:13 +00:00
tls.h ARM: 8178/1: fix set_tls for !CONFIG_KUSER_HELPERS 2014-09-30 16:55:23 +01:00
topology.h sched: Remove unused mc_capable() and smt_capable() 2014-03-11 12:05:45 +01:00
traps.h
trusted_foundations.h ARM: trusted_foundations: fix compile error on non-SMP 2014-05-23 21:28:11 +02:00
types.h ARM: 7822/1: add workaround for ambiguous C99 stdint.h types 2013-08-25 17:09:46 +01:00
uaccess.h ARM: 8322/1: keep .text and .fixup regions closer together 2015-03-29 23:11:56 +01:00
ucontext.h
unified.h ARM: 8327/1: zImage: add support for ARMv7-M 2015-03-28 16:54:53 +00:00
unistd.h ARM: wire up getrandom syscall 2014-08-09 14:07:53 +01:00
unwind.h
uprobes.h ARM: add uprobes support 2014-03-18 16:39:40 -04:00
user.h
v7m.h ARM: 7828/1: ARMv7-M: implement restart routine common to all v7-M machines 2013-09-02 13:49:29 +01:00
vdso_datapage.h ARM: 8329/1: miscellaneous vdso infrastructure, preparation 2015-03-27 22:20:45 +00:00
vdso.h ARM: 8329/1: miscellaneous vdso infrastructure, preparation 2015-03-27 22:20:45 +00:00
vfp.h ARM: 8197/1: vfp: Fix VFPv3 hwcap detection on CPUID based cpus 2014-11-21 15:24:43 +00:00
vfpmacros.h ARM: 7566/1: vfp: fix save and restore when running on pre-VFPv3 and CONFIG_VFPv3 set 2012-10-29 10:04:05 +00:00
vga.h
virt.h ARM: 7787/1: virt: ensure visibility of __boot_cpu_mode 2013-07-26 12:01:17 +01:00
word-at-a-time.h ARM: 8322/1: keep .text and .fixup regions closer together 2015-03-29 23:11:56 +01:00
xor.h ARM: crypto: add NEON accelerated XOR implementation 2013-07-08 22:09:06 +01:00