kernel-fxtec-pro1x/arch/arm64/include/asm
Andre Przywara 950324ab81 KVM: arm/arm64: rework MMIO abort handling to use KVM MMIO bus
Currently we have struct kvm_exit_mmio for encapsulating MMIO abort
data to be passed on from syndrome decoding all the way down to the
VGIC register handlers. Now as we switch the MMIO handling to be
routed through the KVM MMIO bus, it does not make sense anymore to
use that structure already from the beginning. So we keep the data in
local variables until we put them into the kvm_io_bus framework.
Then we fill kvm_exit_mmio in the VGIC only, making it a VGIC private
structure. On that way we replace the data buffer in that structure
with a pointer pointing to a single location in a local variable, so
we get rid of some copying on the way.
With all of the virtual GIC emulation code now being registered with
the kvm_io_bus, we can remove all of the old MMIO handling code and
its dispatching functionality.

I didn't bother to rename kvm_exit_mmio (to vgic_mmio or something),
because that touches a lot of code lines without any good reason.

This is based on an original patch by Nikolay.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Cc: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2015-03-30 17:07:19 +01:00
..
xen xen/arm/arm64: merge xen/mm32.c into xen/mm.c 2014-12-04 12:41:53 +00:00
alternative-asm.h arm64: add Cortex-A53 cache errata workaround 2014-11-25 15:56:21 +00:00
alternative.h arm64: add module support for alternatives fixups 2014-12-04 10:28:24 +00:00
arch_timer.h arm64: fix missing linux/bug.h include in asm/arch_timer.h 2015-01-07 11:40:59 +00:00
asm-offsets.h
assembler.h
atomic.h locking,arch: Use ACCESS_ONCE() instead of cast to volatile in atomic_read() 2014-10-03 06:06:23 +02:00
barrier.h arch: Add lightweight memory barriers dma_rmb() and dma_wmb() 2014-12-11 21:15:06 -05:00
bitops.h
bitrev.h ARM: 8189/1: arm64:add bitrev.h file to support rbit instruction 2014-12-22 16:47:32 +00:00
cache.h arm64: Implement support for read-mostly sections 2014-12-03 10:19:35 +00:00
cacheflush.h arm64: add better page protections to arm64 2015-01-22 14:54:29 +00:00
cachetype.h arm64: kernel: add support for cpu cache information 2015-01-15 11:55:07 +00:00
cmpxchg.h arm64: percpu: Implement this_cpu operations 2014-11-20 12:05:18 +00:00
compat.h arm64: compat: Remove incorrect comment in compat_siginfo 2015-02-02 16:44:39 +00:00
compiler.h
cpu.h arm64: sanity checks: add missing AArch32 registers 2015-01-07 11:40:58 +00:00
cpu_ops.h arm64: kernel: remove ARM64_CPU_SUSPEND config option 2015-01-27 11:35:33 +00:00
cpufeature.h arm64: Track system support for mixed endian EL0 2015-01-23 17:02:19 +00:00
cpuidle.h arm64: kernel: remove ARM64_CPU_SUSPEND config option 2015-01-27 11:35:33 +00:00
cputable.h
cputype.h arm64: Emulate SETEND for AArch32 tasks 2015-01-23 17:11:44 +00:00
debug-monitors.h arm64: Fix typos in KGDB macros 2014-09-25 15:35:41 +01:00
device.h arm64: introduce is_device_dma_coherent 2014-12-04 12:41:49 +00:00
dma-mapping.h arm64: Combine coherent and non-coherent swiotlb dma_ops 2015-01-23 16:43:55 +00:00
dmi.h arm64: dmi: Add SMBIOS/DMI support 2014-11-05 09:03:25 +01:00
efi.h arm64/efi: move virtmap init to early initcall 2015-01-22 14:59:25 +00:00
elf.h arm64: ASLR: Don't randomise text when randomise_va_space == 0 2014-10-24 15:47:49 +01:00
esr.h arm/arm64: KVM: Implement Stage-2 page aging 2015-03-12 22:34:43 +01:00
exception.h
exec.h
fb.h
fixmap.h arm64: use fixmap for text patching 2015-01-22 11:50:56 +00:00
fpsimd.h
fpsimdmacros.h arm64: Avoid breakage caused by .altmacro in fpsimd save/restore macros 2015-01-29 17:24:39 +00:00
ftrace.h
futex.h
hardirq.h smp, ARM64: Kill SMP single function call interrupt 2015-01-23 18:06:47 +00:00
hugetlb.h
hw_breakpoint.h arm64: ptrace: fix compat hardware watchpoint reporting 2014-08-28 20:01:36 +01:00
hwcap.h arm64: Add COMPAT_HWCAP_LPAE 2014-11-17 10:43:42 +00:00
hypervisor.h
insn.h arm64: Emulate CP15 Barrier instructions 2014-11-20 16:34:48 +00:00
io.h arm64: Fix overlapping VA allocations 2015-01-23 14:13:14 +00:00
irq.h arm64/include/asm: Fixed a warning about 'struct pt_regs' 2014-12-04 10:10:59 +00:00
irq_work.h arm64: Fix compilation error on UP builds 2014-10-21 17:01:07 +01:00
irqflags.h
jump_label.h
Kbuild Merge branch 'irq-irqdomain-arm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-12-15 17:30:09 -08:00
kgdb.h arm64: Fix typos in KGDB macros 2014-09-25 15:35:41 +01:00
kvm_arm.h arm/arm64: KVM: Implement Stage-2 page aging 2015-03-12 22:34:43 +01:00
kvm_asm.h KVM: arm64: ARMv8 header changes for page logging 2015-01-16 14:42:48 +01:00
kvm_coproc.h arm64: KVM: common infrastructure for handling AArch32 CP14/CP15 2014-07-11 04:57:44 -07: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 Fairly small update, but there are some interesting new features. 2015-02-13 09:55:09 -08:00
kvm_psci.h
linkage.h
memblock.h
memory.h arm64: Fix overlapping VA allocations 2015-01-23 14:13:14 +00:00
mmu.h arm64/efi: remove idmap manipulations from UEFI code 2015-01-12 16:29:32 +00:00
mmu_context.h
module.h
neon.h
opcodes.h arm64: Add AArch32 instruction set condition code checks 2014-11-20 16:33:45 +00:00
page.h arm64,ia64,ppc,s390,sh,tile,um,x86,mm: remove default gate area 2014-08-08 15:57:27 -07:00
pci.h arm64: Add architectural support for PCI 2014-09-30 17:08:57 -06:00
percpu.h arm64: percpu: Implement this_cpu operations 2014-11-20 12:05:18 +00:00
perf_event.h
pgalloc.h arm64: pgalloc: consistently use PGALLOC_GFP 2014-11-20 12:05:18 +00:00
pgtable-hwdef.h KVM: arm64: ARMv8 header changes for page logging 2015-01-16 14:42:48 +01:00
pgtable-types.h arm64: Remove asm/pgtable-*level-types.h files 2014-07-23 15:27:56 +01:00
pgtable.h Merge branch 'akpm' (patches from Andrew) 2015-02-11 18:23:28 -08:00
pmu.h
proc-fns.h arm64: convert part of soft_restart() to assembly 2014-09-08 14:39:18 +01:00
processor.h arm64: fix missing asm/pgtable-hwdef.h include in asm/processor.h 2015-01-07 11:40:58 +00:00
psci.h
ptrace.h arm64: Emulate SETEND for AArch32 tasks 2015-01-23 17:11:44 +00:00
seccomp.h arm64: add seccomp support 2014-11-28 10:24:59 +00:00
shmparam.h
signal32.h arm64: Use get_signal() signal_setup_done() 2014-08-06 12:56:16 +02:00
smp.h arm64: Tell irq work about self IPI support 2014-09-13 18:46:13 +02:00
smp_plat.h
sparsemem.h arm64: mm: update max pa bits to 48 2014-08-19 20:23:02 +01:00
spinlock.h arm64/spinlock: Replace ACCESS_ONCE READ_ONCE 2014-12-18 09:54:40 +01:00
spinlock_types.h
stackprotector.h arm64: Add CONFIG_CC_STACKPROTECTOR 2014-07-09 12:23:48 +01:00
stacktrace.h
stat.h
string.h
suspend.h arm64: kernel: remove ARM64_CPU_SUSPEND config option 2015-01-27 11:35:33 +00:00
sync_bitops.h
syscall.h arm64: Add audit support 2014-07-10 11:06:00 +01:00
sysreg.h arm64: gicv3: Allow GICv3 compilation with older binutils 2014-07-25 13:12:15 +01:00
system_misc.h
thread_info.h all arches, signal: move restart_block to struct task_struct 2015-02-12 18:54:12 -08:00
timex.h
tlb.h mmu_gather: move minimal range calculations into generic code 2014-11-17 10:12:42 +00:00
tlbflush.h arm64: fix soft lockup due to large tlb flush range 2014-07-24 18:41:13 +01:00
topology.h
traps.h arm64: Add support for hooks to handle undefined instructions 2014-11-20 16:33:43 +00:00
uaccess.h arm64: macro whitespace fixes 2015-01-13 15:23:53 +02:00
unistd.h arm64 updates for 3.20: 2015-02-11 18:03:54 -08:00
unistd32.h arm64: compat: wire up compat_sys_execveat 2015-01-12 16:46:21 +00:00
vdso.h
vdso_datapage.h
virt.h arm64: KVM: remove __kvm_hyp_code_{start,end} from hyp.S 2014-07-11 04:57:35 -07:00
word-at-a-time.h