-
-
[求助]新手vt 初次entry失败
-
发表于:
2016-11-7 12:01
4713
-
在各种字段的初始化完成之后满心欢喜vmlaunch 然后失败。。。
使用的是封装好的__vmx_vmlaunch指令 返回值为1 vmfailvalid
于是读VM_INSTRUCTION_ERROR 读出来结果为7:VM-entry 操作时 current-VMCS 含有无效的 VM-excution 控制字段
然后开始检查自己设置的字段:
pinbase字段=10110b 设置default0和default1位
primaryprocbased字段=10000100000000000110000101110010b 设置default0和default1位并开启activate secondary controls
secondaryprocbased字段=1000000001000b 设置default0位并关闭RDTSCP/INVPCID时产生#UD
exception bitmap字段清0
pfec_mask字段清0 pfec_match置0xffffffff(这样在#PF的时候不产生exit)
guest/host mask与read shadow字段全清零 让guest所有
VM-function control字段忽略 处理器不支持
其他字段全忽略 因为在pinbase primaryprocbased secondaryprocbased中未开启
上述就是全部的设置了。。。就这样产生了vmfailvalid 实在不懂啊 其他字段相关约束也基于开启了某些功能 而我基本都是设置保留位的啊 求指导
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!