[coreboot] Porting to Asus M4A785-M

Myles Watson mylesgw at gmail.com
Thu Aug 5 21:05:57 CEST 2010


> > Since you have 2G of RAM available according to your boot log, I
> > suspect that you're having a conflict with UMA again.  I would start
> > there.
> 
> Yes, that seemed to be it.
I'm glad that narrowed it down for you.

> I added excplicit specification for high tables in mainboard.c as
> follows:
> 
>         high_tables_base = uma_memory_base - 0x4000000;
>         high_tables_size = HIGH_TABLES_SIZE * 1024;
> 
> I also tried setting uma_memory_base to
> 
> uma_memory_base = msr.lo / 2;
> 
> instead of
> 
> uma_memory_base = msr.lo - uma_memory_size;
I wouldn't change that.  I think it's easier to leave UMA at the end.
 
> With 2048 MB RAM this sets UMA to 0x40000000.

>From your log:
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 0000000000001000 (reserved)
[    0.000000]  BIOS-e820: 0000000000001000 - 00000000000a0000 (usable)
[    0.000000]  BIOS-e820: 00000000000c0000 - 00000000000f0000 (usable)
[    0.000000]  BIOS-e820: 00000000000f0000 - 00000000000f1000 (reserved)
[    0.000000]  BIOS-e820: 00000000000f1000 - 0000000080000000 (usable)

Until you see the correct areas reserved in the RAM map for high_tables and
UMA, there's not much point in booting Linux.  When those areas are reserved
correctly they will show up in the table.

Thanks,
Myles






More information about the coreboot mailing list