[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-ia64-devel] [PATCH] Fix vti guests broken issue.
Isaku Yamahata wrote: > On Fri, Nov 07, 2008 at 11:33:43AM +0800, Zhang, Xiantao wrote: >> But another thing to meation, why mfn_valid with invalid parameter >> will incur the fault? Seems mfn_valid has something wrong, I have >> no enough time to find the cause. Is it a known issue ? Or >> mfn_valid has some limitation ? > > mfn_valid() with invalid parameter shouldn't cause panic. > It may cause tlb miss fault, but the fault should be handled specially > by frametable_fault in ivt.S and should be recovered resulting > in mfn_valid() returning false. > > I agree with you that there's something wrong in mfn_valid() > I haven't aware of the issue. Okay, if so, frametable_fault maybe not handled in a correct way in vmx_ivt.S. Xiantao > thanks, > >> Thanks >> Xiantao >> >> Zhang, Xiantao wrote: >>> Yes. Should be addressed. >>> >>> -----Original Message----- >>> From: Isaku Yamahata [mailto:yamahata@xxxxxxxxxxxxx] >>> Sent: Friday, November 07, 2008 11:03 AM >>> To: Zhang, Xiantao >>> Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx >>> Subject: Re: [Xen-ia64-devel] [PATCH] Fix vti guests broken issue. >>> >>> Oh, my bad. Thank you for debugging. >>> I applied and pushed out. >>> Does this fixed the issue you repoted? >>> >>> thanks, >>> >>> On Fri, Nov 07, 2008 at 10:42:57AM +0800, Zhang, Xiantao wrote: >>>> PATCH : Fix vti guests broken issue. >>>> mfn_valid should use machine physical pfn, not guest physical pfn. >>>> >>>> Sign-off-by: Xiantao Zhang <xiantao.zhang@xxxxxxxxx> >>>> >>>> >>>> diff -r f6795589ef82 xen/arch/ia64/vmx/vtlb.c >>>> --- a/xen/arch/ia64/vmx/vtlb.c Thu Nov 06 12:14:57 2008 +0900 >>>> +++ b/xen/arch/ia64/vmx/vtlb.c Fri Nov 07 10:35:11 2008 +0800 >>>> @@ -522,7 +522,7 @@ static u64 translate_phy_pte(VCPU *v, u6 >>>> * which is required by vga acceleration since qemu maps >>>> shared >>>> * vram buffer with WB. >>>> */ >>>> - if (mfn_valid(pte_pfn(__pte(pte))) && phy_pte.ma != >>>> VA_MATTR_NATPAGE) + if (mfn_valid(pte_pfn(__pte(maddr))) && >>>> phy_pte.ma != VA_MATTR_NATPAGE) phy_pte.ma = VA_MATTR_WB; >>>> >>>> maddr = ((maddr & _PAGE_PPN_MASK) & PAGE_MASK) | (paddr & >>>> ~PAGE_MASK); >>> >>>> _______________________________________________ >>>> Xen-ia64-devel mailing list >>>> Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx >>>> http://lists.xensource.com/xen-ia64-devel _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |