[coreboot] Porting to Asus M4A785-M

Juhana Helovuo juhe at iki.fi
Thu Aug 26 22:23:38 CEST 2010

On Thu, 2010-08-26 at 09:40 -0600, Myles Watson wrote:

> It doesn't seem good that the Multiboot table gets written before the
> UMA and high table areas are added.  I would think that's why they
> don't show up.

Yes, that was it, thanks for the advice.

I checked with coreinfo, and multiboot table did not have a clue about
high tables area or UMA. Furthermore, it looked very much like the e820
table Linux was receiving.

Reading the source of multiboot table writer in Coreboot, it says in the
comments that adding reserved memory areas is not yet implemented.

Then I set out to implement that. I figured that the easiest way to get
the memory areas is to copy them from coreboot table. The problem in
this approach was that multiboot table is written to memory before
coreboot table is constructed, so there is nothing to copy. 

To get around this, I changed the writing order so that coreboot table
is written to memory first, and then multiboot table is copied from
that. I hope this does not break any specification.

In any case, this resulted in a working BIOS e820 memory map for Linux,
which can now be booted from Grub2.

I hope I could soon contribute a patch for this mainboard to the
Coreboot project, but first I have to clean the code I have mangled back
and forth.

Best Regards,
Juhana Helovuo

More information about the coreboot mailing list