|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] [RFC] change provided physical RAM map to add EBDA
On Thu, 2007-03-15 at 08:45 +0000, Guillaume Thouvenin wrote:
> On Wed, Mar 14, 2007 at 12:25:07PM +0000, Ian Campbell wrote:
> > >
> > > Does it make sense to add support for EBDA in dom0 by changing the
> > > physical map?
> > > If not, what is the more appropriate solution to get information found in
> > > EBDA area
> > > from dom0?
> >
> > Isn't the EBDA region at a known location? bios_ebda.h suggests that it
> > is always at 0x40e0. In which case can't you just ioremap it?
>
> Yes I think you're right, EBDA seems always located at 0x40E in physical
> memory.
That's segment 0x40e I think -- therefore address 0x40e0.
> I don' think that I can use ioremap because it is used to remap
> I/O memory into kernel address space and it's not exactly what I need
> here.
I think it is precisely what you need here. You want to map a machine
physical region of memory into the kernel. Because we register I/O
resources base on machine_e820 (i.e. the real physical e820 map) in
domain 0 ioremap will map real physical regions as required.
> > If not then have a look at machine_e820 in i386 setup-xen.c (e820-xen.c
> > on x86_64 I think) -- this is the real underlying e820 which is used to
> > register the real physical memory resources in domain 0. Does this
> > already contain the region you are talking about?
>
> It contains the region in linux but when it is compiled for xen (I mean
> with CONFIG_XEN defined) all ebda stuff is just removed. So, as far as I
> understand, in domain0 the ebda is not set.
The only stuff I see which is commented out is quirk handling for
certain Dell machines which don't correctly reserve the EBDA area in the
e820. If you have such a machine then you will need to re-enable this
and make it act on machine_e820 instead of the regular e820. For all
other machines it shouldn't matter.
> > Or do you mean to
> > create a completely artificial region that doesn't exist on real
> > hardware?
>
> My idea is to map the real memory region that contains EBDA to dom0. So
> dom0 will see the real machine memory region under 640Ko (0xa0000) in is
> own physical map.
This map already exits -- it is the machine_e820 map.
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|