[LinuxBIOS] flashrom support for AMD Geode CS5536

Lane Brooks lbrooks at MIT.EDU
Tue Oct 2 18:20:11 CEST 2007

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?

- 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.

- It seems like there should be a way to revert the msr back after 
flashing is completed to put the bios back in write protect mode.  Is 
there a cleanup mechanism available?  Something like disable_flash...

Lane Brooks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: svn.diff
Type: text/x-patch
Size: 2463 bytes
Desc: not available
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20071002/e603c79d/attachment.diff>

More information about the coreboot mailing list