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-devel

RE: [Xen-devel] [PATCH] an obvious fix to PIC IO intercept

To: "Li, Xin B" <xin.b.li@xxxxxxxxx>, "Xen Devel" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] [PATCH] an obvious fix to PIC IO intercept
From: "Li, Xin B" <xin.b.li@xxxxxxxxx>
Date: Sat, 14 Oct 2006 05:19:02 +0800
Delivery-date: Fri, 13 Oct 2006 14:19:32 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcbuMfZd+m00pUnBSgOFo1LNeBzEQQA2LCjw
Thread-topic: [Xen-devel] [PATCH] an obvious fix to PIC IO intercept
More detail on this PIC fix:
Before changeset 11684, we can boot 32bit Vista. But after 11684, we can not, 
and Vista gets blocked in halt instruction virtualization, which is a known 
issue. Then debug show:
1) only if removing a printk in send_pio_req will make it boot again.
2) Also we found if we compile xen with gcc 4.1.0, it can boot. Usually in our 
team we compile xen with gcc 3.4.X.

Then we believe the right thing is Vista can *not* boot.

The root cause is in PIC code.  The reason why Vista can boot is that PIT is 
not masked, but acturally Vista wants to mask it using OUTS, but because of the 
bug in PIC code, the virt address is converted to phys address twice, we get a 
wrong address of the mask value in guest momory :-(, so a random value is 
written into PIC mask register.
So some cases it can boot, some cases it can not.

-Xin


>-----Original Message-----
>From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx 
>[mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Li, Xin B
>Sent: 2006年10月13日 3:10
>To: Xen Devel
>Subject: [Xen-devel] [PATCH] an obvious fix to PIC IO intercept
>
>an obvious fix to PIC IO intercept.
>In PIC IO, address from send_pio_req is physical address already.
>
>Signed-off-by: Xiaohui Xin <xiaohui.xin@xxxxxxxxx>
>Signed-off-by: Xiaowei Yang <xiaowei.yang@xxxxxxxxx>
>Signed-off-by: Xin Li <xin.b.li@xxxxxxxxx>
>

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