zoukankan      html  css  js  c++  java
  • 关于triple fault

    工作中遇到一个triple fault 的东西, 一脸懵逼。 这个fault 是 同事修改 ccx env 改出来的, 有关double fault 转载: http://www.lenky.info/archives/2012/04/1479
    triple fault , spec 上一个example,
    Example: A guest raises a #GP during delivery of which a #NP is raised (a scenario that, according to x86 rules, resolves to a #DF), and an intercepted #PF occurs during the attempt to deliver the #DF. Upon intercept of the #PF, EXITINTINFO indicates that the guest was in the process of delivering a #DF when the #PF occurred. The information about the intercepted page fault itself is encoded in the EXITCODE, EXITINFO1 and EXITINFO2 fields. If the VMM decides to repair and dismiss the #PF, it can resume guest execution by re-injecting (see “Event Injection” on page 479) the fault recorded in EXITINTINFO. If the VMM decides that the #PF should be reflected back to the guest, it must combine the event in EXITINTINFO with the intercepted exception according to x86 rules. In this case, a #DF plus a #PF would result in a triple fault or shutdown.
    先记录问题,后续写理解,

    个人初步理解,可能不对
    本例中, 首先在代码执行过程中由于segment limit 产生一个 exception , #GP
    代码进入handle处理这个exception的时候,需要先把当前的状态保存起来,一次需要读一些记录档当前状态的寄存器,在读寄存器的过程中, 又产生了一个#GP, 形成 Double Fault, 在之后的执行中, 又又遇到一个GP, 产生triple fault.

  • 相关阅读:
    NSArray block用法
    Be JSON (Just Make JSON Easy!) 什么是JSON
    swift循环
    swift学习网站
    利用正则表达式解析URL
    水果瀑布流布局
    iOS文件操作
    PHP HTTP协议:防盗链
    PHP HTTP协议(报头/状态码/缓存)
    PHP 基础知识代码总结
  • 原文地址:https://www.cnblogs.com/yanli0302/p/11287323.html
Copyright © 2011-2022 走看看