Check out my first novel, midnight's simulacra!

MSR: Difference between revisions

From dankwiki
No edit summary
No edit summary
Line 1: Line 1:
Model-Specific Registers: per-processor extensions in the x86 family, discoverable via [[cpuid]]. Unlike the [[cpuid|CPUID]] registers, many are configurable. MSR's are read and written at the assembly level via the <tt>RDMSR</tt> and <tt>WRMSR</tt> instructions.
Model-Specific Registers: per-processor extensions in the x86 family, discoverable via [[cpuid]]. Unlike the [[cpuid|CPUID]] registers, many are configurable. MSR's are read and written at the assembly level via the <tt>RDMSR</tt> and <tt>WRMSR</tt> instructions. Some MSRs of note include:
* Accessing the [[Time Stamp Counter]] via '''TSC''' (0x0000_0010)
* Managing SYSENTER/SYSEXIT parameters via '''SEP_{SEL,ESP,EIP}''' (0x0000_0174, 5 and 6)
* Managing SYSCALL/SYSRET parameters via '''STAR''' (0xC000_0081)
* Managing the [[Page Attribute Tables]] via '''PAT''' (0x0000_0277)
* Managing [[MTRR]]s and [[MCA]]


==See Also==
==See Also==

Revision as of 05:26, 12 September 2009

Model-Specific Registers: per-processor extensions in the x86 family, discoverable via cpuid. Unlike the CPUID registers, many are configurable. MSR's are read and written at the assembly level via the RDMSR and WRMSR instructions. Some MSRs of note include:

  • Accessing the Time Stamp Counter via TSC (0x0000_0010)
  • Managing SYSENTER/SYSEXIT parameters via SEP_{SEL,ESP,EIP} (0x0000_0174, 5 and 6)
  • Managing SYSCALL/SYSRET parameters via STAR (0xC000_0081)
  • Managing the Page Attribute Tables via PAT (0x0000_0277)
  • Managing MTRRs and MCA

See Also