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


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

To: "Petersson, Mats" <Mats.Petersson@xxxxxxx>
Subject: Re: [Xen-devel] Re: X86_emulate to be moved into qemu...
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Thu, 18 May 2006 11:09:28 +0100
Cc: Xen devel list <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Thu, 18 May 2006 03:09:50 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <907625E08839C4409CE5768403633E0BA7FC8B@xxxxxxxxxxxxxxxxx>
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>
References: <907625E08839C4409CE5768403633E0BA7FC8B@xxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx

On 18 May 2006, at 10:50, Petersson, Mats wrote:

For the movs (in x86_emaulate.c) the segment override is currently
detected but ignored for protected mode operation (base is assumed to be
zero). This is why Minix doesn't work properly [or at all, really] -
admittedly, I don't think Minix is the most critical operating system in
the world, but one part of fixing this up is to avoid having to fix
furhter "weirdness" in various operating systems, right?

Well, the core logic calls out to a macro that then ignores the base. The obvious thing to do is have add a new call-out hook in struct x86_mem_emulator to read base address of a specified selector. Or we could simply pass them in as an array, perhaps as structs allowing us to determine other useful info like stack segment address size.

If we do that then we get rid of all real vs. protected mode segmentation differences in the core emulator. We always call out or read from the array. That gets us support for big real mode too.

If you want to add extensions or flexibility to x86_emulate for this stuff, please try to trickle piecemeal patches to me. I prefer that to big-bang uber patches. I can also make sure it integrates properly with current uses of the emulator.

 -- Keir

  -- Keir

What header files are those? It builds in tools/test/
without so many
header files.
'hg status' says:

I'll fix that.

Ok, thanks.

Xen-devel mailing list