[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |