Intel® ISA Extensions
Use hardware-based isolation and memory encryption to provide more code protection in your solutions.
1090 Discussions

What does "O" signify in MSR registers description?


A simple question that I haven’t been able to find an answer for. What does R/O signify when discussing MSR (model specific registers)  in the Software developers manual? In volume 4, some MSR’s are identified with (R/W) or (R), or even sometimes (RW-L). Obviously R/W is read/write and R is read-only, but what about the other identifiers?

Attempting to use the wrmsr utility to modify an MSR marked with R/O in the SDMfails in Debian with “CPU cannot set MSR” and in bios-bits with a general protection fault. This leads me to believe R/O is another form for read-only, or signifies its only writeable in SMM (ring-2) mode.

Any information would be appreciated! 

0 Kudos
1 Reply
Black Belt

You really opened up a bag of worms with this one....

Looking through the tables in Vol4 of the SWDM and in the SKX Uncore Performance Monitoring Guide I quickly found about 15 abbreviations used for the R/W attributes, but with no descriptions.  Quite a few of these were puzzling....

A bit more digging led me to the "Intel Xeon Processor Scalable Family Datasheet, Volume 2: Registers" (document 336062-003), where Table 2-1 has descriptions for 27 different "R/W" type attributes.  I don't think that the table includes every single one of the variants that I saw, but the descriptions certainly provide a lot of insight into the different kinds of attributes that these MSRs can possess....

0 Kudos