64ビット対応x86プロセッサに存在するMSR(Model Specific Register)の一つ。アドレスはC0000080H。
このレジスタには64ビット機能への移行など、新機能に関するフラグが含まれている。
EAX=80000000HでCPUID命令を実行し、返却値EAXの最上位ビットが1となる拡張CPUID対応環境で、かつEAX=80000001HでCPUIDを実行した結果得られたEDXレジスタのビット20あるいはビット29が1のとき、MSRにIA32_EFERが存在する。
全64ビット構成で、具体的なビット構成は次のとおり。
| ビット | 名称 | 機能 | |
|---|---|---|---|
| 略称 | 名称 | ||
| 0 | SCE | System Call Extensions | |
| 1 | Reserved | ||
| 2 | |||
| 3 | |||
| 4 | |||
| 5 | |||
| 6 | |||
| 7 | |||
| 8 | LME | Long Mode Enable | (W) 1=Long-Mode/Intel 64モードに移行する |
| 9 | Reserved | ||
| 10 | LMA | Long Mode Active | (R) 1=Long-Mode/Intel 64モード |
| 11 | NXE | No-Execute Enable | (W) 1=NXビット機能有効 |
| 12 | Reserved | ||
| 13 | |||
| 14 | FFXSR | Fast FXSAVE/FXRSTOR | |
| 15 | Reserved | ||
| 〜 | |||
| 63 | |||
Long-Mode/Intel 64モードに移行するにはビット8のLMEを1にする。
ビット10のLMAは読み取り専用で現在のモードを表わし、Long-Mode/Intel 64モードの場合に1になる。
ビット11はNXE(No-Execute)のフラグが割り当てられ、1にすればNXビット機能(No-Execute)が有効になる。これはCPUが持つメモリ保護機能の一つであり、いわゆるバッファオーバーフローを防止するための機能である。