-----Original Message----- From: Stefan Reinauer [mailto:stepan@coresystems.de] Sent: Saturday, October 24, 2009 7:20 AM To: Myles Watson Cc: coreboot_mailing list Subject: Re: [coreboot] [PATCH] k8 uma and high tables
Myles Watson wrote:
+#if CONFIG_GFXUMA == 1 + printk_debug("node %d : uma_memory_base/1024=0x%08x, mmio_basek=0x%08x, basek=0x%08x, limitk=0x%08x\n", i, uma_memory_base >> 10, mmio_basek, basek, limitk); + if ((uma_memory_base >> 10) < mmio_basek) + printk_alert("node %d: UMA memory starts below mmio_basek\n", i);
Isn't this always true? It seems like if uma_memory_base > (mmio_basek - uma_memory_size) it's an error.
Can this happen? I have no idea,.. Carl-Daniel came up with the equation and it worked great for me on the KT690
So you don't see that message? It seems like you'd have to have more than 4G of RAM and have UMA live above 4G for that to happen.
As a side note, I think that calculation should be done here, and I don't think it should depend on how much RAM is installed, but should be user configurable.
I think it depends on the installed RAM because there is a hole below 4G for PCI devices etc.
Then we can unify GFXUMA and VGA_MEM_MB -> UMA_MEM_MB. Then uma_memory_base can go away too, since it will be mmio_base -
VGA_MEM_MB. unless uma memory can live above 4G on some chipsets...?
I don't think we have to worry about that with K8.
+ high_tables_base = ((uma_memory_base >> 10) - HIGH_TABLES_SIZE) * 1024;
high_tables_base = uma_memory_base - (HIGH_TABLES_SIZE * 1024);
d'uh, yes. Can you commit?
Rev 4389.
Thanks, Myles