瀧 康史 wrote, On 10/20/11 10:29 PM: > いわゆるNPT(Nested Page Tables)ですよね? > Intel VTのEPT(Extended Page Tables)と、AMD-VのRVI(Rapid Virtualization > Indexing)がサポートされてるのは、 > > Intel: Nehalemアーキテクチャ以降(core i7のアーキテクチャ) > AMD: K10アーキテクチャ以降(4コア以上のOpteron、あるいはPhenom) > > あたりがサポートされています(Wikipediaとかで調べた限り)。
Celeron G1101 は Nehalem 世代の Clarkdale なんで VT-x gen2 ですかね。確証はあ りません。 > > > 差分を見るとわかるはずだとおもったんですが・・・・ > Opteron 2347HE > amd_lzcnt popcnt amd_sse4a tscp ahf cx16 mon sse3 sse2 sse fxsr > amd_3dnowx > amd_3dnow amd_mmx mmx cmov amd_sysc cx8 tsc fpu > Xeon L5506 > sse4.2 sse4.1 ssse3 popcnt tscp ahf cx16 mon sse3 pause sse2 sse fxsr > mmx cmov sep cx8 tsc fpu > Opteron 254 > ahf sse3 sse2 sse fxsr amd_3dnowx amd_3dnow amd_mmx mmx cmov amd_sysc > cx8 tsc fpu > > うーん・・・・・tscp?? > この細かいやつを調べるときに、いつも分からなくて困るんですよね。 > だれか、この細かいのの調べ方、ご存じないですか? tscp は rdtscp 命令の有無です。 このあたりですかね http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/sys/auxv_386.h CPU が VMX をサポートしているかどうかは isainfo ではわかりません。isainfo は主 に userland に対して CPU がサポートしている hardware capabilities の情報を提供 する物なので、VMX のように userland にとってあまり意味のない物は含まれていない ようです。かといって、kernel 内の feature 一覧にもないようですね。 というわけで、プログラム的に調べるには CPUID.1:ECX.VMX[bit 5] をチェックする必 要がありそうです。cpuid 命令を直に実行してもいいし、cpuid(7D) ドライバをつかっ ていいと思います。ただ、EPT のようにVMX の拡張機能をサポートしているかどうかを プログラム的に調べるのはちょっと面倒そうです。Intel(R) 64 and IA-32 Architectures Software Developer's Manual, Vol3B の Appendix G: VMX Capability Reporting Facility によると、EPT は IA32_VMX_EPT_VPID_CAP MSR (48Ch) を調べる 必要があるらしいです。CPU の msr は rdmsr 命令を使って読むのですが、rdmsr は特 権命令ですので userland からは使えません。Linux とかだと msr を読み書きする危 険なドライバが用意されていたと思いますが、Solaris にはそういうのはなかったと思 います。ので、自分で kernel モードで実行されるドライバ的なものを用意する必要が ありそうです。 > > ところで、KVMって、NPTが必須なんでしょうか?しらなかった。 VT-x あるいは AMD-v が必要なような記述は見つけたのですが、EPT が必要というよう な記述は見つけられませんでした。 Kenjiro Tsuji _______________________________________________ ug-jposug mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/ug-jposug
