CN1849586A - 在恢复虚拟机的操作时将中断或异常转向 - Google Patents

在恢复虚拟机的操作时将中断或异常转向 Download PDF

Info

Publication number
CN1849586A
CN1849586A CNA2004800263980A CN200480026398A CN1849586A CN 1849586 A CN1849586 A CN 1849586A CN A2004800263980 A CNA2004800263980 A CN A2004800263980A CN 200480026398 A CN200480026398 A CN 200480026398A CN 1849586 A CN1849586 A CN 1849586A
Authority
CN
China
Prior art keywords
fault
vmm
delivery
control
error code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2004800263980A
Other languages
English (en)
Other versions
CN100585562C (zh
Inventor
S·贝内特
A·安德逊
S·耶亚辛
A·卡吉
G·奈格
R·乌利希
M·科祖奇
L·史密斯三世
S·罗杰斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN1849586A publication Critical patent/CN1849586A/zh
Application granted granted Critical
Publication of CN100585562C publication Critical patent/CN100585562C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)
  • Heterocyclic Carbon Compounds Containing A Hetero Ring Having Nitrogen And Oxygen As The Only Ring Hetero Atoms (AREA)

Abstract

在一个实施例中,从虚拟机监控器(VMM)接收把控制转到虚拟机(VM)的请求,以及确定VMM是否已请求向VM的故障传递。如果确定为肯定的,则在控制被转到VM时,故障被传递给VM。

Description

在恢复虚拟机的操作时将中断或异常转向
领域
[0001]一般来说,本发明的实施例涉及虚拟机,更具体来说,涉及处理虚拟机环境中的故障。
背景
[0002]传统的虚拟机监控器(VMM)通常在计算机上运行,以及为其它软件提供一个或多个虚拟机的抽象。各虚拟机可用作独立平台,运行它自己的“客户操作系统”(即VMM接管的操作系统(OS))和其它软件,它们统称为客户软件。客户软件预期工作起来好像它在专用计算机而不是虚拟机上运行。也就是说,客户软件预期将控制各种事件,以及有权访问硬件资源。硬件资源可包括处理器驻留资源(例如控制寄存器)、驻留在存储器中的资源(例如描述符表)以及驻留在基础硬件平台上的资源(例如输入输出装置)。事件可包括内部中断、外部中断、异常、平台事件(例如初始化(INIT)或系统管理中断(SMI))等。
[0003]在虚拟机环境中,VMM应当能够具有对如前面部分所述的这些事件和硬件资源的最终控制,以便提供在虚拟机上运行的客户软件的适当操作,以及提供对虚拟机上运行的客户软件及它们之间的防范。为了实现这个目的,当客户软件访问受保护资源时,或者当其它事件(例如中断或异常)出现时,VMM通常接收控制。例如,当VMM支持的虚拟机中的操作使系统装置产生中断时,当前运行的虚拟机被中断,以及处理器的控制被传递给VMM。然后,VMM接收该中断,并且自行处理中断或者调用适当的虚拟机,并把中断传递给那个虚拟机。
附图概述
[0004]通过参照用来说明本发明的实施例的以下描述和附图,可以最佳地理解本发明。附图包括:
[0005]图1说明本发明的一些实施例在其中可工作的虚拟机环境的一个实施例;
[0006]图2是用于处理虚拟机环境中的故障的过程的一个实施例的流程图;
[0007]图3说明存储故障标识信息的VMCS字段的示范格式;
[0008]图4是用于采用VMM提供的故障信息来处理虚拟机环境中的故障的过程的一个实施例的流程图。
实施例的描述
[0009]描述用于采用VMM提供的故障信息来处理虚拟机环境中的故障的方法及设备。在以下描述中,为了说明的目的,陈述了许多具体细节。然而,本领域的技术人员十分清楚,即使没有这些具体细节,也可以实施本发明的实施例。
[0010]按照对计算机系统的寄存器或存储器中的数据位的操作的算法和符号表示来提供以下详细说明的一些部分。这些算法描述和表示是数据处理领域的技术人员用来向本领域的其它技术人员最有效地传达其工作实质的方式。算法在此以及一般被认为是产生预期结果的独立操作序列。操作是要求物理量的物理处理的那些操作。这些量通常但不一定采取电或磁信号的形式,它们能够被存储、传送、组合、比较或者以其它方式处理。主要为了一般使用的原因,将这些信号称作位、值、元素、符号、字符、项、数等,已经证明有时便利。
[0011]但应当记住,所有这些及类似的术语均与适当的物理量关联,并且只是应用于这些量上的便捷标签。若没有明确说明,从以下论述中应当知道,采用诸如“处理”或“计算”或“运算”或者“确定”等术语的论述可表示计算机系统或类似电子计算装置的动作和过程,其中所述计算机系统或类似电子计算装置处理表示为计算机系统的寄存器和存储器中的物理(电子)量的数据并将其转换为同样表示为计算机系统存储器或寄存器或者其它这种信息存储、传送或显示装置中的物理量的其它数据。
[0012]在对实施例的以下详细描述中,参照附图,附图举例说明可实现本发明的特定实施例。附图中,相似的标号描述若干视图中基本上相似的组件。对这些实施例进行充分详细的描述,使本领域的技术人员能够实施本发明。可采用其它实施例,并且可进行结构、逻辑以及电气变更,而没有背离本发明的范围。此外,要理解,本发明的各种实施例虽然有所不同,但不一定是相互排斥的。例如,在一个实施例中描述的特定功能、结构或特征可包含在其它实施例中。
[0013]虽然以下实例可能在执行单元和逻辑电路的上下文中描述本发明的实施例,但是,本发明的其它实施例也可通过软件来实现。例如,在一些实施例中,本发明可作为计算机程序产品或软件来提供,它可包括其中已存储指令的机器或计算机可读介质,这些指令可用于对计算机(或其它电子装置)编程以执行根据本发明的过程。在其它实施例中,本发明的步骤可由包含用于执行步骤的硬连线逻辑的特定硬件组件来执行,或者由编程计算机组件和定制硬件组件的任何组合来执行。
[0014]因此,机器可读介质可包括用于存储或传送机器(例如计算机)可读形式的信息的任何机构,但不限于软盘、光盘、小型盘只读存储器(CD-ROM)以及磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、磁或光卡、闪速存储器、基于因特网的传输、电、光、声或其它形式的传播信号(例如载波、红外信号、数字信号等)等等。
[0015]此外,设计可经过各种阶段,从创建到模拟直到制造。
表示设计的数据可通过许多方式来表示设计。首先,如在模拟中有用的那样,硬件可采用硬件描述语言或者另一种功能描述语言来表示。另外,采用逻辑和/或晶体管门电路的电路级模型可在设计过程的某些阶段产生。此外,在某个阶段,大部分设计达到表示硬件模型中的各种装置的物理设置的数据级。在使用传统半导体制造技术的情况中,表示硬件模型的数据可能是指定用来产生集成电路的掩模的不同掩模层上的各种特征是否存在的数据。在设计的任何表示中,数据可通过任何形式的机器可读介质来存储。经调制或者以其它方式产生以便传送这种信息的光或电波、存储器或者磁或光存储装置、如盘可能是机器可读介质。这些介质的任一种可“携带”或“表明”设计或软件信息。传送表明或携带代码或设计的电载体以便执行电信号的复制、缓冲或重传时,制作新的副本。因此,通信提供商或网络提供商可制作体现本发明的技术的产品(载体)的副本。
[0016]图1说明本发明的一些实施例在其中可工作的虚拟机环境100。在虚拟机环境100中,裸平台硬件110包括计算平台,它可以例如能够运行标准操作系统(0S)和/或虚拟机监控器(VMM)、如VMM 112。VMM 112虽然通常以软件来实现,但可模拟裸机接口并将其导出到高级软件。这种高级软件可包括标准或实时OS,可以是具有有限操作系统功能性的高度剥离的操作环境,或者可能不包括传统的OS工具。或者,例如,VMM 112可以在另一个VMM之中或之上运行。VMM及其典型特征和功能性是本领域的技术人员熟知的,并且可能例如以软件、固件、硬件或通过各种技术的组合来实现。
[0017]平台硬件110包括处理器118和存储器120。处理器118可以是能够运行软件的任何类型的处理器,例如微处理器、数字信号处理器、微控制器等等。虽然在图1中仅示出一个处理器118,但是,平台硬件110可包括一个或多个这类处理器。
[0018]存储器120可能是任何类型的可记录/不可记录介质(例如,随机存取存储器(RAM)、只读存储器(ROM)、磁盘存储介质、光存储介质、闪速存储装置等),以及电、光、声或其它形式的传播信号(例如载波、红外信号、数字信号等),以上装置的任何组合,或者处理器118可读的其它任何类型的机器介质。存储器120可存储用于执行本发明的方法实施例的运行的指令。
[0019]平台硬件110可能是个人计算机(PC)、大型计算机、手持装置、便携计算机、机顶盒或其它任何计算系统的。
[0020]VMM112为其它软件(即“客户”软件)提供一个或多个虚拟机(VM)的抽象,它可向各种客户提供相同或不同抽象。图1表示三个VM 130、140和150。在各VM上运行的客户软件可包括诸如客户OS 154、160或170等客户OS以及各种客户软件应用程序152、162和172。
[0021]客户OS 154、160和170预期将访问客户OS正在其中运行的相应VM(例如VM 130、140和150)中的物理资源(例如处理器寄存器、存储器和输入-输出(I/O)装置)以及执行其它功能。例如,根据VM中提供的处理器和平台的体系结构,客户OS预期将有权访问所有寄存器、高速缓存、结构、I/O装置、存储器等。可由客户软件访问的资源可分类为“特许”或者“非特许”。对于特许资源,VMM112有助于客户软件所需的功能性,同时保持对这些特许资源的最终控制。非特许资源不需要由VMM 112控制,并且可由客户软件访问。
[0022]此外,每个客户OS预期将处理诸如异常(例如页面故障、一般保护故障等)、中断(例如硬件中断、软件中断)以及平台事件(例如初始化(INIT)和系统管理中断(SMI))之类的各种故障事件。这些故障事件的一部分是“特许的”,因为它们必须由VMM 112来处理,以便确保VM 130至150的正确操作,以及用于对客户软件及其之间的防范。
[0023]当特许故障事件出现或者客户软件尝试访问特许资源时,控制可被转移到VMM 112。控制从客户软件到VMM 112的转移在本文称作VM出口。在帮助资源访问或者适当地处理事件之后,VMM 112可把控制返回给客户软件。控制从VMM 112到客户软件的转移称作VM入口。在一个实施例中,VMM 112通过执行VM入口指令来请求处理器118执行VM入口。
[0024]在一个实施例中,处理器118根据虚拟机控制结构(VMCS)126中存储的数据来控制VM 130、140和150的操作。VMCS126是一种可包含客户软件的状态、VMM 112的状态、表明VMM 112如何希望控制客户软件的操作的运行控制信息、控制VMM 112与VM之间转变的信息等的结构。在一个实施例中,VMCS存储在存储器120中。在一些实施例中,多个VMCS结构用来支持多个VM。
[0025]当特许故障事件出现时,VMM 112可自行处理故障,或者判定故障是否需要通过适当的VM来处理。如果VMM 112判定故障要由VM来处理,则VMM 112请求处理器118调用这个VM并且把故障传递给这个VM。在一个实施例中,VMM 112通过把故障指示符设定到传递值并且产生VM入口请求来实现这个目的。在一个实施例中,故障指示符存储在VMCS 126中。
[0026]在一个实施例中,处理器118包括故障传递逻辑124,它接收VMM 112对于VM入口的请求,并确定VMM 122是否已经请求向VM的故障传递。在一个实施例中,故障传递逻辑124根据VMCS 126中存储的故障指示符的当前值来进行这个确定。如果故障传递逻辑124确定VMM已请求向VM的故障传递,则在把控制转到这个VM时,它把故障传递给VM。
[0027]在一个实施例中,故障的传递涉及搜索与所传递的故障关联的入口的重定向结构,从这个入口中提取被指定为处理这个故障的例程的位置的描述符,以及采用描述符跳转到例程的开始。被指定为处理相应中断、异常或其它任何故障的例程称作句柄。在一些指令集体系结构(ISA)中,某些故障与在跳转到句柄的开始之前可能需要入栈(或者在硬件寄存器中或经由其它方式来提供)的错误代码相关联。
[0028]在故障传递期间,处理器118可执行一个或多个地址转换,把地址从虚拟形式转换为物理形式。例如,中断表的地址或者关联句柄的地址可能是虚拟地址。处理器还可能需要在故障传递期间执行各种校验。例如,处理器可执行一致性校验,例如分段寄存器和访问地址的验证(产生极限违反故障、段不存在故障、栈故障等)、可能产生保护故障(例如一般保护故障)的许可级校验等。
[0029]故障转向期间的地址转换和校验可能产生各种故障,例如页面故障、一般保护故障等。在当前故障的传递过程中出现的一些故障可能引起VM出口。例如,如果VMM 112要求VM在页面故障上存在以便保护物理存储器并且使其虚拟化,则在到VM的当前故障的传递过程中出现的页面故障将产生VM出口。
[0030]在一个实施例中,故障传递逻辑124通过校验当前故障的传递是否成功来解决上述可能的附加故障的出现。如果故障传递逻辑124确定传递不成功,则进一步确定所得附加故障是否引起VM出口。如果是的话,则故障传递逻辑124产生VM出口。如果不是的话,则故障传递逻辑124把附加故障传递给VM。
[0031]图2是用于处理虚拟机环境中的故障的过程200的一个实施例的流程图。该过程可通过可包括硬件(例如电路、专用逻辑、可编程逻辑、微码等)、软件(例如运行于通用计算机系统或专用机器的软件)或者它们两者的组合的处理逻辑来执行。在一个实施例中,过程200由图1的故障传递逻辑124来执行。
[0032]参照图2,过程200从处理逻辑接收把控制从VMM转到VM的请求(处理框202)开始。在一个实施例中,经由VMM执行的VM入口指令来接收转移控制的请求。
[0033]在判定框204,处理逻辑确定VMM是否已请求向将被调用的VM的故障传递。故障可能是内部中断(例如软件中断)、外部中断(例如硬件中断)、异常(例如页面故障)、平台事件(例如初始化(INIT)或者系统管理中断(SMI))或者其它任何故障事件。在一个实施例中,处理逻辑通过读取VMM所保存的故障指示符的当前值来确定VMM是否已请求故障的传递。故障指示符可驻留在VMCS或者VMM和处理逻辑200可访问的其它任何数据结构中。在一个实施例中,当VMM希望让故障传递到VM时,VMM把故障指示符设置到传递值,然后产生把控制转到这个VM的请求。如果在VM入口期间不需要故障传递,则VMM在请求向VM的控制转移之前把故障指示符设置到非传递值。下面将针对图3来论述这个方面。
[0034]如果处理逻辑确定VMM已请求故障的传递,则处理逻辑把故障传递给VM,同时把控制转到VM(处理框206)。然后,处理逻辑检查故障的传递是否成功(判定框208)。如果是的话,则过程200结束。如果不是的话,则处理逻辑确定所得附加故障是否引起VM出口(判定框210)。如果是的话,则处理逻辑产生VM出口(处理框212)。如果不是的话,则处理逻辑把附加故障传递给VM(处理框214),以及返回到处理框208,检查是否成功传递这个附加故障。如果是的话,则过程200结束。如果不是的话,则处理逻辑返回到判定框210。
[0035]如果处理逻辑确定VMM没有请求故障的传递,则处理逻辑把控制转到VM,而没有执行任何故障相关操作(处理框218)。
[0036]在一个实施例中,当处理逻辑需要把故障传递给VM时,它搜索与被传递的故障关联的入口的重定向结构(例如IntelPentium4的指令集体系结构(ISA)中的中断描述符表(在本文称作IA-32ISA)),从这个入口中提取与这个故障关联的句柄的描述符,以及采用该描述符跳转到句柄的开始。中断描述符表可采用故障标识信息、如故障标识符和故障类型(例如外部中断、内部中断、不可屏蔽中断(NMI)、异常等)来搜索。在一个实施例中,某些故障(例如一些异常)与在跳转到句柄的开始之前需要入栈(或者在硬件寄存器中或经由其它方式来提供)的错误代码关联。在一个实施例中,故障标识信息及关联错误代码由VMM采用指定数据结构来提供。在一个实施例中,指定数据结构为VMCS的组成部分。图3说明存储故障标识信息的VMCS字段的示范格式。这个VMCS字段称作故障信息字段。
[0037]参照图3,在一个实施例中,故障信息字段为32位字段,在其中,前8位存储故障的标识符(例如中断或异常),后2位标识故障的类型(例如外部中断、软件中断、NMI、异常等),位11表明与这个故障关联的错误代码(若有的话)是否要提供给相应的句柄(通过入栈,存储在硬件寄存器中,等等),以及位31是指定故障是否要如上所述传递给VM的故障指示符。
[0038]如果故障信息字段的位11表明错误代码要提供给句柄,则第二VMCS字段被访问,以便得到与这个故障关联的错误代码。第二VMCS字段称作故障错误代码字段。
[0039]在一个实施例中,当VMM希望故障被传递给VM时,VMM把故障标识符和故障类型存储在故障信息字段中,并且把故障指示符(位31)设置到传递值(例如位31=1)。另外,如果故障与需要被提供给句柄的错误代码关联,则VMM把位11设置到传递值(例如位11=1),并且把错误代码值存储在VMCS的故障错误代码字段中。
[0040]图4是用于采用VMM提供的故障信息来处理虚拟机环境中的故障的过程400的一个实施例的流程图。该过程可通过可包括硬件(例如电路、专用逻辑、可编程逻辑、微码等)、软件(例如运行于通用计算机系统或专用机器的)或者它们两者的组合的处理逻辑来执行。在一个实施例中,过程400由图1的故障传递逻辑124来执行。
[0041]参照图4,过程400从处理逻辑检测由VMM对VM入口指令的执行(处理框402)开始。进行响应,处理逻辑访问VMM控制的故障指示符位(处理框403),并确定故障是否要传递给将被调用的VM(判定框404)。如果不是的话,则处理逻辑忽略其余的故障信息,并执行所请求的VM入口(处理框406)。如果是的话,则处理逻辑从VMCS的故障信息字段中获取故障信息(处理框408),并确定与这个故障关联的错误代码是否要提供给故障的句柄(判定框410)。如果是的话,则处理逻辑从VMCS的故障错误代码字段中获取错误代码(处理框412)。如果不是的话,则处理逻辑直接进入处理框414。
[0042]在处理框414,处理逻辑把故障传递给VM,同时执行VM入口。然后,处理逻辑检查故障的传递是否成功(判定框416)。如果是的话,则过程400结束。如果不是的话,则处理逻辑确定所得附加故障是否引起VM出口(判定框418)。如果是的话,则处理逻辑产生VM出口(处理框420)。如果不是的话,则处理逻辑把附加故障传递给VM(处理框422),以及返回到处理框416,检查是否成功传递了这个附加故障。如果是的话,则过程400结束。如果不是的话,则处理逻辑返回到判定框418。
[0043]这样描述了用于处理虚拟机环境中的故障的方法及设备。应当理解,以上描述只是说明性而不是限制性的。通过阅读和理解以上描述,本领域的技术人员将会十分清楚其它许多实施例。因此,本发明的范围应当参照所附权利要求以及这些权利要求涵盖的完整等效范围共同确定。

Claims (26)

1.一种方法,包括:
接收把控制从虚拟机监控器(VMM)转到虚拟机(VM)的请求;
确定所述VMM是否已请求向所述VM的故障传递;以及
如果所述VMM已请求向所述VM的故障传递,则在把控制转到所述VM时,把所述故障传递给所述VM。
2.如权利要求1所述的方法,其特征在于,把控制转到所述VM的所述请求经由所述VMM执行的指令来接收。
3.如权利要求1所述的方法,其特征在于,确定所述VMM是否已请求向所述VM的故障传递包括:
访问所述VMM保存的故障指示符;以及
确定所述故障指示符是否被设置到传递值。
4.如权利要求1所述的方法,其特征在于,还包括:
确定所述故障的标识符和所述故障的类型;以及
确定所述故障是否与要提供给和所述故障关联的句柄的错误代码相关联。
5.如权利要求4所述的方法,其特征在于,还包括:
如果所述故障要求向与所述故障关联的句柄传递错误代码,则检索所述错误代码并把所述错误代码提供给所述句柄。
6.如权利要求4所述的方法,其特征在于,
所述故障指示符、所述故障标识符和所述故障的类型存储在第一字段中;以及
所述错误代码存储在第二字段中。
7.如权利要求6所述的方法,其特征在于,所述第一字段和所述第二字段包含在虚拟机控制结构(VMCS)中。
8.如权利要求1所述的方法,其特征在于,还包括:
确定所述故障的传递是否成功;
确定新的故障是否要求控制转到所述VMM;以及
如果所述新的故障要求所述转变,则把控制转到所述VMM。
9.如权利要求8所述的方法,其特征在于,还包括:
确定所述新的故障不要求控制转到所述VMM;以及
把所述新的故障传递给所述VM。
10.一种设备,包括:
虚拟机监控器(VMM);
由所述VMM控制的数据结构,所述数据结构存储故障指示符;以及
故障传递逻辑,接收把控制从所述VMM转到虚拟机(VM)的请求,采用所述故障指示符来确定所述VMM是否已请求向所述VM的故障传递,以及如果所述VMM已请求向所述VM的故障传递,则在把控制转到所述VM时把故障传递给所述VM。
11.如权利要求10所述的设备,其特征在于,把控制转到所述VM的所述请求经由所述VMM执行的指令来接收。
12.如权利要求10所述的设备,其特征在于,所述故障传递逻辑通过访问所述VMM所保存的所述故障指示符以及确定所述故障指示符是否设置到传递值,确定所述VMM是否已请求向所述VM的故障传递。
13.如权利要求10所述的设备,其特征在于,所述故障传递逻辑还确定所述故障的标识符和所述故障的类型,以及确定所述故障是否与要提供给和所述故障关联的句柄的错误代码相关联。
14.如权利要求13所述的设备,其特征在于,所述故障传递逻辑还检索所述错误代码,以及如果所述故障要求把错误代码传递给与所述故障关联的句柄,则向所述句柄提供所述错误代码。
15.如权利要求13所述的设备,其特征在于:
所述故障指示符、所述故障标识符和所述故障的类型存储在第一字段中;以及
所述错误代码存储在第二字段中。
16.如权利要求15所述的设备,其特征在于,所述第一字段和所述第二字段包含在虚拟机控制结构(VMCS)中。
17.如权利要求10所述的设备,其特征在于,所述故障传递逻辑还确定所述故障的传递不成功,确定新的故障是否要求控制转到所述VMM,以及如果所述新的故障要求所述转变,则把控制转到所述VMM。
18.如权利要求17所述的设备,其特征在于,所述故障传递逻辑还确定所述新的故障不要求控制转到所述VMM,以及把所述新的故障传递给所述VM。
19.一种系统,包括:
存储器,存储客户软件;以及
处理器,耦合到所述存储器,接收把控制从虚拟机监控器(VMM)转到所述客户软件的请求,确定所述VMM是否已请求向所述客户软件的故障传递,以及在把控制转到所述客户软件时,把所述故障传递给所述客户软件。
20.如权利要求19所述的系统,其特征在于,所述处理器还通过访问所述VMM所保存的故障指示符以及确定所述故障指示符是否设置到传递值,确定所述VMM是否已请求向所述VM的故障传递。
21.如权利要求19所述的系统,其特征在于,所述处理器还确定所述故障的标识符和所述故障的类型,以及确定所述故障是否与要提供给和所述故障关联的句柄的错误代码相关联。
22.如权利要求21所述的系统,其特征在于,所述处理器还检索所述错误代码,以及如果所述故障要求把所述错误代码传递给与所述故障关联的所述句柄,则向所述句柄提供所述错误代码。
23.一种机器可读介质,其中包含指令,这些指令由处理系统执行时,使所述处理系统执行一种方法,所述方法包括:
接收把控制从虚拟机监控器(VMM)转到虚拟机(VM)的请求;
确定所述VMM是否已请求向所述VM的故障传递;以及
如果所述VMM已请求向所述VM的故障传递,则在把控制转到所述VM时,把所述故障传递给所述VM。
24.如权利要求23所述的机器可读介质,其特征在于,把控制转到所述VM的所述请求经由所述VMM执行的指令来接收。
25.如权利要求23所述的机器可读介质,其特征在于,确定所述VMM是否已请求向所述VM的故障传递包括:
访问所述VMM保存的故障指示符;以及
确定所述故障指示符是否被设置到传递值。
26.如权利要求23所述的机器可读介质,其特征在于,所述方法还包括:
确定所述故障的标识符和所述故障的类型;以及
确定所述故障是否与要提供给和所述故障关联的句柄的错误代码相关联。
CN200480026398A 2003-09-15 2004-09-15 在恢复虚拟机的操作时将中断或异常转向的方法、装置和系统 Expired - Fee Related CN100585562C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/663,205 US7287197B2 (en) 2003-09-15 2003-09-15 Vectoring an interrupt or exception upon resuming operation of a virtual machine
US10/663,205 2003-09-15

Publications (2)

Publication Number Publication Date
CN1849586A true CN1849586A (zh) 2006-10-18
CN100585562C CN100585562C (zh) 2010-01-27

Family

ID=34274309

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200480026398A Expired - Fee Related CN100585562C (zh) 2003-09-15 2004-09-15 在恢复虚拟机的操作时将中断或异常转向的方法、装置和系统

Country Status (6)

Country Link
US (1) US7287197B2 (zh)
JP (1) JP2007506162A (zh)
CN (1) CN100585562C (zh)
DE (1) DE112004001652B4 (zh)
GB (1) GB2420207B (zh)
WO (1) WO2005029327A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101383688B (zh) * 2007-09-06 2013-12-04 艾优克服务有限公司 数据通信装置及保持数据通信装置高可用性的方法
US9411667B2 (en) 2012-06-06 2016-08-09 Intel Corporation Recovery after input/ouput error-containment events

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7222203B2 (en) * 2003-12-08 2007-05-22 Intel Corporation Interrupt redirection for virtual partitioning
US7707341B1 (en) * 2004-05-11 2010-04-27 Advanced Micro Devices, Inc. Virtualizing an interrupt controller
US7305592B2 (en) * 2004-06-30 2007-12-04 Intel Corporation Support for nested fault in a virtual machine environment
US20070074067A1 (en) * 2005-09-29 2007-03-29 Rothman Michael A Maintaining memory reliability
WO2007065307A2 (en) * 2005-12-10 2007-06-14 Intel Corporation Handling a device related operation in a virtualization environment
US8286162B2 (en) * 2005-12-30 2012-10-09 Intel Corporation Delivering interrupts directly to a virtual processor
US7900204B2 (en) * 2005-12-30 2011-03-01 Bennett Steven M Interrupt processing in a layered virtualization architecture
US20080034193A1 (en) * 2006-08-04 2008-02-07 Day Michael N System and Method for Providing a Mediated External Exception Extension for a Microprocessor
US7533207B2 (en) * 2006-12-06 2009-05-12 Microsoft Corporation Optimized interrupt delivery in a virtualized environment
US8151264B2 (en) * 2007-06-29 2012-04-03 Intel Corporation Injecting virtualization events in a layered virtualization architecture
US7840839B2 (en) * 2007-11-06 2010-11-23 Vmware, Inc. Storage handling for fault tolerance in virtual machines
US8566492B2 (en) * 2009-12-31 2013-10-22 Intel Corporation Posting interrupts to virtual processors
US9262195B2 (en) * 2012-02-28 2016-02-16 Red Hat Israel, Ltd. Manageable external wake of virtual machines
CN102902599B (zh) * 2012-09-17 2016-08-24 华为技术有限公司 虚拟机内部故障处理方法、装置及系统
US9842015B2 (en) * 2013-09-27 2017-12-12 Intel Corporation Instruction and logic for machine checking communication
US9910699B2 (en) 2014-10-28 2018-03-06 Intel Corporation Virtual processor direct interrupt delivery mechanism
US11080088B2 (en) * 2018-12-19 2021-08-03 Intel Corporation Posted interrupt processing in virtual machine monitor

Family Cites Families (130)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3699532A (en) 1970-04-21 1972-10-17 Singer Co Multiprogramming control for a data handling system
US3996449A (en) 1975-08-25 1976-12-07 International Business Machines Corporation Operating system authenticator
US4162536A (en) 1976-01-02 1979-07-24 Gould Inc., Modicon Div. Digital input/output system and method
US4037214A (en) 1976-04-30 1977-07-19 International Business Machines Corporation Key register controlled accessing system
US4247905A (en) 1977-08-26 1981-01-27 Sharp Kabushiki Kaisha Memory clear system
US4278837A (en) 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4276594A (en) 1978-01-27 1981-06-30 Gould Inc. Modicon Division Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same
US4207609A (en) 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
JPS5823570B2 (ja) 1978-11-30 1983-05-16 国産電機株式会社 液面検出装置
JPS5576447A (en) 1978-12-01 1980-06-09 Fujitsu Ltd Address control system for software simulation
US4307447A (en) 1979-06-19 1981-12-22 Gould Inc. Programmable controller
US4319323A (en) 1980-04-04 1982-03-09 Digital Equipment Corporation Communications device for data processing system
US4419724A (en) 1980-04-14 1983-12-06 Sperry Corporation Main bus interface package
US4366537A (en) 1980-05-23 1982-12-28 International Business Machines Corp. Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys
US4403283A (en) 1980-07-28 1983-09-06 Ncr Corporation Extended memory system and method
DE3034581A1 (de) 1980-09-13 1982-04-22 Robert Bosch Gmbh, 7000 Stuttgart Auslesesicherung bei einchip-mikroprozessoren
JPS58140862A (ja) 1982-02-16 1983-08-20 Toshiba Corp 相互排他方式
US4521852A (en) 1982-06-30 1985-06-04 Texas Instruments Incorporated Data processing device formed on a single semiconductor substrate having secure memory
JPS59111561A (ja) 1982-12-17 1984-06-27 Hitachi Ltd 複合プロセツサ・システムのアクセス制御方式
US4759064A (en) 1985-10-07 1988-07-19 Chaum David L Blind unanticipated signature systems
US4975836A (en) 1984-12-19 1990-12-04 Hitachi, Ltd. Virtual computer system
JPS61206057A (ja) 1985-03-11 1986-09-12 Hitachi Ltd アドレス変換装置
FR2592510B1 (fr) 1985-12-31 1988-02-12 Bull Cp8 Procede et appareil pour certifier des services obtenus a l'aide d'un support portatif tel qu'une carte a memoire
FR2601525B1 (fr) 1986-07-11 1988-10-21 Bull Cp8 Dispositif de securite interdisant le fonctionnement d'un ensemble electronique apres une premiere coupure de son alimentation electrique
FR2601535B1 (fr) 1986-07-11 1988-10-21 Bull Cp8 Procede pour certifier l'authenticite d'une donnee echangee entre deux dispositifs connectes en local ou a distance par une ligne de transmission
FR2601476B1 (fr) 1986-07-11 1988-10-21 Bull Cp8 Procede pour authentifier une donnee d'habilitation externe par un objet portatif tel qu'une carte a memoire
FR2618002B1 (fr) 1987-07-10 1991-07-05 Schlumberger Ind Sa Procede et systeme d'authentification de cartes a memoire electronique
US5007082A (en) 1988-08-03 1991-04-09 Kelly Services, Inc. Computer software encryption apparatus
US5079737A (en) 1988-10-25 1992-01-07 United Technologies Corporation Memory management unit for the MIL-STD 1750 bus
US5434999A (en) 1988-11-09 1995-07-18 Bull Cp8 Safeguarded remote loading of service programs by authorizing loading in protected memory zones in a terminal
FR2640798B1 (fr) 1988-12-20 1993-01-08 Bull Cp8 Dispositif de traitement de donnees comportant une memoire non volatile electriquement effacable et reprogrammable
JPH02171934A (ja) 1988-12-26 1990-07-03 Hitachi Ltd 仮想計算機システム
JPH02208740A (ja) 1989-02-09 1990-08-20 Fujitsu Ltd 仮想計算機制御方式
US5442645A (en) 1989-06-06 1995-08-15 Bull Cp8 Method for checking the integrity of a program or data, and apparatus for implementing this method
JP2590267B2 (ja) 1989-06-30 1997-03-12 株式会社日立製作所 仮想計算機における表示制御方式
US5022077A (en) 1989-08-25 1991-06-04 International Business Machines Corp. Apparatus and method for preventing unauthorized access to BIOS in a personal computer system
JP2825550B2 (ja) 1989-09-21 1998-11-18 株式会社日立製作所 多重仮想空間アドレス制御方法および計算機システム
CA2010591C (en) 1989-10-20 1999-01-26 Phillip M. Adams Kernels, description tables and device drivers
CA2027799A1 (en) 1989-11-03 1991-05-04 David A. Miller Method and apparatus for independently resetting processors and cache controllers in multiple processor systems
US5075842A (en) 1989-12-22 1991-12-24 Intel Corporation Disabling tag bit recognition and allowing privileged operations to occur in an object-oriented memory protection mechanism
US5108590A (en) 1990-09-12 1992-04-28 Disanto Dennis Water dispenser
US5230069A (en) 1990-10-02 1993-07-20 International Business Machines Corporation Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system
US5317705A (en) 1990-10-24 1994-05-31 International Business Machines Corporation Apparatus and method for TLB purge reduction in a multi-level machine system
US5287363A (en) 1991-07-01 1994-02-15 Disk Technician Corporation System for locating and anticipating data storage media failures
US5437033A (en) 1990-11-16 1995-07-25 Hitachi, Ltd. System for recovery from a virtual machine monitor failure with a continuous guest dispatched to a nonguest mode
US5255379A (en) 1990-12-28 1993-10-19 Sun Microsystems, Inc. Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 80486 processor
US5453003A (en) 1991-01-09 1995-09-26 Pfefferle; William C. Catalytic method
US5319760A (en) 1991-06-28 1994-06-07 Digital Equipment Corporation Translation buffer for virtual machines with address space match
US5522075A (en) * 1991-06-28 1996-05-28 Digital Equipment Corporation Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces
US5455909A (en) 1991-07-05 1995-10-03 Chips And Technologies Inc. Microprocessor with operation capture facility
JPH06236284A (ja) 1991-10-21 1994-08-23 Intel Corp コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム
US5627987A (en) 1991-11-29 1997-05-06 Kabushiki Kaisha Toshiba Memory management and protection system for virtual memory in computer system
US5574936A (en) 1992-01-02 1996-11-12 Amdahl Corporation Access control mechanism controlling access to and logical purging of access register translation lookaside buffer (ALB) in a computer system
US5486529A (en) 1992-04-16 1996-01-23 Zeneca Limited Certain pyridyl ketones for treating diseases involving leukocyte elastase
US5421006A (en) 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5237616A (en) 1992-09-21 1993-08-17 International Business Machines Corporation Secure computer system having privileged and unprivileged memories
US5293424A (en) 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card
US5796835A (en) 1992-10-27 1998-08-18 Bull Cp8 Method and system for writing information in a data carrier making it possible to later certify the originality of this information
JP2765411B2 (ja) 1992-11-30 1998-06-18 株式会社日立製作所 仮想計算機方式
US5668971A (en) 1992-12-01 1997-09-16 Compaq Computer Corporation Posted disk read operations performed by signalling a disk read complete to the system prior to completion of data transfer
JPH06187178A (ja) * 1992-12-18 1994-07-08 Hitachi Ltd 仮想計算機システムの入出力割込み制御方法
US5483656A (en) 1993-01-14 1996-01-09 Apple Computer, Inc. System for managing power consumption of devices coupled to a common bus
US5469557A (en) 1993-03-05 1995-11-21 Microchip Technology Incorporated Code protection in microcontroller with EEPROM fuses
FR2703800B1 (fr) 1993-04-06 1995-05-24 Bull Cp8 Procédé de signature d'un fichier informatique, et dispositif pour la mise en Óoeuvre.
FR2704341B1 (fr) 1993-04-22 1995-06-02 Bull Cp8 Dispositif de protection des clés d'une carte à puce.
JPH06348867A (ja) 1993-06-04 1994-12-22 Hitachi Ltd マイクロコンピュータ
FR2706210B1 (fr) 1993-06-08 1995-07-21 Bull Cp8 Procédé d'authentification d'un objet portatif par un terminal hors ligne, objet portatif et terminal correspondants.
US5555385A (en) 1993-10-27 1996-09-10 International Business Machines Corporation Allocation of address spaces within virtual machine compute system
US5825880A (en) 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system
US5459869A (en) 1994-02-17 1995-10-17 Spilo; Michael L. Method for providing protected mode services for device drivers and other resident software
US5604805A (en) 1994-02-28 1997-02-18 Brands; Stefanus A. Privacy-protected transfer of electronic information
FR2717286B1 (fr) 1994-03-09 1996-04-05 Bull Cp8 Procédé et dispositif pour authentifier un support de données destiné à permettre une transaction ou l'accès à un service ou à un lieu, et support correspondant.
US5684881A (en) 1994-05-23 1997-11-04 Matsushita Electric Industrial Co., Ltd. Sound field and sound image control apparatus and method
US5539828A (en) 1994-05-31 1996-07-23 Intel Corporation Apparatus and method for providing secured communications
US5473692A (en) 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
US5978481A (en) * 1994-08-16 1999-11-02 Intel Corporation Modem compatible method and apparatus for encrypting data that is transparent to software applications
JPH0883211A (ja) 1994-09-12 1996-03-26 Mitsubishi Electric Corp データ処理装置
US6058478A (en) * 1994-09-30 2000-05-02 Intel Corporation Apparatus and method for a vetted field upgrade
FR2725537B1 (fr) 1994-10-11 1996-11-22 Bull Cp8 Procede de chargement d'une zone memoire protegee d'un dispositif de traitement de l'information et dispositif associe
US5903752A (en) 1994-10-13 1999-05-11 Intel Corporation Method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system
US5606617A (en) 1994-10-14 1997-02-25 Brands; Stefanus A. Secret-key certificates
US5564040A (en) 1994-11-08 1996-10-08 International Business Machines Corporation Method and apparatus for providing a server function in a logically partitioned hardware machine
US5560013A (en) 1994-12-06 1996-09-24 International Business Machines Corporation Method of using a target processor to execute programs of a source architecture that uses multiple address spaces
US5555414A (en) 1994-12-14 1996-09-10 International Business Machines Corporation Multiprocessing system including gating of host I/O and external enablement to guest enablement at polling intervals
US5615263A (en) 1995-01-06 1997-03-25 Vlsi Technology, Inc. Dual purpose security architecture with protected internal operating system
US5764969A (en) 1995-02-10 1998-06-09 International Business Machines Corporation Method and system for enhanced management operation utilizing intermixed user level and supervisory level instructions with partial concept synchronization
FR2731536B1 (fr) 1995-03-10 1997-04-18 Schlumberger Ind Sa Procede d'inscription securisee d'informations dans un support portable
US5717903A (en) 1995-05-15 1998-02-10 Compaq Computer Corporation Method and appartus for emulating a peripheral device to allow device driver development before availability of the peripheral device
JP3451595B2 (ja) 1995-06-07 2003-09-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 二つの別個の命令セット・アーキテクチャへの拡張をサポートすることができるアーキテクチャ・モード制御を備えたマイクロプロセッサ
US5684948A (en) 1995-09-01 1997-11-04 National Semiconductor Corporation Memory management circuit which provides simulated privilege levels
US5633929A (en) 1995-09-15 1997-05-27 Rsa Data Security, Inc Cryptographic key escrow system having reduced vulnerability to harvesting attacks
US5737760A (en) 1995-10-06 1998-04-07 Motorola Inc. Microcontroller with security logic circuit which prevents reading of internal memory by external program
JP3693721B2 (ja) 1995-11-10 2005-09-07 Necエレクトロニクス株式会社 フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法
IL116708A (en) * 1996-01-08 2000-12-06 Smart Link Ltd Real-time task manager for a personal computer
US5657445A (en) 1996-01-26 1997-08-12 Dell Usa, L.P. Apparatus and method for limiting access to mass storage devices in a computer system
US5835594A (en) 1996-02-09 1998-11-10 Intel Corporation Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
US5978892A (en) * 1996-05-03 1999-11-02 Digital Equipment Corporation Virtual memory allocation in a virtual address space having an inaccessible gap
US5809546A (en) 1996-05-23 1998-09-15 International Business Machines Corporation Method for managing I/O buffers in shared storage by structuring buffer table having entries including storage keys for controlling accesses to the buffers
US6175925B1 (en) * 1996-06-13 2001-01-16 Intel Corporation Tamper resistant player for scrambled contents
US5729760A (en) 1996-06-21 1998-03-17 Intel Corporation System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode
US5740178A (en) 1996-08-29 1998-04-14 Lucent Technologies Inc. Software for controlling a reliable backup memory
US6055637A (en) * 1996-09-27 2000-04-25 Electronic Data Systems Corporation System and method for accessing enterprise-wide resources by presenting to the resource a temporary credential
US5844986A (en) 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
US5937063A (en) * 1996-09-30 1999-08-10 Intel Corporation Secure boot
JPH10134008A (ja) * 1996-11-05 1998-05-22 Mitsubishi Electric Corp 半導体装置およびコンピュータシステム
US5852717A (en) 1996-11-20 1998-12-22 Shiva Corporation Performance optimizations for computer networks utilizing HTTP
US5901225A (en) 1996-12-05 1999-05-04 Advanced Micro Devices, Inc. System and method for performing software patches in embedded systems
US5757919A (en) 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
US5818939A (en) * 1996-12-18 1998-10-06 Intel Corporation Optimized security functionality in an electronic system
US5953502A (en) * 1997-02-13 1999-09-14 Helbig, Sr.; Walter A Method and apparatus for enhancing computer system security
US6075938A (en) * 1997-06-10 2000-06-13 The Board Of Trustees Of The Leland Stanford Junior University Virtual machine monitors for scalable multiprocessors
US5987557A (en) * 1997-06-19 1999-11-16 Sun Microsystems, Inc. Method and apparatus for implementing hardware protection domains in a system with no memory management unit (MMU)
US6014745A (en) * 1997-07-17 2000-01-11 Silicon Systems Design Ltd. Protection for customer programs (EPROM)
US6148379A (en) * 1997-09-19 2000-11-14 Silicon Graphics, Inc. System, method and computer program product for page sharing between fault-isolated cells in a distributed shared memory system
US5970147A (en) * 1997-09-30 1999-10-19 Intel Corporation System and method for configuring and registering a cryptographic device
US6061794A (en) * 1997-09-30 2000-05-09 Compaq Computer Corp. System and method for performing secure device communications in a peer-to-peer bus architecture
US6085296A (en) * 1997-11-12 2000-07-04 Digital Equipment Corporation Sharing memory pages and page tables among computer processes
US6173417B1 (en) * 1998-04-30 2001-01-09 Intel Corporation Initializing and restarting operating systems
US6496847B1 (en) * 1998-05-15 2002-12-17 Vmware, Inc. System and method for virtualizing computer systems
US7225333B2 (en) * 1999-03-27 2007-05-29 Microsoft Corporation Secure processor architecture for use with a digital rights management (DRM) system on a computing device
US6158546A (en) * 1999-06-25 2000-12-12 Tenneco Automotive Inc. Straight through muffler with conically-ended output passage
JP3710671B2 (ja) * 2000-03-14 2005-10-26 シャープ株式会社 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法
US7818808B1 (en) * 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
US7631160B2 (en) * 2001-04-04 2009-12-08 Advanced Micro Devices, Inc. Method and apparatus for securing portions of memory
US7676430B2 (en) * 2001-05-09 2010-03-09 Lenovo (Singapore) Ptd. Ltd. System and method for installing a remote credit card authorization on a system with a TCPA complaint chipset
US7191464B2 (en) * 2001-10-16 2007-03-13 Lenovo Pte. Ltd. Method and system for tracking a secure boot in a trusted computing environment
US7103771B2 (en) * 2001-12-17 2006-09-05 Intel Corporation Connecting a virtual token to a physical token
US7308576B2 (en) * 2001-12-31 2007-12-11 Intel Corporation Authenticated code module
US7124327B2 (en) * 2002-06-29 2006-10-17 Intel Corporation Control over faults occurring during the operation of guest software in the virtual-machine architecture
US8079034B2 (en) * 2003-09-15 2011-12-13 Intel Corporation Optimizing processor-managed resources based on the behavior of a virtual machine monitor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101383688B (zh) * 2007-09-06 2013-12-04 艾优克服务有限公司 数据通信装置及保持数据通信装置高可用性的方法
US9411667B2 (en) 2012-06-06 2016-08-09 Intel Corporation Recovery after input/ouput error-containment events

Also Published As

Publication number Publication date
CN100585562C (zh) 2010-01-27
US20050060703A1 (en) 2005-03-17
US7287197B2 (en) 2007-10-23
DE112004001652T5 (de) 2006-06-22
JP2007506162A (ja) 2007-03-15
DE112004001652B4 (de) 2015-03-12
GB2420207A (en) 2006-05-17
GB0603362D0 (en) 2006-03-29
GB2420207B (en) 2008-04-16
WO2005029327A1 (en) 2005-03-31

Similar Documents

Publication Publication Date Title
CN100585562C (zh) 在恢复虚拟机的操作时将中断或异常转向的方法、装置和系统
US9229881B2 (en) Security in virtualized computer programs
CN1849585A (zh) 处理特许事件的多个虚拟机监控器的使用
US11687645B2 (en) Security control method and computer system
US9747172B2 (en) Selective access to executable memory
CN108292337B (zh) 虚拟化环境下安全堡垒区域的可信开启
US9832226B2 (en) Automatic curation and modification of virtualized computer programs
US20070067590A1 (en) Providing protected access to critical memory regions
EP1761850B1 (en) Support for nested faults in a virtual machine environment
Perla et al. A guide to kernel exploitation: attacking the core
WO2005033937A1 (en) Mechanism to control hardware interrupt acknowledgement in a virtual machine system
CN1628284A (zh) 安全执行模式异常
CN116266229A (zh) 确定用于软件漏洞检测和纠正的细化上下文的方法和装置
CN1169046C (zh) 完全迟缓链接
US5822607A (en) Method for fast validation checking for code and data segment descriptor loads
US5815729A (en) Method and apparatus for on the fly descriptor validation
CN113127148B (zh) 一种虚拟化环境主动动态度量方法和系统
US11803381B2 (en) Instruction simulation device and method thereof
TW202409842A (zh) 例外返回狀態鎖定參數
CN116204223A (zh) 一种用于应用请求接口的字段校验框架和接口校验方法
CN118410500A (zh) 权限管控方法、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100127

Termination date: 20210915