Are there processors where that CPU_ADDR_BITS_MASK cannot be reliably retrieved from CPUID? What is the harm in using a value that is too small for the CAR setup? In other words could we use the least common value for any CPU instead of having a different setting on each different chip?
Thanks, wt
On Sun, Oct 3, 2010 at 5:14 PM, Scott Duplichan scott@notabs.org wrote:
] ]But note that the current form is also a bit dangerous. It hardcodes 40bits ]for K8 and 48bits for Fam10h here unconditionally. I don't know if this ]assumption is always correct for all CPUs. Using the correct per-CPU ]CONFIG_CPU_ADDR_BITS_MASK would definately be safer (if this mechanism ]can work here at all). Are we sure there are no K8 systems that support ]CPUs with bits != 40? Are we sure there are no Fam10h CPUs with ]bits != 48 (and that there never will be in the future)?
Getting this info from cpuid is the way to go (It is reliable on AMD systems). Hard-coding is next best. It is fixed per family:
0Fh 40 10h 48 11h 40 12h 40 13h (no product) 14h 36 15h 48
Hopefully AMD will start supplying coreboot-ready support code, which will allow coreboot to run exactly the same reference code as every other AMD BIOS.
Thanks, Scott
]Uwe. ]-- ]http://hermann-uwe.de | http://sigrok.org ]http://randomprojects.org | http://unmaintained-free-software.org
-- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot