WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ia64-devel

Re: [Xen-ia64-devel] Xen/IPF Unstable CS#18694, Linux#706, ioemu#b4d410a

Applied, thanks.

On Fri, Oct 31, 2008 at 10:03:59AM +0800, Zhang, Xiantao wrote:
> Here it is! :)
>  
> PATCH: Fix HVM VGA abnormal. 
> 
> Conversion from p2m entry to physical address, it needs to use
> _PAGE_PPN_MASK to mask out some bits which are used by other
> purposes by p2m entry.
> 
> Sign-off-by : Xiantao Zhang <xiantao.zhang@xxxxxxxxx>
> diff -r 4a5acf020c0f xen/arch/ia64/vmx/vtlb.c
> --- a/xen/arch/ia64/vmx/vtlb.c        Thu Oct 30 11:51:55 2008 +0900
> +++ b/xen/arch/ia64/vmx/vtlb.c        Thu Oct 30 21:57:38 2008 +0800
> @@ -522,7 +522,8 @@
>       * which is required by vga acceleration since qemu maps shared
>       * vram buffer with WB.
>       */
> -    if (mfn_valid(maddr >> PAGE_SHIFT) && phy_pte.ma != VA_MATTR_NATPAGE)
> +    if (mfn_valid((maddr & _PAGE_PPN_MASK) >> PAGE_SHIFT) 
> +                             && phy_pte.ma != VA_MATTR_NATPAGE)
>          phy_pte.ma = VA_MATTR_WB;
>  
>      maddr = ((maddr & _PAGE_PPN_MASK) & PAGE_MASK) | (paddr & ~PAGE_MASK);
> diff -r 4a5acf020c0f xen/arch/ia64/xen/mm.c
> --- a/xen/arch/ia64/xen/mm.c  Thu Oct 30 11:51:55 2008 +0900
> +++ b/xen/arch/ia64/xen/mm.c  Thu Oct 30 21:57:38 2008 +0800
> @@ -926,7 +926,8 @@
>      /* in HVM guest, when VTD is enabled,
>       * P2M entry may change from _PAGE_IO type to real MMIO page 
>       */
> -    if(VMX_DOMAIN(d->vcpu[0]) && (pte_val(ret_pte) & _PAGE_IO)) {
> +    if(is_hvm_domain(d) && (pte_val(ret_pte) & _PAGE_IO) && 
> +     !mfn_valid(physaddr >> PAGE_SHIFT)) {
>          old_pte = ret_pte;
>          goto again_hvm_page_io;
>      } 
> 
> -----Original Message-----
> From: Isaku Yamahata [mailto:yamahata@xxxxxxxxxxxxx] 
> Sent: Friday, October 31, 2008 9:46 AM
> To: Zhang, Xiantao
> Cc: Zhang, Jingke; xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
> Subject: Re: [Xen-ia64-devel] Xen/IPF Unstable CS#18694, Linux#706, 
> ioemu#b4d410a1.. Status --- 1 new
> 
> Oh great. Thank you for debugging.
> Could you provide your signed-off-by?
> 
> 
> On Thu, Oct 30, 2008 at 11:07:56PM +0800, Zhang, Xiantao wrote:
> > I found the reason why mfn_valid behaves abnormally.  We should mask out 
> > TLB_TRACK bits  from p2m entry before using it as mfn_valid's parameter. 
> > 
> > diff -r 4a5acf020c0f xen/arch/ia64/vmx/vtlb.c
> > --- a/xen/arch/ia64/vmx/vtlb.c      Thu Oct 30 11:51:55 2008 +0900
> > +++ b/xen/arch/ia64/vmx/vtlb.c      Thu Oct 30 21:57:38 2008 +0800
> > @@ -522,7 +522,8 @@
> >       * which is required by vga acceleration since qemu maps shared
> >       * vram buffer with WB.
> >       */
> > -    if (mfn_valid(maddr >> PAGE_SHIFT) && phy_pte.ma != VA_MATTR_NATPAGE)
> > +    if (mfn_valid((maddr & _PAGE_PPN_MASK) >> PAGE_SHIFT) 
> > +                           && phy_pte.ma != VA_MATTR_NATPAGE)
> >          phy_pte.ma = VA_MATTR_WB;
> >  
> >      maddr = ((maddr & _PAGE_PPN_MASK) & PAGE_MASK) | (paddr & ~PAGE_MASK);
> > diff -r 4a5acf020c0f xen/arch/ia64/xen/mm.c
> > --- a/xen/arch/ia64/xen/mm.c        Thu Oct 30 11:51:55 2008 +0900
> > +++ b/xen/arch/ia64/xen/mm.c        Thu Oct 30 21:57:38 2008 +0800
> > @@ -926,7 +926,8 @@
> >      /* in HVM guest, when VTD is enabled,
> >       * P2M entry may change from _PAGE_IO type to real MMIO page 
> >       */
> > -    if(VMX_DOMAIN(d->vcpu[0]) && (pte_val(ret_pte) & _PAGE_IO)) {
> > +    if(is_hvm_domain(d) && (pte_val(ret_pte) & _PAGE_IO) && 
> > +   !mfn_valid(physaddr >> PAGE_SHIFT)) {
> >          old_pte = ret_pte;
> >          goto again_hvm_page_io;
> >      }
> > 
> > 
> > 
> > Zhang, Xiantao wrote:
> > > Isaku Yamahata wrote:
> > >> On Wed, Oct 29, 2008 at 04:10:50PM +0800, Zhang, Jingke wrote:
> > >>> Hi all,
> > >>>     There is one new regression in Cset#18691. With latest
> > >>> Cset#18694, all the case can pass!
> > >>> 
> > >>>     One regression between Cset#18688 and Cset#18691: ==============
> > >>>     1. Qemu graphic mode display abnormally while booting
> > >>>         VTI_Windows and Linux-Xwin. This issue existed in either
> > >>> sdl=1 or vnc=1 mode. And this issue does not exist with Cset#18688.
> > >> 
> > >> Hmm, I suspect the change set 18689:7ad8c47f5c4b. But I'm not sure.
> > > Hi, Isaku
> > >   We found the cause,maybe rootcause.  18669 may has a poetentail
> > > issue, but doesn't lead to the issue.  We found valid_mfn() doesn't
> > > work in its way, and seems it is buggy.  I have no enough time to
> > > debug it, but the following patch should fix the current issue.   
> > > 
> > > diff -r a6b1be5a83de xen/arch/ia64/vmx/vtlb.c
> > > --- a/xen/arch/ia64/vmx/vtlb.c  Wed Oct 29 11:02:23 2008 +0900
> > > +++ b/xen/arch/ia64/vmx/vtlb.c  Thu Oct 30 13:47:08 2008 +0800
> > > @@ -522,7 +522,7 @@
> > >       * which is required by vga acceleration since qemu maps shared
> > >       * vram buffer with WB.
> > >       */
> > > -    if (mfn_valid(maddr >> PAGE_SHIFT) && phy_pte.ma ==
> > > VA_MATTR_NATPAGE) +    if (!(maddr >> 61) && phy_pte.ma ==
> > >          VA_MATTR_NATPAGE) phy_pte.ma = VA_MATTR_WB;
> > > 
> > >      maddr = ((maddr & _PAGE_PPN_MASK) & PAGE_MASK) | (paddr &
> > > ~PAGE_MASK); 
> > > 
> > > Xiantao
> > > _______________________________________________
> > > 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
> 


> _______________________________________________
> Xen-ia64-devel mailing list
> Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-ia64-devel

-- 
yamahata

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel

<Prev in Thread] Current Thread [Next in Thread>
  • Re: [Xen-ia64-devel] Xen/IPF Unstable CS#18694, Linux#706, ioemu#b4d410a1.. Status --- 1 new, Isaku Yamahata <=