1. P7350のIntel VT-xの有無について
発表当時、IntelのSPEC表によると搭載されるCPUのスペックが下記となっており、P7350はVT-x無効、P8400はVT-x有効と違いがあり物議をかもした。
実機に搭載されたCPU P7350をツールで確認してみると、VMXフラグが有効となっており、スペック表とは異なりVT-xが有効にされていた。
Mac miniに採用されたP7350のCPUIDを実機で取得すると下記の通りである。IntelのVirtualization & Software Development フォーラムに記載されたサポート担当の説明から判断すると、VT-xの有無を判断するためのレジスタ値はECX=0x0408E3BD、2進数で表記するとECX=0000/0100/0000/1000/1110/0011/1011/1101であり5bit目が1の為、CPUとしてVT-xはサポートされている。
0x00000000 : EAX=0x0000000D EBX=0x756E6547 ECX=0x6C65746E EDX=0x49656E69
0x00000001 : EAX=0x0001067A EBX=0x01020800 ECX=0x0408E3BD EDX=0xBFEBFBFF
0x00000002 : EAX=0x05B0B101 EBX=0x005657F0 ECX=0x00000000 EDX=0x2CB43048
0x00000003 : EAX=0x00000000 EBX=0x00000000 ECX=0x00000000 EDX=0x00000000
0x00000004 : EAX=0x00000000 EBX=0x00000000 ECX=0x00000000 EDX=0x00000000
0x00000005 : EAX=0x00000040 EBX=0x00000040 ECX=0x00000003 EDX=0x03122220
0x00000006 : EAX=0x00000001 EBX=0x00000002 ECX=0x00000003 EDX=0x00000000
0x00000007 : EAX=0x00000000 EBX=0x00000000 ECX=0x00000000 EDX=0x00000000
0x00000008 : EAX=0x00000400 EBX=0x00000000 ECX=0x00000000 EDX=0x00000000
0x00000009 : EAX=0x00000000 EBX=0x00000000 ECX=0x00000000 EDX=0x00000000
0x0000000A : EAX=0x07280202 EBX=0x00000000 ECX=0x00000000 EDX=0x00000503
0x0000000B : EAX=0x00000000 EBX=0x00000000 ECX=0x00000000 EDX=0x00000000
0x0000000C : EAX=0x00000000 EBX=0x00000000 ECX=0x00000000 EDX=0x00000000
0x0000000D : EAX=0x00000000 EBX=0x00000000 ECX=0x00000000 EDX=0x00000000
0x80000000 : EAX=0x80000008 EBX=0x00000000 ECX=0x00000000 EDX=0x00000000
0x80000001 : EAX=0x00000000 EBX=0x00000000 ECX=0x00000001 EDX=0x20100000
0x80000002 : EAX=0x65746E49 EBX=0x2952286C ECX=0x726F4320 EDX=0x4D542865
0x80000003 : EAX=0x44203229 EBX=0x43206F75 ECX=0x20205550 EDX=0x50202020
0x80000004 : EAX=0x30353337 EBX=0x20402020 ECX=0x30302E32 EDX=0x007A4847
0x80000005 : EAX=0x00000000 EBX=0x00000000 ECX=0x00000000 EDX=0x00000000
0x80000006 : EAX=0x00000000 EBX=0x00000000 ECX=0x0C006040 EDX=0x00000000
0x80000007 : EAX=0x00000000 EBX=0x00000000 ECX=0x00000000 EDX=0x00000000
0x80000008 : EAX=0x00003024 EBX=0x00000000 ECX=0x00000000 EDX=0x00000000
1.1.1
Discovering Support for Intel
® VT (VMX)
The CPUID instruction can be used to determine whether a processor supports Intel VT. >The CPUID instruction returns processor identification and feature information in the EAX, EBX, ECX, and EDX registers. If CPUID.1:ECX.VMX[bit 5] = 1, then VMX operation is supported.
Below are the assembly instructions to read check Intel VT-x capability of CPU:
MOV EAX, 01H
CPUID
Check ECX.[bit 5] -> A value of 1 indicates that the processor supports Intel VT-x
1.1.2
Checking Intel® VT Enabled CPU
Bit 13 of CR4 register can be read to determine if CPU is enabled for Intel VT. A value of for CR4.VMXE[bit13] means CPU is enabled for VMX operations.
Check CR4.VMXE[bit 13] = 1 —> Enables VMX operation when set.
MSR 3A can also be used to check if CPU is VT enabled.
For more information on CPUID, see Chapter 3, "Instruction Set Reference, A-M," in the Intel 64 and IA-32 Software Developer Manual, Volume 2A
Refer to Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 3B, section 19 and appendix G for more info on VMX capability reporting.
また、Windows 7の機能でXPとの互換性を提供するXP Modeが発表され、注意点として下記サイトなどでP7350のVT-x無効が報じられるなど、再度、VT-xの確認有無が問われたが、Windows 7 RC版でXP Modeの動作確認が取れ、Mac miniでは確実にVT-xが有効であると判断された。
Mobile CPU products |
Core 2 Duo Mobile |
VT |
P7350/7450 |
NO |
P8400/8600/8700/9500/9600 |
YES |
■結論
フォーラムでのIntelのサポート担当の説明によると、VT-xの有無などプロセッサ機能の一部はOEM先の要望により変更されて出荷されることがある。Appleは、BootCampによるWindowsサポートを提供するだけでなく、VMwareなどの仮想化ソリューションによるWindowsサポートを推進している。その為、VT-xの有無は重要な要素で、VT-xが有効にカスタマイズされたOEM向け用P7350を採用したと考えられる。
なお、CPUはソケットに直付けされており、注文時にBTOオプションで交換する以外は変更できない。また、VT-xが有効にされた製品は上位製品として
P7370として、P7350とは区別されている。
最終更新:2009年08月07日 13:45