From: awilliam@xenbuild.aw Date: Fri, 9 Jun 2006 16:35:45 +0000 (-0600) Subject: [IA64] A fix for itc.d emulation X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15978 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=e8525ec863e070867089df83d454127e2f6e0f3d;p=xen.git [IA64] A fix for itc.d emulation If natpage, insert into TLB directly. Signed-off-by: Zhang xiantao --- diff --git a/xen/arch/ia64/vmx/vmmu.c b/xen/arch/ia64/vmx/vmmu.c index 84db1441a1..3a91956b10 100644 --- a/xen/arch/ia64/vmx/vmmu.c +++ b/xen/arch/ia64/vmx/vmmu.c @@ -376,12 +376,14 @@ IA64FAULT vmx_vcpu_itc_d(VCPU *vcpu, UINT64 pte, UINT64 itir, UINT64 ifa) if (VMX_DOMAIN(vcpu)) { if (__gpfn_is_io(vcpu->domain, gpfn)) pte |= VTLB_PTE_IO; - else + else{ + if ((pte & _PAGE_MA_MASK)!=_PAGE_MA_NAT) /* Ensure WB attribute if pte is related to a normal mem page, * which is required by vga acceleration since qemu maps shared * vram buffer with WB. */ - pte &= ~_PAGE_MA_MASK; + pte &= ~_PAGE_MA_MASK; + } } thash_purge_and_insert(vcpu, pte, itir, ifa); return IA64_NO_FAULT;