IA32_EFER
読み:アイエイさんに-イーエフイーアー
外語:IA32_EFER: IA32 Extended Feature Enable Register

 64ビット対応x86プロセッサーに存在するMSR(Model Specific Register)の一つ。アドレスはC0000080H。
目次

概要
 このレジスターには64ビット機能への移行など、新機能に関するフラグが含まれている。

機能の有無判別
 EAX=80000000HでCPUID命令を実行し、返却値EAXの最上位ビットが1となる拡張CPUID対応環境で、かつEAX=80000001HでCPUIDを実行した結果得られたEDXレジスターのビット20あるいはビット29が1のとき、MSRにIA32_EFERが存在する。

対応製品
 実際の製品としては、AMD64対応プロセッサーや、Intel 64(EM64T)に対応するIntelのPresscotコアのPentium 4以降に存在する。

構成
 全64ビット構成で、具体的なビット構成は次のとおり。
ビット名称機能
略称名称
0SCESystem Call Extensions 
1Reserved 
2 
3 
4 
5 
6 
7 
8LMELong Mode Enable(W) 1=Long-Mode/Intel 64モードに移行する
9Reserved 
10LMALong Mode Active(R) 1=Long-Mode/Intel 64モード
11NXENo-Execute Enable(W) 1=NXビット機能有効
12Reserved 
13 
14FFXSRFast FXSAVE/FXRSTOR 
15Reserved 
 
63 
 Long-Mode/Intel 64モードに移行するにはビット8のLMEを1にする。
 ビット10のLMAは読み取り専用で現在のモードを表わし、Long-Mode/Intel 64モードの場合に1になる。
 ビット11はNXE(No-Execute)のフラグが割り当てられ、1にすればNXビット機能(No-Execute)が有効になる。これはCPUが持つメモリー保護機能の一つであり、いわゆるバッファーオーバーフローを防止するための機能である。

再検索