MSR
読み:エムエスアー
外語:MSR: Model Specific Register
IntelやAMDのx86系プロセッサー固有の情報を格納したレジスター。特権命令(RING 0)であるrdmsr命令で取得、同wrmsr命令で変更ができる。
概要
MSR機能の有無は、EAXレジスターに1を代入してCPUID命令を実行し、EDXレジスターに得られたフラグのビット5が1かどうかで確認できる。
主要レジスター
レジスターは無数に存在するが、中でもよく使われるレジスターは以下の通り。
- IA32_MISC_ENABLE (0000_01A0H)
- IA32_PAT (0000_0277H)
- IA32_EFER (C000_0080H)
- IA32_STAR (C000_0081H) レガシーモード時のsyscallのCS:EIP
- IA32_LSTAR (C000_0082H) ロングモード(64ビットモード)時のsyscallのRIP
- IA32_CSTAR (C000_0083H) ロングモード(コンパチビリティモード)時のsyscallのRIP
- IA32_SYSCALL_FLAG_MASK (C000_0084H)
再検索