A number of users have reported NVM corruption on various ICHx platformLOMs. One possible reasons for this could be unexpected and/or maliciouswrites to the flash memory area mapped into kernel memory. Once theinterface is up, there should be very few reads/writes of the mapped flashmemory. This patch makes use of the x86 set_memory_*() functions to setthe mapped memory read-only and temporarily set it writable only when thedriver needs to write to it. With the memory set read-only, any unexpectedwrite will be logged with a stack dump indicating the offending code.

Since these LOMs are only on x86 ICHx platforms, it does not matter thatthis API is not yet available on other architectures, however it isdependent on a previous patch that exports these function name symbols.