On 11/10/2010 06:18 PM, Scott Duplichan wrote:
] On i945, UMA is done by providing a fixed resource. I don't think any
] other changes were necessary (see src/northbridge/intel/i945/northbridge.c)
I took a look at the i945 code and found the AMD code also adds the exact
same fixed resource for the UMA area. What I cannot figure out is how this
can reduce the WB DRAM range so that the UMA memory ix excluded.
If I test with 2GB installed and a 256 MB frame buffer, function
add_uma_resource
is called with the expected arguments: Adding UMA memory area, base=70000000
size=10000000
Later, set_var_mtrr_resource is passed a range of c0000-7fffffff. The existing
coreboot code assumes this range has already had the UMA part removed, and
adds it back:
// Increase the base range and set up UMA as an UC hole instead
var_state.range_sizek += (uma_memory_size>> 10);
What logic should deduct the reserved range from the DRAM range before
this code runs?
Hmm. The UMA resource should be in high memory. And code should say if
UMA high memory resource is used do not allocate c0000. Interesting.....
--
Thanks,
Joseph Smith
Set-Top-Linux
www.settoplinux.org
--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot