On 06/15/2009 09:55 PM, H. Peter Anvin wrote:
Ingo Molnar wrote:I wouldn't actually expect that, *as long as* there is serialization between the cr2 write and the cr2 read.Well, is there any OS that heavily relies on cr2 writes and which uses them from NMI context, and which CPU makers care about? (Meaning: Windows, pretty much.) If not then i agree that in theory it should work fine, but in practice we only know that we dont know the unknown risk here ;-)I think you can drop "uses them from NMI context" from that statement; writing to %cr2 is independent of the context. I can try to find out internally what Intel's position on writing %cr2 is, but it'll take a while; however, KVM should be able to tell you if any random OS uses %cr2 writes (as should a static disassembly of their kernel.)
Linux is one such OS. When acting as a hypervisor it writes cr2 to present its guests with their expected environment (any hypervisor that uses virtualization extensions will of course need to do this).
-- Do not meddle in the internals of kernels, for they are subtle and quick to panic. -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html