[coreboot] Porting to Asus M4A785-M

Myles Watson mylesgw at gmail.com
Thu Aug 26 17:40:42 CEST 2010


On Thu, Aug 26, 2010 at 9:31 AM, Juhana Helovuo <juhe at iki.fi> wrote:
> On Thu, 2010-08-19 at 14:39 -0600, Myles Watson wrote:
>> > It is still somewhat unclear where and how all of these memory maps are
>> > transmitted from Coreboot to Linux. I could not find the callback for
>> > BIOS e820 calls in Coreboot sources.
>>
>> Coreboot doesn't do callbacks.  If you're using SeaBIOS, it handles
>> the callbacks and gets the information from the Coreboot tables.
>> Grub2 got its information from the multiboot tables last time I
>> looked.
>
> Ok, I see. So there has to be a boot loader or BIOS between Coreboot and
> Linux to set up BIOS e820 callbacks, or find some other way to explain
> the memory layout to Linux.
>
>
>> Have you tried SeaBIOS again now that the UMA area and high tables are right?
>
> Yes, I just did. For some reason it still does not do anything at all.
> The last output I see is from Coreboot:
>
> Jumping to boot code at fdf82
> POST: 0xfe
> entry    = 0x000fdf82
> lb_start = 0x00200000
> lb_size  = 0x00128000
> adjust   = 0x6fcc8000
> buffer   = 0x6fda0000
>     elf_boot_notes = 0x00219e24
> adjusted_boot_notes = 0x6fee1e24
>
> Then nothing after this, both on serial port and VGA. The SeaBIOS image
> was precompiled 0.6.0 ELF from the SeaBIOS "home page".
>
> So far I have Grub2 more or less working, so is Coreinfo, and I can also
> get response (VGA & keyboard) from FILO, although it does not find my
> disks. Grub2 sees my IDE disk and cdrom as "ata6" and "ata7".

Multiboot Information structure has been written.
POST: 0x9d
Adding CBMEM entry as no. 5
Writing high table forward entry at 0x00000500
Wrote coreboot table at: 00000500 - 00000518  checksum 9fde
New low_table_end: 0x00000518
Now going to write high coreboot table at 0x7fffe000
rom_table_end = 0x7fffe000
Adjust low_table_end from 0x00000518 to 0x00001000
Adjust rom_table_end from 0x7fffe000 to 0x80000000
Adding high table area
uma_memory_start=0x70000000, uma_memory_size=0x10000000
coreboot memory table:
 0. 0000000000000000-0000000000000fff: CONFIGURATION TABLES
 1. 0000000000001000-000000000009ffff: RAM
 2. 00000000000c0000-000000006fffffff: RAM
 3. 0000000070000000-000000007fffffff: RESERVED
Wrote coreboot table at: 7fffe000 - 7fffe8bc  checksum 3af4
coreboot table: 2236 bytes.

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.

I don't have a good reason why SeaBIOS isn't working.

Thanks,
Myles




More information about the coreboot mailing list