[SeaBIOS] [Xen-devel] Re: [PATCH] SeaBIOS/Xen: Compute the low RAM memory size in the BDA according to the e820

Kevin O'Connor kevin at koconnor.net
Mon Nov 14 14:43:38 CET 2011


On Mon, Nov 14, 2011 at 01:23:41PM +0000, Keir Fraser wrote:
> On 14/11/2011 08:53, "Keir Fraser" <keir.xen at gmail.com> wrote:
> 
> > On 14/11/2011 03:36, "Kevin O'Connor" <kevin at koconnor.net> wrote:
> > 
> >> On Xen, the PCI init code isn't used, so assuming this struct doesn't
> >> need to live in real "ram", I think it could live just about anywhere
> >> past the end of ram.  Even with pciinit.c, addresses over 0xfc00000

Oops - that should have read 0xfec00000.

> >> (with the exception of a few bytes for hpet, apic, ioapic, and bios
> >> image) could be used.
> > 
> > I suggest we stick it at FC000000, and shift hvmloader's mem_alloc()

Since Xen lays out the PCI space (and assuming it wont put a PCI
device at that address) that should be fine.

> > starting address up by one page to FC001000. The acpi build code will have
> > to manually mem_hole_populate_ram() that one page before writing to it. This
> > can then be documented in hvmloader/config.h which contains a description
> > of, and defines for, the system memory map. This is by far the easiest
> > solution to this problem; manually crafting an SSDT is a right pain in the
> > arse, whereas this is maybe a 5-line patch.
> 
> Like the attached patch (untested), which is a bit larger than anticipated,
> but actually allows code to be net deleted. :-)

-Kevin



More information about the SeaBIOS mailing list