linux/arch/arm/include/asm
Victor Kamensky 19b0e60a63 ARM: KVM: handle 64bit values passed to mrcc or from mcrr instructions in BE case
In some cases the mcrr and mrrc instructions in combination with the ldrd
and strd instructions need to deal with 64bit value in memory. The ldrd
and strd instructions already handle endianness within word (register)
boundaries but to get effect of the whole 64bit value represented correctly,
rr_lo_hi macro is introduced and is used to swap registers positions when
the mcrr and mrrc instructions are used. That has the effect of swapping
two words.

Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2014-07-11 04:57:38 -07:00
..
hardware ARM: l2c: trial at enabling some Cortex-A9 optimisations 2014-05-30 00:50:41 +01:00
mach Merge branches 'alignment', 'fixes', 'l2c' (early part) and 'misc' into for-next 2014-06-05 12:35:52 +01:00
xen arm,arm64/xen: introduce HYPERVISOR_suspend() 2014-05-12 17:20:24 +01:00
arch_timer.h ARM: arch_timer: add support to configure and enable event stream 2013-09-26 09:47:26 +01:00
asm-offsets.h
assembler.h ARM: 8053/1: kernel: sleep: restore HYP mode configuration in cpu_resume 2014-05-25 23:49:27 +01:00
atomic.h arch,arm: Convert smp_mb__*() 2014-04-18 11:40:32 +02:00
barrier.h arch,arm: Convert smp_mb__*() 2014-04-18 11:40:32 +02:00
bitops.h arch,arm: Convert smp_mb__*() 2014-04-18 11:40:32 +02: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: 8043/1: uprobes need icache flush after xol write 2014-05-25 23:48:45 +01: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 Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01: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 cpuidle: Add common time keeping and irq enabling 2012-03-21 01:59:40 -04:00
cputype.h Merge branches 'alignment', 'fixes', 'l2c' (early part) and 'misc' into for-next 2014-06-05 12:35:52 +01: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: dma-mapping: Add macro to_dma_iommu_mapping() 2013-02-25 15:30:41 +01: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: dma: implement set_arch_dma_coherent_ops() 2014-05-07 09:21:44 -04:00
dma.h mm/memblock: add memblock memory allocation apis 2014-01-21 16:19:46 -08:00
domain.h ARM: fix set_domain() macro 2012-07-05 09:50:55 +01:00
ecard.h
edac.h
elf.h Move the EM_ARM and EM_AARCH64 definitions to uapi/linux/elf-em.h 2013-09-02 16:35:50 +01:00
entry-macro-multi.S
exception.h
fb.h
fiq.h
firmware.h ARM: firmware: add prepare_idle() operation 2014-02-18 13:46:42 -07:00
fixmap.h ARM: 8031/2: change fixmap mapping region to support 32 CPUs 2014-04-23 11:09:42 +01: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 ftrace: Make CALLER_ADDRx macros more generic 2014-05-21 03:10:32 -04:00
futex.h ARM: 7984/1: prefetch: add prefetchw invocations for barriered atomics 2014-02-25 11:30:20 +00: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 SoC specific changes 2013-07-02 13:43:38 -07:00
glue.h
gpio.h ARM: make mach/gpio.h headers optional 2012-09-14 09:21:59 -05: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
hwcap.h ARM: 7981/1: add support for AT_HWCAP2 ELF auxv entry 2014-02-25 11:40:48 +00:00
hypervisor.h arm: initial Xen support 2012-09-14 13:53:39 +00:00
ide.h
idmap.h ARM: KVM: move to a KVM provided HYP idmap 2013-04-28 22:23:08 -07:00
io.h ARM: 8060/1: mm: allow sub-architectures to override PCI I/O memory type 2014-06-01 01:15:04 +01: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 ARM: 7989/1: Delete asm/system.h 2014-02-25 11:33:37 +00:00
Kbuild ARM: 8047/1: rwsem: use asm-generic rwsem implementation 2014-05-30 01:12:25 +01: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 arm: remove km_type definitions 2012-07-24 15:27:28 +08:00
kprobes.h ARM: Make arch_specific_insn a define for new arch_probes_insn structure 2014-03-18 16:39:40 -04:00
kvm_arm.h ARM: KVM: trap VM system registers until MMU and caches are ON 2014-03-03 01:15:24 +00:00
kvm_asm.h ARM: KVM: handle 64bit values passed to mrcc or from mcrr instructions in BE case 2014-07-11 04:57:38 -07: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 A handful of fixes for KVM/arm64: 2013-11-11 12:05:20 +01:00
kvm_host.h arm64: KVM: split GICv2 world switch from hyp code 2014-07-11 04:57:36 -07:00
kvm_mmio.h KVM: ARM: Handle I/O aborts 2013-01-23 13:29:17 -05:00
kvm_mmu.h arm/arm64: KVM: Fix and refactor unmap_range 2014-07-11 04:46:51 -07: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 Merge branches 'alignment', 'fixes', 'l2c' (early part) and 'misc' into for-next 2014-06-05 12:35:52 +01:00
memblock.h ARM: 8025/1: Get rid of meminfo 2014-06-01 01:17:12 +01:00
memory.h Merge commit 'e26a9e0' into stable/for-linus-3.15 2014-04-28 10:31:04 +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: tlb: ASID macro should give 32bit result for BE correct operation 2013-10-19 20:46:36 +01: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 ARM: 7495/1: mutex: use generic atomic_dec-based implementation for ARMv6+ 2012-08-25 09:22:31 +01:00
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: l2c: remove old .set_debug method 2014-05-30 00:50:35 +01:00
page-nommu.h
page.h ARM: make vectors page inaccessible from userspace 2013-08-01 14:31:58 +01:00
pci.h PCI: Turn pcibios_penalize_isa_irq() into a weak function 2014-05-27 16:23:58 -06:00
percpu.h ARM: 7747/1: pcpu: ensure __my_cpu_offset cannot be re-ordered across barrier() 2013-06-05 23:35:56 +01:00
perf_event.h ARM: 7584/1: perf: fix link error when CONFIG_HW_PERF_EVENTS is not selected 2012-11-23 13:01:30 +00:00
pgalloc.h arm: handle pgtable_page_ctor() fail 2013-11-15 09:32:16 +09:00
pgtable-2level-hwdef.h
pgtable-2level-types.h
pgtable-2level.h ARM: 7954/1: mm: remove remaining domain support from ARMv6 2014-02-10 11:48:13 +00:00
pgtable-3level-hwdef.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
pgtable-3level-types.h
pgtable-3level.h ARM: 7950/1: mm: Fix stage-2 device memory attributes 2014-02-10 11:44:05 +00:00
pgtable-hwdef.h
pgtable-nommu.h consolidate io_remap_pfn_range definitions 2013-06-29 12:46:35 +04:00
pgtable.h ARM: 7985/1: mm: implement pte_accessible for faulting mappings 2014-02-25 11:32:40 +00:00
pmu.h ARM: perf: add hook for event index clearing 2014-02-21 11:11:08 +00:00
probes.h ARM: Make arch_specific_insn a define for new arch_probes_insn structure 2014-03-18 16:39:40 -04: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 ARM: prefetch: add support for prefetchw using pldw on SMP ARMv7+ CPUs 2013-09-30 16:42:55 +01: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 Merge branch 'uprobes-v7' of git://git.linaro.org/people/dave.long/linux into devel-stable 2014-03-19 20:15:46 +00:00
scatterlist.h
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: 7807/1: kexec: validate CPU hotplug support 2013-08-13 20:23:18 +01:00
smp_scu.h ARM: scu: provide inline dummy functions when SCU is not present 2013-07-04 05:10:51 -07:00
smp_twd.h ARM: smp_twd: convert to use CLKSRC_OF init 2013-03-11 08:42:08 -05:00
smp.h ARM: SoC specific changes 2014-04-05 14:19:54 -07: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: 7955/1: spinlock: ensure we have a compiler barrier before sev 2014-02-10 11:44:50 +00:00
stackprotector.h
stacktrace.h
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 audit: use uapi/linux/audit.h for AUDIT_ARCH declarations 2014-03-20 10:11:59 -04: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 ARM: add uprobes support 2014-03-18 16:39:40 -04: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 mm: split 'tlb_flush_mmu()' into tlb flushing and memory freeing parts 2014-04-25 16:05:40 -07: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: 7735/2: Preserve the user r/w register TPIDRURW on context switch and fork 2013-06-24 15:21:59 +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: 8051/1: put_user: fix possible data corruption in put_user 2014-05-25 23:44:25 +01:00
ucontext.h
unified.h ARM: smp_on_up: move inline asm ALT_SMP patching macro out of spinlock.h 2013-09-30 16:42:55 +01:00
unistd.h ARM: 8007/1: Remove extraneous kcmp syscall ignore 2014-03-19 20:20:37 +00: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
vfp.h
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: 7927/1: dcache: select DCACHE_WORD_ACCESS for big-endian CPUs 2013-12-29 12:46:50 +00:00
xor.h ARM: crypto: add NEON accelerated XOR implementation 2013-07-08 22:09:06 +01:00