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

RE: [Xen-devel] Taken fault at bad CS c000...


  • To: "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Tian, Kevin" <kevin.tian@xxxxxxxxx>
  • Date: Thu, 15 Feb 2007 16:36:31 +0800
  • Delivery-date: Thu, 15 Feb 2007 00:36:00 -0800
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcdPZd1PRiWiMh0hR6eatwo259HKHwAtlXJiACBkQ+AADtw0VQAAZhJg
  • Thread-topic: [Xen-devel] Taken fault at bad CS c000...

>From: Keir Fraser [mailto:Keir.Fraser@xxxxxxxxxxxx]
>Sent: 2007年2月15日 16:14
>
>Oh, hmmm, it may be that #GP(0) is a very common reason to exit VM86
>mode. I
>expect we print that line every time such an exit happens, and it may not
>actually be a bug at all. It may be that logging line is too noisy, even for
>debug logging level.
>
> -- Keir

Yeah, I just realized this point just now, since injecting GP for VM86 
mode also go through that path. So maybe instead we should avoid 
that print for vm86_mode at least, or else it's really annoying. But 
there's still something I didn't understand fully, and maybe you can 
help here.

My basic understanding is that Xen doesn't do much about VM86 
mode emulation, and still let monitor in xenlinux to handle that. I 
captured all cases which causes those prints, and found two 
classes:

1) Privileged instructions to be handled by xenlinux vm86 monitor, 
which is normal:
        - 9c (PUSHF)
        - 9d (POPF)
        - cf (IRET)
        - f4 (HLT)
 Seems that HLT is also not handled by xenlinux, and not sure 
whether that will cause any issue.

2) No permission on I/O ports (0xCF8/0xCFC, 0x20e0, 0x20e4) 
which is weird:
  Seems that this version of VGA bios will try to scan PCI bus. 
0x20e0/0x20e4 is the I/O BAR configured for integrated graphics 
controller. However I printed all sys_ioperm, and found that Xorg 
only requests for [0x0-0x3ff],[0x40-0x43],[0x60-0x63]. Then each 
time when above ports are accessed within VM86 mode, 
guest_io_okay will fail since related bitmap bits are all 1s. So I'm 
interested that why X-windows can still work under such case. Do 
you know any path to enable I/O ports specially for VM86 mode?

Thanks,
Kevin

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


 


Rackspace

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