专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

Intel处理器虚拟化技术浅析2VMCS初始化

  VMCS区域:guest区域,从真实系统进入虚拟系统时,CPU需要加载的数据,包括很多CPU内部的寄存器,通用寄存器,控制寄存器,调试寄存器之类。host区域,就是从虚拟系统返回真实系统时CPU需要加载的寄存器。控制区域进入虚拟系统后,处理器的行为由这个区域的字段控制。虚拟机退出时的控制区域。控制怎样进入虚拟机。控制CPU以什么样的方式退出到真实系统。从虚拟机退出到真实系统时,虚拟系统退出的原因,或者失败时的错误代码。
  上一节提过VMCS区域需要专门的汇编指令才能读取,下面我们填充VMCS区域。
  我们看下64位系统段选择子的描述:SEGMENTSELECTORrecordLimit:32,SEGMENTGPA:4,SEGMENTattrG:1,SEGMENTattrDB:1,SEGMENTattrL:1,SEGMENTattrAVL:1,SEGMENTattrP:1,SEGMENTattrDPL:2,SEGMENTattrS:1,SEGMENTattrTypecodeordata:1,SEGMENTattrTypeCRA:3,selectorindex:13,selectorTI:1,selectorRPL:2
  ;selectorTI(TableIndicator)描述符表索引位,当TI0时从GDT查找1时从LDT查找。RPL:权限级别03
  vmxvmwritesegprocvalueHOSTXXSELECTOR:qword,SELECTORname:qwordmovrax,SELECTORnamemovzxeax,axandeax,0f8h;清低3位,RPL0从GDT(全局描述符表)加载段描述符cdqemovrcx,valueHOSTXXSELECTORvmwritercx,raxretvmxvmwritesegendpinvokevmxvmwriteseg,HOSTESSELECTOR,ESinvokevmxvmwriteseg,HOSTCSSELECTOR,CSinvokevmxvmwriteseg,HOSTSSSELECTOR,SSinvokevmxvmwriteseg,HOSTDSSELECTOR,DSinvokevmxvmwriteseg,HOSTFSSELECTOR,FSinvokevmxvmwriteseg,HOSTGSSELECTOR,GS
  任务寄存器需要单独操作:strraxinvokevmxvmwriteseg,HOSTTRSELECTOR,RAXmovrcx,MSRIA32EFER
  使能ExtendedFeatureEnableRegister;rdmsrshlrdx,20horrax,rdxmovrbx,raxinvokevmxvmwrite,HOSTEFER,rbx
  cr0与cr4的固定位:
  MSRIA32VMXCR0FIXED0、MSRIA32VMXCR0FIXED1字段里规定了guest里cr0控制寄存器的数值要求。movrcx,MSRIA32VMXCR0FIXED1rdmsrshlrdx,20horrax,rdxmovrbx,cr0andrbx,raxmovrcx,MSRIA32VMXCR0FIXED0rdmsrshlrdx,20horrax,rdxorrbx,raxvmwrite,HOSTCR0,rbxvmwrite,HOSTCR3,cr3movrcx,MSRIA32VMXCR4FIXED1rdmsrshlrdx,20horrax,rdxmovrbx,cr4andrbx,raxmovrcx,MSRIA32VMXCR4FIXED0rdmsrshlrdx,20horrax,rdxorrbx,raxvmwrite,HOSTCR3,rbx
  从全局描述符表查找任务寄存器的基址:sgdtgdtbaseleardi,gdtbasemovrbx,〔rdi2〕;路过Limitstrrdx;tssinvokeGetSegmentDescriptor,addrSEGMENTSELECTOR,rdx,rbxvmwrite,HOSTTRBASE,SEGMENTSELECTOR。BASE
  填充fs寄存器字段:(64位系统下fs基本是兼容32个应用程序而保留)movecx,MSRFSBASErdmsrshlrdx,20horrax,rdxvmwrite,HOSTFSBASE,rax
  填充gs寄存器字段:(64位系统非常重要的寄存器,相当于32个系统里的fs寄存器)movecx,MSRGSBASErdmsrshlrdx,20horrax,rdxvmwrite,HOSTGSBASE,rax
  填充全局描述符表字段:sgdtgdtbaseleardi,gdtbasemovrbx,〔rdi2〕vmwrite,HOSTGDTRBASE,rbx
  填充中断描述符表字段:sidtidtbaseleardi,idtbasemovrbx,〔rdi2〕vmwrite,HOSTIDTRBASE,rbxvmwrite,VMCSLINKPOINTER,1;不启用SMM双重监控处理机制vmwrite,EXCEPTIONBITMAP,0
  填充guest段选择子、段限、访问权限、段基址。sgdttbyteptrgdtbaseleardi,gdtbasemovrbx,〔rdi2〕invokeFillGuestSelectorData,rbx,0,esinvokeFillGuestSelectorData,rbx,1,csinvokeFillGuestSelectorData,rbx,2,ssinvokeFillGuestSelectorData,rbx,3,dsinvokeFillGuestSelectorData,rbx,4,fsinvokeFillGuestSelectorData,rbx,5,gssldtraxinvokeFillGuestSelectorData,rbx,6,raxstrraxinvokeFillGuestSelectorData,rbx,7,rax
  填充fs寄存器字段:movecx,MSRFSBASErdmsrshlrdx,20horrax,rdxvmwrite,GUESTFSBASE,rax
  填充gs寄存器字段:movecx,MSRGSBASErdmsrshlrdx,20horrax,rdxvmwrite,GUESTGSBASE,rax
  填充控制字段:movecx,MSRIA32VMXTRUEPROCBASEDCTLSRdmsr;eax存入的是允许为零的位允许为零的位已经被标0(其余的位必须为1)edx存入的是允许为1的位允许为1的位已经被标1(其余的位必须为0)Movecx,CPUBASEDACTIVATEMSRBITMAPCPUBASEDACTIVATESECONDARYCONTROLSmovrbx,rcxorecx,eaxandecx,edxvmwrite,CPUBASEDVMEXECCONTROL,rcxmovecx,MSRIA32VMXPROCBASEDCTLS2rdmsrmovrcx,CPUBASEDCTL2RDTSCP;RDTSCP这个指令的用途,它是RDTSC的升级版,在一些比较新的处理器中用于获;得CPU时间计数器。;SECONDARYEXECENABLERDTSCPSECONDARYEXECENABLEINVPCID;SECONDARYEXECXSAVES;;如果不设置rdtscexiting和usetscoffsetting的话,那么rdtscp会正常执行,因此这;里其实可以只设置SECONDARYEXECENABLERDTSCP,其他不设置。;这样的话rdtscp指令的执行并不会导致vmexit事件的发生。这里我尝试了只将;SECONDARYEXECENABLERDTSCP控制位置位,其他位不动,发现完全不会进入到;vmexit事件中。;因此如果图省事的话其实可以只将SECONDARYEXECENABLERDTSCP置位,其他位不;进行操作即可。orrcx,CPUBASEDCTL2ENABLEINVPCID;如果invlpgexiting没有被设置,那么也不会导致vmexit事件的发生。因此这里其实;也可以只设置SECONDARYEXECENABLEINVPCID,不设置invlpgexiting。这样可以;让其正常执行,不用在vmexit处理函数中对其进行复杂的处理。orrcx,CPUBASEDCTL2ENABLEXSAVEXRSTORSorrcx,CPUBASEDCTL2ENABLEEPTorrcx,CPUBASEDCTL2ENABLEVPIDmovrbx,rcxorecx,eaxandecx,edxandebx,edxorebx,eaxvmwrite,SECONDARYVMEXECCONTROL,rcxvmwrite,PINBASEDVMEXECCONTROL,0movecx,MSRIA32VMXTRUEEXITCTLSRdmsrmovrcx,VMEXITIA32EMODEVMEXITACKINTRONEXIT;OnprocessorsthatsupportIntel64architecture,thiscontroldetermineswhetheralogical;processorisin64bitmodeafterthenextVMexit。ItsvalueisloadedintoCS。L,andecx,edxorecx,eaxvmwrite,VMEXITCONTROLS,rcxmovecx,MSRIA32VMXTRUEEXITCTLSrdmsrmovrcx,VMEXITIA32EMODEVMEXITACKINTRONEXIT;Onprocessorsthat;supportIntel64architecture,thiscontroldetermineswhetheralogical;processorisin64bitmodeafterthenextVMexit。ItsvalueisloadedintoCS。L,andecx,edxorecx,eaxvmwrite,VMEXITCONTROLS,rcx
  ;。配置vmentry控制域movecx,MSRIA32VMXTRUEENTRYCTLSrdmsrmovrcx,VMENTRYIA32EMODE;64系统必须填,参考【处理器虚拟化技术】(第212页)andecx,edxorecx,eaxvmwrite,VMENTRYCONTROLS,rcx;
  以下为填充guest区域和填充host区域基本相同movrcx,MSRIA32EFERrdmsrshlrdx,20horrax,rdxmovrbx,raxvmwrite,GUESTEFER,rbxmovrcx,MSRIA32VMXCR0FIXED1rdmsrshlrdx,20horrax,rdxmovrbx,cr0andrbx,raxmovrcx,MSRIA32VMXCR0FIXED0rdmsrshlrdx,20horrax,rdxorrbx,raxvmwrite,GUESTCR0,rbxmovrcx,MSRIA32VMXCR4FIXED1rdmsrshlrdx,20horrax,rdxmovrbx,cr4andrbx,raxmovrcx,MSRIA32VMXCR4FIXED0rdmsrshlrdx,20horrax,rdxorrbx,raxvmwrite,GUESTCR4,rbxvmwrite,GUESTCR3,cr3invokevmxvmwrite,GUESTDR7,0400hsgdtgdtbaseleardi,gdtbasemovrbx,〔rdi2〕vmwrite,GUESTGDTRBASE,rbx;GetGDTBase());movzxeax,wordptr〔rdi〕vmwrite,GUESTGDTRLIMIT,rax;GetGDTLimit());sidtidtbaseleardi,idtbasemovrbx,〔rdi2〕vmwrite,GUESTIDTRBASE,rbx;GetIDTBase());movzxeax,wordptr〔rdi〕vmwrite,GUESTIDTRLIMIT,rax;GetIDTLimit());pushfqpopraxvmwrite,GUESTRFLAGS,rax;movrsi,currentvmStatemovrdx,〔rsiVirtualMachineState。MSRBitMapPhysical〕vmwrite,MSRBITMAP,rdx;vmStateMSRBitMapPhysical);MSRBitmap的某位为0时访问;该位所对应的MSR不会产生VMexitvmwrite,GUESTRSP,GuestStack;(ULONG64)GuestStack);setupguestspmovrax,〔rsiVirtualMachineState。VmxGuestRip〕vmwrite,GUESTRIP,rax;addrVMXRestoreState;setupguestipmovrsi,currentvmStatemovrdx,〔rsiVirtualMachineState。VMMStack〕movrax,VMMSTACKSIZE;addrdx,4000h;;堆栈向下增长,所以要增加,空间是0VMMSTACKSIZE所以要减1vmwrite,HOSTRSP,rdx;((ULONG64)vmStateVMMStackVMMSTACKSIZE1));;host的rsp必须使用自己申请的一块内存。如果还是使用guest退出时的rsp,一定会;导致guest中堆栈被破坏从而导致不可预知的结果learax,VMExitHandlervmwrite,HOSTRIP,rax;addrVMExitHandler
  某些处理函数没有给出,会在最后的源码中展示。
  来自网络的图片:

抄书的第82天,爸爸也要知道教育孩子的责任,这样孩子才健康成长由社会发展规律而决定,中国大多数家庭一直是保持男主外,女主内的状态。但是由于现在社会发展速度飞快,很多的家庭里男人只负责挣钱养家,其他什么都不顾了,这也就是大家说的丧偶式育儿。我家秋天想要保持健康,中医教你从这四个方面做起秋季的养生方法主要以清热润燥为主。在秋天里,人们常常会感到口干口苦,这便是因为秋天气候干燥,空气湿度太大,人体阳气渐渐衰弱。立秋后,天气由炎热转变成寒冷。在这种情况下,人们会感到浑TCL双子舱复式分区洗衣机Q10内外兼修,助推健康生活全面升级近年来,随着家电产品正在逐渐向中高端升级,消费者借家电产品来提升生活品质的需求不断提升,家电功能也在不断创新升级。在这场洗衣机产品的升级换代革命中,TCL表现出超前的布局意识,TC罗技Lift垂直鼠标健康办公界的技术流为工作而奔波,是当代白领逃不掉的苦,轻则时常emo,重则身心俱疲能量被耗尽。每当你在为deadline鞠躬尽瘁为达成kpi绞尽脑汁的同时,它也在大量透支你的身体健康,堪称职场健康的长期喝白开水的人比长期喝茶的人更健康?水和茶是生活中常见的饮料,人体的生命活动离不开开水,水随时都会参与人体的新陈代谢,可以说没有水就没有生命。与长期喝茶的人相比,谁的身体更健康?开水和茶叶如何选择?在一个健康的成年人上午10点!中国女排遭质疑,球迷吐槽现在女排不抱太大希望北京时间9月26日上午10点,中国女排传来最新消息,据国内媒体新浪体育报道,日前,蔡斌和袁心玥接受了央视的采访,他们表示希望在女排世锦赛为大家奉献精彩的比赛,而这样的表态也引来了很周二A股重要投资机会(9月27号)元宇宙版双11呼之欲出元宇宙电商率先爆发今年双11大促期间,阿里将首次引入元宇宙大陆曼塔沃斯,消费者可在元宇宙中创造数字分身,并在元宇宙中获得双11的新消费体验。今年双11晚会上也荷兰VS比利时奥地利VS克罗地亚丹麦VS法国荷兰VS比利时赛事数据荷兰近5个赛季两队正赛交锋场均5球荷兰排名欧国联A上半场领先场数第2名,领先3场荷兰正赛连续12场进球荷兰欧国联A连续9场不败(3平6胜)M。德佩排名欧国联A已呈败象?输给丹麦的法国队,在世界杯上能走多远足坛上向来有冠军魔咒这个说法,那就是当你在一届大赛夺冠的时候,下一届大赛必然早早翻船。比如2018欧洲杯冠军意大利未能进入2022世界杯,2014年世界杯冠军德国队在2018年小组02!丹麦创造神话!法国吞耻辱,姆巴佩输麻了!德尚离甩锅不远法国身为世界顶级种子球队,在欧洲的范围内也是数一数二的存在,但是,近期欧国联的比赛,法国先是20战胜奥地利,而今天凌晨和丹麦的比赛,法国再次遭遇丹麦门神舒梅切尔的零封,最终,法国在输给丹麦后,法国队将不会成为2024年欧预赛抽签的种子球队直播吧9月26日讯在北京时间今天凌晨结束的一场欧国联比赛中,法国以02的比分不敌丹麦。尽管球队在欧国联A级联赛中保级成功,但这场失利使得法国队将不会成为2024欧洲杯预选赛抽签中的
所罗门群岛拒绝美海警船停靠,外媒炒作为中国切断与美国联系文观察者网刘程辉美国星条旗报8月25日称,所罗门群岛政府最近拒绝了一艘美国海岸警卫队巡逻艇的例行靠港请求,该艇不得不改道前往巴布亚新几内亚进行补给。报道还渲染,这进一步引发了外界对罗晋害怕的角色又来了过去特别害怕演的两个职业,一个是律师,一个是医生。演员罗晋说因为涉及到很多专业词汇,这不是一件容易的事。让不少观众夸赞有剧抛脸的罗晋,近来更多接触现实题材剧,塑造了各行各业的角色。山西前书记胡富国离晋时数万人相送,84岁与耿彦波看戏精神焕发对于山西人而言,胡富国绝对是一个再熟悉不过的名字。截至1999年6月胡富国调任北京之时,他已经主政山西长达七年。对于整整一代山西人而言,说起省委书记省长,如果不加姓氏那就只有一个人普京签署法令将俄武装力量人员数量增至115万人俄乌战争仍在持续中,前段时间一直传出俄罗斯兵源告竭的消息,而8月25日普京签署法令将武装力量人员数量增至115万人,可以说再次将这个消息得到了一次确认。对于这样的一个消息,通过评论百县榜2022年度县市夜经济繁荣百佳样本发布!经济增长新夜态打造白黑全时全龄新经济地标,形成以地域文化特色业态为核心竞争力的商业街区,促进商贸文化旅游娱乐等产业相互融合,对于夜经济有着极大促进和提升作用。夜宵K歌逛庙会书店健身音乐会夜经济不下半年中国经济应着重增强内生动能主持人徐蔚冰嘉宾刘元春上海财经大学校长陆挺野村证券中国首席经济学家叶银丹中国银行研究院研究员受国内外多重因素影响,7月份多项经济指标增速较6月份有所回落,下半年稳增长压力加大。近日人民就是江山丨不寻常的家常话,画出老百姓稳稳的幸福开栏语江山就是人民,人民就是江山。中国甘肃网推出沿着总书记的足迹人民就是江山融媒报道,回看2500万甘肃人民牢记殷殷嘱托,奋发自强,为建设幸福美好新甘肃开创富民兴陇新局面奋发进取,持续严重干旱拖累多国经济原标题从影响农业生产,到河流断航威胁,再到旅游被迫暂停(引题)持续严重干旱拖累多国经济(主题)梁凡7月以来,北半球多地遭遇极端高温持续侵袭,随之而来的严重干旱,更是给民众生活与经济开幕倒计时7天丨艺术是什么?艺术是什么?视频加载中艺术是什么?是文化的结晶是文明的缩影。它像辽远天际的星空,它像宽广辽阔的大海,它更像多情广袤的大地。有人说它遥不可及,有人讲它高深莫测。但是,每一方舞台,每一经济学家马光远中国企业的死去,不是因为困难,而是太牛逼最近任正非在内部讲话中提到将活下来作为第一要务,不料却引起许多人批评传递寒气。对此,著名经济学家马光远为任老爷子打抱不平,他盛赞华为忧患意识。并讽刺国内大多数企业倒下不是因为困难,咄咄怪事神怪趣事连载(59)作者吴德珠59。南无阿弥陀佛我们发现寺庙里的和尚念经与有的人家请念经的做佛事,念经的人经常念南无阿弥陀佛。他们为什么要念南无阿弥陀佛,南无阿弥陀佛是什么意思呢?请看下面两个传说。据传说,在很
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网