[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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

  • To: "Li, Xin B" <xin.b.li@xxxxxxxxx>, "Xen Devel" <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • 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
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • 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.


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



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.