[LinuxBIOS] flashrom support for AMD Geode CS5536

Jordan Crouse jordan.crouse at amd.com
Tue Oct 2 18:34:38 CEST 2007


On 02/10/07 10:20 -0600, Lane Brooks wrote:
> Attached is a patch that enables AMD Geode CS5536 chipset support.  I 
> have tested it successfully on a MSM800 board from digital logic.  It 
> does, however, have a few issues that I would like some feedback on.
> 
> In my discussions with Marc Jones, Geode systems write protect the BIOS 
> via RCONFs (cache settings similar to MTRRs). Unlocking requires 
> changing MSR 0x1808 top byte to 0x22. Reading and writing to the msr, 
> however, requires instrucitons rdmsr/wrmsr, which are ring0 privileged 
> instructions so only the kernel can do the read/write.  So my patch uses 
> the msr kernel module to access these instructions from user space using 
> the /dev/cpu/0/msr device.
> 
> My questions are:
> - I do not think this is portable beyond linux.  Is that an issue?

Right now, no.  Any other *nixish OS will have to solve the MSR problem
for themselves.  If they chose something different, then we'll cross that
bridge when we get to it.

> - My code assumes the msr kernel module is already loaded.  Is there a 
> way to force a kernel module to load from the C code?  My code does die 
> gracefully with a message reminding them to load the kernel module if 
> things fail.

Thats the best we can do, without getting more non-portable. I think.

Jordan






More information about the coreboot mailing list