Re: [PATCH] reserve end-of-conventional-memory to 1MB on 32-bit

Alexander van Heukelum
2008-02-29T18:57:10Z

On Fri, 29 Feb 2008 10:44:36 -0800, "H. Peter Anvin" <hpa@zytor.com>
said:
> Alexander van Heukelum wrote:
> >
> > My first guess is that the BIOS data area is completely non-existent for
> > Xen.
> > Is it guaranteed that the memory is zeroed out on boot? In that case we
> > can
> > special-case it easily:
> >
> > change:
> > /* Paranoia: should never happen, but... */
> > if (lowmem >= 0x100000)
> > lowmem = 0xa0000;
> >
> > into:
> > /* Strange case, like Xen ;) */
> > if (lowmem == 0 || lowmem >= 0x100000)
> > lowmem = 0x9f000;
> >
> > Can you test that?
> >
>
> The EBDA is optional anyway; I presume it should have a zero pointer if
> it isn't present.

Correct, but the value that indicates the size of the conventional
memory
area must be set. At least on any real hardware. My guess is that both
values read as 0 on Xen, which causes 0-0x100000 to be reserved. If that
is always the case the workaround is fine, I think.

Alexander

> -hpa
--
Alexander van Heukelum
heukelum@fastmail.fm

--
http://www.fastmail.fm - mmm... Fastmail...