linux_old1/arch/arm/kvm
Marc Zyngier 6a077e4ab9 ARM: KVM: perform save/restore of PAR
Not saving PAR is an unfortunate oversight. If the guest performs
an AT* operation and gets scheduled out before reading the result
of the translation from PAR, it could become corrupted by another
guest or the host.

Saving this register is made slightly more complicated as KVM also
uses it on the permission fault handling path, leading to an ugly
"stash and restore" sequence. Fortunately, this is already a slow
path so we don't really care. Also, Linux doesn't do any AT*
operation, so Linux guests are not impacted by this bug.

  [ Slightly tweaked to use an even register as first operand to ldrd
    and strd operations in interrupts_head.S - Christoffer ]

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2013-06-26 10:50:04 -07:00
..
Kconfig ARM: KVM: define KVM_ARM_MAX_VCPUS unconditionally 2013-04-28 22:23:14 -07:00
Makefile KVM: get rid of $(addprefix ../../../virt/kvm/, ...) in Makefiles 2013-05-19 15:14:00 +03:00
arm.c ARM: KVM: use phys_addr_t instead of unsigned long long for HYP PGDs 2013-06-26 10:50:03 -07:00
coproc.c ARM: KVM: perform save/restore of PAR 2013-06-26 10:50:04 -07:00
coproc.h ARM: KVM: convert GP registers from u32 to unsigned long 2013-03-06 15:48:42 -08:00
coproc_a15.c KVM: ARM: Emulation framework and CP15 emulation 2013-01-23 13:29:13 -05:00
emulate.c ARM: KVM: move kvm_handle_wfi to handle_exit.c 2013-03-06 15:48:45 -08:00
guest.c ARM: KVM: move kvm_target_cpu to guest.c 2013-03-06 15:48:44 -08:00
handle_exit.c ARM: KVM: Don't handle PSCI calls via SMC 2013-06-26 10:50:02 -07:00
init.S ARM: KVM: switch to a dual-step HYP init code 2013-04-28 22:23:10 -07:00
interrupts.S ARM: KVM: perform save/restore of PAR 2013-06-26 10:50:04 -07:00
interrupts_head.S ARM: KVM: perform save/restore of PAR 2013-06-26 10:50:04 -07:00
mmio.c ARM: KVM: don't special case PC when doing an MMIO 2013-06-26 10:50:03 -07:00
mmu.c ARM: KVM: get rid of S2_PGD_SIZE 2013-06-26 10:50:04 -07:00
perf.c ARM: KVM: add support for minimal host vs guest profiling 2013-04-28 21:44:01 -07:00
psci.c ARM: KVM: Don't handle PSCI calls via SMC 2013-06-26 10:50:02 -07:00
reset.c ARM: KVM: Allow host virt timer irq to be different from guest timer virt irq 2013-06-26 10:50:02 -07:00
trace.h KVM: ARM: Handle I/O aborts 2013-01-23 13:29:17 -05:00