> > 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'm glad it helped.
> 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. I'd suggest a separate patch for the multiboot tables fix. I'm looking forward to seeing how you fixed it. Thanks, Myles -- coreboot mailing list: [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

