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] [RFC] change provided physical RAM map to add EBDA

To: Xen devel ML <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [RFC] change provided physical RAM map to add EBDA
From: Guillaume Thouvenin <guillaume.thouvenin@xxxxxxxxxxxx>
Date: Wed, 14 Mar 2007 11:02:38 +0000
Delivery-date: Wed, 14 Mar 2007 05:08:37 -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
User-agent: Mutt/1.5.13 (2006-08-11)

 When dom0 starts, we can see that Xen is provided a uniform pseudo physical
RAM map. For example for a dom0 with 1GB of RAM we can see:
    BIOS-provided physical RAM map:
    Xen: 0000000000000000 - 0000000040800000 (usable)

 If I need to use data provided by EBDA, is it possible to change how Xen 
provides information to dom0? My idea was to provide something like this:
    BIOS-provided physical RAM map:
    Xen: 0000000000000000 - 0000000000099000 (usable)
    Xen: 0000000000099000 - 00000000000a0000 (reserved for EBDA)
    Xen: 00000000000a0000 - 0000000040800000 (usable)

 where memory from 99000 to a0000 is a direct mapping to machine address. By
doing this, dom0 will be able to access the extended BIOS data area. This will
allow to port pieces of code that are using EBDA area. I'm thinking about
MP-table parsing routines found in arch/i386/kernel/mpparse.c or IBM summit
code found in arch/i386/kernel/summit.c. Also we can see in
arch/x86_64/kernel/setup-xen.c that currently the code that deals with ebda
is just removed.

 Does it make sense to add support for EBDA in dom0 by changing the physical 
If not, what is the more appropriate solution to get information found in EBDA 
from dom0?


Xen-devel mailing list