> > 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



-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to