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
Any information would be appreciated!
Link Copied
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....
For more complete information about compiler optimizations, see our Optimization Notice.