マイペースなプログラミング日記

x86エミュレータやFPGA、WebGLにお熱なd-kamiがマイペースに書くブログ

自作OSでVTを試せなかった

VMware Player上で動いているLinuxからVTを使おうとして失敗。対応してないらしい?のでTwitter上で聞いたbochsで使えるかもという話だったので自作OSからVTを使うべく以下のアセンブリコードを書いてnasmにくわせた。そしてbochs上の自作OSからcall_vmxonを呼び出したところ、RDMSRでまず0x480が見つからないといわれ、CR4の0x2000はサポートされてませんと断られた。そして強制再起動。なんか駄目そう、『最近のbochsでは』という条件付きだったので、このbochsが古いのだろうか?

call_vmxon:
    MOV ECX, 0x480
    RDMSR
    MOV ECX, [ESP + 4]
    MOV [ECX], EAX
    MOV EAX, CR4
    OR EAX, 0x2000
    MOV CR4, EAX
    
    PUSH 0
    PUSH ECX
    VMXON [ESP]
    ;以下省略