xen-ia64-devel
RE: [Xen-ia64-devel] Xen/IPF Unstable CS#18694, Linux#706, ioemu#b4d410a
To: |
"Zhang, Xiantao" <xiantao.zhang@xxxxxxxxx>, Isaku Yamahata <yamahata@xxxxxxxxxxxxx>, "Zhang, Jingke" <jingke.zhang@xxxxxxxxx> |
Subject: |
RE: [Xen-ia64-devel] Xen/IPF Unstable CS#18694, Linux#706, ioemu#b4d410a1.. Status --- 1 new |
From: |
"Zhang, Xiantao" <xiantao.zhang@xxxxxxxxx> |
Date: |
Thu, 30 Oct 2008 23:07:56 +0800 |
Accept-language: |
en-US |
Acceptlanguage: |
en-US |
Cc: |
"xen-ia64-devel@xxxxxxxxxxxxxxxxxxx" <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx> |
Delivery-date: |
Thu, 30 Oct 2008 08:08:03 -0700 |
Envelope-to: |
www-data@xxxxxxxxxxxxxxxxxxx |
In-reply-to: |
<706158FABBBA044BAD4FE898A02E4BC2140C861C@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> |
List-help: |
<mailto:xen-ia64-devel-request@lists.xensource.com?subject=help> |
List-id: |
Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com> |
List-post: |
<mailto:xen-ia64-devel@lists.xensource.com> |
List-subscribe: |
<http://lists.xensource.com/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe> |
List-unsubscribe: |
<http://lists.xensource.com/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe> |
References: |
<BB1F052FCDB1EA468BD99786C8B1ED2C01CD50C3AA@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20081030025926.GD18021%yamahata@xxxxxxxxxxxxx> <706158FABBBA044BAD4FE898A02E4BC2140C861C@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> |
Sender: |
xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx |
Thread-index: |
Ack6O4utn+xwYHU0Ssi8aO7kXxEHQwAHSqtQABH/l0A= |
Thread-topic: |
[Xen-ia64-devel] Xen/IPF Unstable CS#18694, Linux#706, ioemu#b4d410a1.. Status --- 1 new |
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
fix-vga-abnormal.patch
Description: fix-vga-abnormal.patch
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-ia64-devel] Xen/IPF Unstable CS#18694, Linux#706, ioemu#b4d410a1.. Status --- 1 new, Zhang, Jingke
- Re: [Xen-ia64-devel] Xen/IPF Unstable CS#18694, Linux#706, ioemu#b4d410a1.. Status --- 1 new, Isaku Yamahata
- RE: [Xen-ia64-devel] Xen/IPF Unstable CS#18694, Linux#706, ioemu#b4d410a1.. Status --- 1 new, Zhang, Xiantao
- RE: [Xen-ia64-devel] Xen/IPF Unstable CS#18694, Linux#706, ioemu#b4d410a1.. Status --- 1 new,
Zhang, Xiantao <=
- Re: [Xen-ia64-devel] Xen/IPF Unstable CS#18694, Linux#706, ioemu#b4d410a1.. Status --- 1 new, Isaku Yamahata
- RE: [Xen-ia64-devel] Xen/IPF Unstable CS#18694, Linux#706, ioemu#b4d410a1.. Status --- 1 new, Zhang, Xiantao
- RE: [Xen-ia64-devel] Xen/IPF Unstable CS#18694, Linux#706, ioemu#b4d410a1.. Status --- 1 new, Zhang, Xiantao
|
Previous by Date: |
RE: [Xen-ia64-devel] Xen/IPF Unstable CS#18694, Linux#706, ioemu#b4d410a1.. Status --- 1 new, Zhang, Xiantao |
Next by Date: |
Re: [Xen-ia64-devel] Xen/IPF Unstable CS#18694, Linux#706, ioemu#b4d410a1.. Status --- 1 new, Isaku Yamahata |
Previous by Thread: |
RE: [Xen-ia64-devel] Xen/IPF Unstable CS#18694, Linux#706, ioemu#b4d410a1.. Status --- 1 new, Zhang, Xiantao |
Next by Thread: |
Re: [Xen-ia64-devel] Xen/IPF Unstable CS#18694, Linux#706, ioemu#b4d410a1.. Status --- 1 new, Isaku Yamahata |
Indexes: |
[Date]
[Thread]
[Top]
[All Lists] |
|
|