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/
Home Products Support Community News


[Xen-devel] X86_emulate to be moved into qemu...

To: "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>
Subject: [Xen-devel] X86_emulate to be moved into qemu...
From: "Petersson, Mats" <Mats.Petersson@xxxxxxx>
Date: Wed, 17 May 2006 22:17:17 +0200
Cc: Xen devel list <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Wed, 17 May 2006 13:16:54 -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: AcZ5DEyGYa8c7xQMQRGkH3LcZ8McLwA4YvMg
Thread-topic: X86_emulate to be moved into qemu...
> Hmmm... wouldn't it be nice if we didn't have a bespoke, 
> buggy & incomplete emulator for hvm mmio. ;-)

In the process of solving this one, I've got to (another) of the
blocking points... 

At the moment, we translate the virtual address from the guest in the
page-fault-handler to guest physical address via the gva_to_gpa()
function in svm.c/vmx.c: xxx_do_page_fault(). 

When using x86_emulate.c inside qemu, we'd need to feed in the virtual
address, but we also need to translate to (guest-)physical address. Any
hints or tricks for this, or do I need to read the page-table and get
the info that way [and CAN I even do that]? [And I'm sorry if this shows
my complete and utter ignorance of how Xen and QEMU operates together,
but I'm afraid that I'm still learning these things]. 

Another interesting question is what we do with the dozen or so "new"
include-files that are needed to make x86_emulate.c compile inside the
tools/ioemu directory. At the moment, I've just created directories
inside tools/libxc and linked the necessary header files into those
directories... Is that the proper solution?


Xen-devel mailing list