[coreboot] Porting to Asus M4A785-M
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
> 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.
More information about the coreboot