On Sat, Oct 2, 2010 at 4:07 PM, Kevin O'Connor kevin@koconnor.net wrote:
I think the three lines of assembler is easier to understand than "enable_l2_cache". Assembler isn't C - the macros defined aren't free abstractions. (In particular, it's not clear they clobber %eax.)
I definitely agree that clobbering eax is not apparent from the macros. Maybe we need a documented calling convention that says the eax register can be destroyed at this point in the coreboot code?
I think the bit definitions, msr addresses, port numbers, and special addresses should use definitions. For an example of this from seabios, see:
This seems reasonable.
wt