diff options
author | Kevin Hilman <khilman@linaro.org> | 2015-08-04 10:11:52 -0700 |
---|---|---|
committer | Kevin Hilman <khilman@linaro.org> | 2015-08-04 10:11:52 -0700 |
commit | 69483e398f196d87ca3289f31ad3291bad94af60 (patch) | |
tree | 547d41fb7d28499738a4307790e9c45d1e082c68 /arch/arm64/include | |
parent | a32844ca3a02130d9c0166b65f54696dfaafc922 (diff) | |
parent | 863394fce1f2be8589396cd0684e6693ec89f295 (diff) |
Merge branch 'linux-linaro-lsk-v3.14' of https://git.linaro.org/people/shannon.zhao/linux-stable into linux-linaro-lsk-v3.14
Merge from Shannon Zhao: resolves conflicts between LTS v3.14.48 KVM and LSK KVM
* 'linux-linaro-lsk-v3.14' of https://git.linaro.org/people/shannon.zhao/linux-stable: (31 commits)
Linux 3.14.48
x86/iosf: Add Kconfig prompt for IOSF_MBI selection
arm/arm64: KVM: Keep elrsr/aisr in sync with software model
arm64: KVM: Do not use pgd_index to index stage-2 pgd
arm64: KVM: Fix HCR setting for 32bit guests
arm64: KVM: Fix TLB invalidation by IPA/VMID
arm/arm64: KVM: Require in-kernel vgic for the arch timers
vfs: Ignore unlocked mounts in fs_fully_visible
vfs: Remove incorrect debugging WARN in prepend_path
fs: Fix S_NOSEC handling
KVM: x86: make vapics_in_nmi_mode atomic
MIPS: Fix KVM guest fixmap address
x86/PCI: Use host bridge _CRS info on Foxconn K8M890-8237A
x86/PCI: Use host bridge _CRS info on systems with >32 bit addressing
powerpc/perf: Fix book3s kernel to userspace backtraces
arm: KVM: force execution of HCPTR access on VM exit
intel_pstate: set BYT MSR with wrmsrl_on_cpu()
iommu/amd: Handle large pages correctly in free_pagetable
Revert "crypto: talitos - convert to use be16_add_cpu()"
crypto: talitos - avoid memleak in talitos_alg_alloc()
...
Diffstat (limited to 'arch/arm64/include')
-rw-r--r-- | arch/arm64/include/asm/kvm_emulate.h | 2 | ||||
-rw-r--r-- | arch/arm64/include/asm/kvm_mmu.h | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/kvm_emulate.h b/arch/arm64/include/asm/kvm_emulate.h index 8127e45e2637..865a7e28ea2d 100644 --- a/arch/arm64/include/asm/kvm_emulate.h +++ b/arch/arm64/include/asm/kvm_emulate.h @@ -41,6 +41,8 @@ void kvm_inject_pabt(struct kvm_vcpu *vcpu, unsigned long addr); static inline void vcpu_reset_hcr(struct kvm_vcpu *vcpu) { vcpu->arch.hcr_el2 = HCR_GUEST_FLAGS; + if (test_bit(KVM_ARM_VCPU_EL1_32BIT, vcpu->arch.features)) + vcpu->arch.hcr_el2 &= ~HCR_RW; } static inline unsigned long *vcpu_pc(const struct kvm_vcpu *vcpu) diff --git a/arch/arm64/include/asm/kvm_mmu.h b/arch/arm64/include/asm/kvm_mmu.h index 0d51874c838f..15a8a861264a 100644 --- a/arch/arm64/include/asm/kvm_mmu.h +++ b/arch/arm64/include/asm/kvm_mmu.h @@ -69,6 +69,8 @@ #define PTRS_PER_S2_PGD (1 << (KVM_PHYS_SHIFT - PGDIR_SHIFT)) #define S2_PGD_ORDER get_order(PTRS_PER_S2_PGD * sizeof(pgd_t)) +#define kvm_pgd_index(addr) (((addr) >> PGDIR_SHIFT) & (PTRS_PER_S2_PGD - 1)) + int create_hyp_mappings(void *from, void *to); int create_hyp_io_mappings(void *from, void *to, phys_addr_t); void free_boot_hyp_pgd(void); |