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] Taken fault at bad CS c000...

To: "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] Taken fault at bad CS c000...
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
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <C1F9C6B7.1F29%Keir.Fraser@xxxxxxxxxxxx>
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: 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