diff options
author | Hollis Blanchard <hollisb@us.ibm.com> | 2008-07-25 20:54:50 +0200 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2008-07-27 11:02:05 +0200 |
commit | cc04454fa81e93b5f1b5133950331639d2f59f85 (patch) | |
tree | adc2c214ccfc66dd097ec9c71f2995e65acc565a /arch/powerpc/kvm/emulate.c | |
parent | KVM: s390: Fix possible host kernel bug on lctl(g) handling (diff) | |
download | linux-cc04454fa81e93b5f1b5133950331639d2f59f85.tar.xz linux-cc04454fa81e93b5f1b5133950331639d2f59f85.zip |
KVM: ppc: fix invalidation of large guest pages
When guest invalidates a large tlb map, there may be more than one
corresponding shadow tlb maps that need to be invalidated. Use eaddr and eend
to find these shadow tlb maps.
Signed-off-by: Liu Yu <yu.liu@freescale.com>
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'arch/powerpc/kvm/emulate.c')
-rw-r--r-- | arch/powerpc/kvm/emulate.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/kvm/emulate.c b/arch/powerpc/kvm/emulate.c index 000097461283..8c605d0a5488 100644 --- a/arch/powerpc/kvm/emulate.c +++ b/arch/powerpc/kvm/emulate.c @@ -137,7 +137,7 @@ static int kvmppc_emul_tlbwe(struct kvm_vcpu *vcpu, u32 inst) if (tlbe->word0 & PPC44x_TLB_VALID) { eaddr = get_tlb_eaddr(tlbe); asid = (tlbe->word0 & PPC44x_TLB_TS) | tlbe->tid; - kvmppc_mmu_invalidate(vcpu, eaddr, asid); + kvmppc_mmu_invalidate(vcpu, eaddr, get_tlb_end(tlbe), asid); } switch (ws) { |