处理器模式锁定的制作方法
【专利摘要】本公开内容的实现方式涉及一种用于以下方法、系统和计算机可读介质,该方法、系统和计算机可读介质用于:在第一处理模式中操作数据处理装置中的处理器;设置处理器的控制寄存器的一个或者多个控制位以配置处理器在不同的第二处理模式中操作;在执行于数据处理装置上的虚拟机中提供虚拟寄存器,虚拟寄存器具有与控制寄存器的控制位对应的一个或者多个锁定位;设置虚拟寄存器的一个或者多个锁定位的值;以及响应于设置一个或者多个锁定位的值,防止处理器被配置用于在第一处理模式中操作。
【专利说明】处理器模式锁定
[0001]优先权要求
[0002]本申请要求对通过引用将其全部内容结合于此、于2012年I月9日提交的第13/346,547号美国专利申请和于2011年I月13日提交的第61/432,526号美国临时专利申请的优先权。
【技术领域】
[0003]本公开内容涉及处理器模式锁定。
【背景技术】
[0004]云计算是基于网络的计算,在该计算中,在数据中心或者“服务器群”中容纳的服务器的大型汇集通常按照需要向远程终端用户提供计算资源和数据存储装置。一些云计算服务向终端用户提供对软件应用(比如字处理器和其他常用应用)的访问,这些终端用户通过web浏览器或者其他客户端侧软件与应用交互。用户的电子数据文件通常被存储于服务器群中而不是用户的计算设备上。在服务器群上维护软件应用和用户数据简化终端用户计算设备的管理。一些云计算服务允许终端用户在虚拟机中执行软件应用。
【发明内容】
[0005]一般而言,可以在包括以下动作的方法中体现在本说明书中描述的主题内容的一个创新方面:在第一处理模式中操作数据处理装置中的处理器;设置处理器的控制寄存器的一个或者多个控制位以配置处理器在不同的第二处理模式中操作;在执行于数据处理装置上的虚拟机中提供虚拟寄存器,虚拟寄存器具有与控制寄存器的控制位对应的一个或者多个锁定位;设置虚拟寄存器的一个或者多个锁定位的值;以及响应于设置一个或者多个锁定位的值,防止处理器被配置用于在第一处理模式中操作。这一方面的其他实施例包括对应系统、装置和计算机程序。
[0006]这些和其他方面可以可选地包括以下特征中的一个或者多个特征。可以截获用于改变控制寄存器的一个或者多个控制位的值的尝试。设置一个或者多个锁定位的值还可以包括指示监视一个或者多个控制位的值。操作处理器可以包括在引导处理器的操作系统期间在第一处理模式中操作处理器。第一处理模式可以是16位处理模式并且第二处理模式可以是32位处理模式。第一处理模式可以是16位处理模式并且第二处理模式可以是64位处理模式。响应于设置一个或者多个锁定位的值,处理器可以被配置用于仅在第二处理模式中操作。
[0007]可以实施在本说明中描述的主题内容的特定实施例以便实现以下优点中的一个或者多个优点。计算设备能够从在第一处理模式之下操作改变成在第二处理模式之下操作。一旦计算设备在第二处理模式之下操作,则防止计算设备再次在第一处理模式之下操作。
[0008]在附图和以下描述中阐述在本说明书中描述的主题内容的一个或者多个实施例的细节。主题内容的其他特征、方面和优点将从描述、附图和权利要求变得清楚。
【专利附图】
【附图说明】
[0009]图1图示根据本公开内容的示例虚拟机系统架构。
[0010]图2-图4图示示例虚拟机系统的简化示意图示。
[0011]图5图示用于控制虚拟机系统的处理模式的示例技术的流程图。
【具体实施方式】
[0012]图1是示例虚拟机系统100的示意图示。该系统包括一个或者多个主机机器,如例如主机机器102和主机机器104。一般而言,主机机器是一个或者多个数据处理装置,比如架装式服务器或者其他计算设备。主机机器可以具有不同能力和计算机架构。主机机器可以通过内部数据通信网络116相互通信。内部网络可以包括例如包括一个或者多个有线(例如,以太网)或者无线(例如,W1-FI)网络。在一些实现方式中,内部网络116是内联网。主机机器也可以通过一个或者多个网关120与外部网络(比如因特网122)上的设备通信,该一个或者多个网关120是负责在内部网络116与因特网122之间路由(ixnite)数据通信流量的数据处理装置。其他类型的外部网络是可能的。
[0013]每个主机机器执行主机操作系统或者其他软件,该主机操作系统或者其他软件虚拟化下层主机机器硬件并且管理一个或者多个虚拟机的并行执行。例如,主机操作系统106管理虚拟机(VM) 110和VMl 12,而主机0S108管理单个VMl 14。每个VM包括下层主机机器硬件的并且被称为虚拟硬件(例如,虚拟硬件110a、112a和114a)的模拟版本。由虚拟硬件执行的软件被称为客户软件。在一些实现方式中,客户软件无法确定它是否在由虚拟硬件或者由物理主机机器执行。如果在VM中执行的客户软件或者VM本身出故障或者中止,则在主机机器上执行的其他VM将不会受影响。主机机器的微处理器可以包括处理器级机制,这些机制用于通过允许在主机机器的微处理器上直接执行客户软件指令而无需代码重写、重新编译或者指令模拟来使虚拟硬件高效执行软件应用。
[0014]向每个VM(例如,VM110、112和114)分配来自下层主机操作系统的虚拟存储器的一组虚拟存储器页面并且分配来自一个或者多个虚拟盘驱动的虚拟盘块以用于由在VM上执行的客户软件使用。例如,主机操作系统106向VMllO和VM112分配存储器页面和盘块,并且主机操作系统108为VMl 14完成相同操作。在一些实现方式中,给定VM无法访问已经向其他VM指派的存储器页面。例如,VMllO无法访问已经向VMl 12指派的存储器页面。可以跨越VM重启而持续虚拟盘驱动。例如,在耦合到主机机器的或者通过内部网络116可用的物理盘驱动上分配虚拟盘块。除了虚拟存储器和盘资源之外,可以向VM分配网络地址,它们的相应客户软件可以通过这些网络地址与通过内部网络116或者因特网122可达的其他过程通信。例如,在VMl 10上执行的客户软件可以与在VMl 12或者VMl 14上执行的客户软件通信。在一些实现方式中,向每个VM分配一个或者多个唯一网际协议(IP)版本4或者版本6地址。在一些实现方式中,向每个VM分配一个或者多个介质访问控制(MAC)地址。在一些实现方式中,每个VM以网络地址转译(NAT)方式共享TCP/UDP (传输控制协议/用户数据报协议)端口空间。其他地址方案是可能的。VM IP地址在内部网络116上可见,并且在一些实现方式中,如果例如使用适当路由协议来通报地址则在因特网122上可见。[0015]VM的客户软件可以包括客户操作系统(例如,客户操作系统110b、112b和114b),该客户操作系统是如下软件,该软件控制相应客户软件应用(例如,客户应用110c、112c和114c)在VM内的执行并且向那些应用提供服务。例如,客户操作系统可以是UNIX操作系统的变型。其他操作系统也是可能的。每个VM可以执行相同客户操作系统或者不同客户操作系统上。在更多实现方式中,VM无需客户操作系统以便执行客户软件应用。客户操作系统对资源(比如网络和虚拟盘存储装置)的访问由下层主机操作系统控制。在一些实现方式中,可以运用管理程序作为允许多个操作系统在主机机器上并行运行的硬件虚拟化技术。类型I (或者本机、裸金属)管理程序在主机的硬件上直接运行以控制硬件并且管理客户操作系统,而类型2 (或者主控的)管理程序在常规操作系统环境内运行。
[0016]通过示例并且参照虚拟机110,在客户应用IIOc或者客户操作系统IIOb例如尝试对虚拟盘执行输入/输出操作、发起网络通信或者执行特权操作时,虚拟硬件IlOa被中断,从而使得主机操作系统106可以代表虚拟机110执行动作。主机操作系统106可以利用在内核过程空间106b、用户过程空间106a或者二者中执行的过程执行这些动作。
[0017]内核过程空间106b是为主机操作系统106的内核106d而保留的虚拟存储器,该内核106d可以例如包括内核扩展和设备驱动程序。内核过程空间具有提升的特权(有时被称为“监管程序模式”),也就是说,内核106d可以执行某些特权操作,这些操作脱离对在用户过程空间106a中运行的过程的限制。特权操作的示例包括访问不同地址空间、访问主机机器中的特殊功能处理器单元(比如存储器管理单元)等等。用户过程空间106a是为用户模式过程而保留的虚拟存储器的单独部分。用户模式过程无法直接执行特权操作。
[0018]图2是示例虚拟机系统200的简化示意图示。系统200包括主机机器202,该主机机器202包含执行主机操作系统204的处理器203 (例如,中央处理单元),其中主机操作系统204管理VM206。处理器203管理控制寄存器208,并且主机操作系统108管理监视模块210和截获器模块212。监视模块210监视控制寄存器208的状态,并且截获器模块212截获用于改变控制寄存器208的状态的尝试,以下进一步描述二者。
[0019]主机机器202可以利用不同处理模式(例如16位、32位、64位等等)来操作。处理器203的处理模式涉及由处理器203寻址的数据和存储器。在一些示例中,在16位处理模式中操作的处理器203处理由16位代表的数据和存储器地址;并且同样地,在32位处理模式中操作的处理器203处理由32位代表的数据和存储器地址。
[0020]在一些不例中,在引导主机操作系统204期间,处理器203在一个处理模式(例如,16位处理模式)中操作。在引导主机操作系统204之后,处理器203可以被配置用于在另一处理模式(例如,32位或者64位处理模式)中操作。向另一处理模式切换可以例如使处理器203能够在更高处理速率操作并且增加处理器203可以寻址的在存储器中的位置的数目。控制寄存器208的一个或者多个相邻或者非相邻控制位的值控制处理器203的处理模式的选择。在一些实现方式中,单个控制位(例如,控制位214)的值配置处理器203的处理模式。控制寄存器208可以例如是32位寄存器,而控制位214为第31位。其他控制寄存器宽度是可能的。例如,设置控制位214以具有值“I”配置处理器203在引导系统200期间在特定处理模式(例如,16位处理模式)中操作。为了向另一处理模式(例如,32位或者64位)切换,控制位214的值被改变。例如,设置控制位214以具有值“O”指示处理器203利用另一处理模式(例如32位或者64位处理模式)。在一些不例中,处理器203控制控制位214的设置。在一些其他示例中,主机操作系统204控制控制位214的设置。
[0021]在引导主机操作系统204期间,处理器203可以在初始处理模式中操作。在一些示例中,如图2中所示,设置控制位214为“I”以配置处理器203在初始处理模式中操作。在引导主机操作系统204之后,处理器204可以被配置用于在不同处理模式中操作。在一些示例中,如图3中所示,设置控制位214为“O”以配置处理器203在稍后理模式中操作。一旦处理器203已经完成利用初始处理模式(例如,利用16位处理模式引导)并且已经切换成在稍后处理模式之下操作,则防止处理器203再次利用初始处理模式,例如,“锁定”处理器203的处理模式。
[0022]在一些示例中,处理器203的初始处理模式可能造成系统200的安全弱点问题。因此,最小化处理器203对初始处理模式的使用可以最小化或者减轻安全弱点问题。在一些实现方式中,处理器203仅在需要时(比如在引导主机操作系统204)期间运用初始处理模式。在一些示例中,初始处理模式是16位处理模式。为了防止处理器203被配置用于在已经被配置成不同处理模式之后使用初始处理模式,监视控制位(例如,控制位214)的值,从而使得仅利用稍后处理模式。
[0023]图4示出包括由VM206提供的虚拟寄存器400的系统200。在各种实现方式中,对控制寄存器208并且具体为控制寄存器208的控制位的监视由虚拟寄存器400支配。虚拟寄存器400的一个或者多个相邻或者非相邻锁定位的值指示控制寄存器208的控制位的监视状态。例如,锁定位402的值确定是否启用或者停用监视模块210监视控制位214。在一些示例中,VM206可以包括多个虚拟寄存器400。
[0024]在一些实现方式中,虚拟寄存器400是32位寄存器,其中设置锁定位402为虚拟寄存器400的第31位。其他寄存器宽度是可能的。在更多实现方式中,设置锁定位402以具有值“O”指示启用监视模块210以监视控制位214的值并且检测用于改变控制位214的值的尝试。设置控制位402以具有值“I”指示停用监视模块210监视控制位214的值。在一些示例中,VM206控制锁定位402的设置。
[0025]为此,在设置锁定位402的值以指示监视模块210监视控制位214的值时,处理器203仅运用选择的处理模式(例如,在引导主机操作系统204之后的稍后处理模式)。在进行尝试改变控制位214的值从而造成处理器203切换处理模式(例如,处理器203从另一处理模式向特定处理模式切换)时,截获器模块212截获尝试。在截获尝试时,系统200防止控制位214被改变,从而使得处理器203不改变处理模式。在一些示例中,在截获器模块212截获尝试时,可以触发报警以指示入侵系统100。在一些示例中,在截获器模块212截获尝试时,停止处理器203的任何处理。
[0026]图5是用于配置处理器203的处理模式的示例技术500的流程图。处理器203在初始处理模式中操作(502)。设置控制位(例如,控制位214)的值以配置处理器203在另一处理模式中操作(504)。提供具有与控制位214对应的锁定位402的虚拟寄存器400 (506)。设置锁定位402的值以指示监视控制位214的值以提供仅在设置锁定位402的值之后利用另一处理模式(508)。另外,在设置锁定位402的值之后,处理器203不能在初始处理模式中操作。
[0027]可以在数字电子电路装置中或者在计算机软件、固件或者硬件(包括在本说明书中公开的结构及其结构等效物)中或者在它们中的一项或者多项的组合中实施在本说明书中描述的主题内容和操作的实施例。可以将在本说明书中描述的主题内容的实施例实施为在计算机存储介质上编码的用于由数据处理装置执行或者控制数据处理装置的操作的一个或者多个计算机程序、即一个或者多个计算机程序指令模块。备选地或者附加地,可以在人为生成的传播的信号(例如,机器生成的电、光或者电磁信号)上对程序指令编码,该信号被生成用于对信息编码以用于向适当接收器装置传输以供数据处理装置执行。计算机存储介质可以是计算机可读存储设备、计算机可读存储衬底、随机或者串行存取存储器阵列或者设备或者它们中的一项或者多项的组合或者被包括于计算机可读存储设备、计算机可读存储衬底、随机或者串行存取存储器阵列或者设备或者它们中的一项或者多项的组合中。另外,尽管计算机存储介质不是传播的信号,但是计算机存储介质可以是在人为生成的传播的信号中编码的计算机程序指令的源或者目的地。计算机存储介质也可以是一个或者多个单独物理部件或者介质(例如,多个CD、盘或者其他存储设备)或者被包括于一个或者多个单独物理部件或者介质中。
[0028]可以将在本说明书中描述的操作实施为由数据处理装置对在一个或者多个计算机可读存储设备上存储的或者从其他来源接收的数据执行的操作。
[0029]术语“数据处理装置”涵盖所有种类的用于处理数据的装置、设备和机器,举例而言包括可编程处理器、计算机、片上系统或者前述各项中的多项或者组合。该装置可以包括专用逻辑电路装置,例如,FPGA(现场可编程门阵列)或者ASIC(专用集成电路)。该装置除了硬件之外也可以包括为讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或者它们中的一项或者多项的组合的代码。该装置和执行环境可以实现各种不同计算模型基础结构,比如web服务、分布式计算和网格计算基础结构。
[0030]可以用包括编译或者解译语言、说明或者过程语言的任何形式的编程语言编写计算机程序(也被称为程序、软件、软件应用、脚本或者代码),并且可以用任何形式部署它,包括部署为独立程序或者部署为适合于在计算环境中使用的模块、部件、子例程、对象或者其他单元。计算机程序可以、但是无需对应于文件系统中的文件。程序可以被存储于保持其他程序或者数据的文件(例如,存储于标记语言文档中的一个或者多个脚本)的一部分中、专用于讨论的程序的单个文件中或者多个协同文件(例如,存储一个或者多个模块、子程序或者代码部分的文件)中。计算机程序可以被部署用于在一个计算机上或者在位于一个地点或者分布于多个地点并且由通信网络互连的多个计算机上执行。
[0031]在本说明书中描述的过程和逻辑流程可以由一个或者多个可编程处理器执行,该一个或者多个可编程处理器执行一个或者多个计算机程序以通过对输入数据操作并且生成输出来执行动作。过程和逻辑流也可以由专用逻辑电路装置(例如,FPGA(现场可编程门阵列)或者ASIC(专用集成电路))执行并且也可以将装置实施为专用逻辑电路装置。
[0032]举例而言,适合于执行计算机程序的处理器包括通用微处理器和专用微处理器二者以及任何种类的数字计算机中的任何一个或者多个处理器。一般而言,处理器将从只读存储器或者随机存取存储器或者二者接收指令和数据。计算机的基本单元是用于根据指令执行动作的处理器以及用于存储指令和数据的一个或者多个存储器设备。一般而言,计算机也将包括用于存储数据的一个或者多个海量存储设备(例如,磁盘、磁光盘或者光盘)或者被操作地耦合用于从该一个或者多个海量存储设备接收数据或者向该一个或者多个海量存储设备发送数据或者二者。然而,计算机无需具有这样的设备。另外,计算机可以被嵌入于另一设备中,聊举数例,例如,移动电话、个人数字助理(PDA)、移动音频或者视频播放器、游戏控制台、全球定位系统(GPS)接收器或者便携存储设备(例如,通用串行总线(USB)快闪驱动)。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,举例而言包括半导体存储器设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或者可去除盘;磁光盘;以及⑶-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路装置补充或者并入于专用逻辑电路装置中。
[0033]为了提供与用户的交互,可以在计算机上实施在本说明书中描述的主题内容的实施例,该计算机具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器)以及用户可以用来向计算机提供输入的键盘和指点设备,例如,鼠标或者跟踪球。其他种类的设备也可以用来提供与用户的交互;例如,向用户提供的反馈可以是任何形式的感官反馈,例如,视觉反馈、听觉反馈或者触觉反馈;并且可以用包括声音、话音或者触觉输入的任何形式接收来自用户的输入。此外,计算机可以通过向用户使用的设备发送文档和从该设备接收文档(例如,通过响应于从用户的客户端设备上的web浏览器接收的请求向web浏览器发送网页)来与用户交互。
[0034]可以在计算系统中实施在本说明书中描述的主题内容的实施例,该计算系统包括例如作为数据服务器的后端部件或者包括中间件部件(例如,应用服务器)或者包括前端部件(例如,具有图形用户界面或者Web浏览器(用户可以通过该图形用户界面或者Web浏览器与在本说明书中描述的主题内容的实现方式交互——)的客户端计算机)或者一个或者多个这样的后端、中间件或者前端部件的任何组合。系统的部件可以由任何数字数据通信形式或者介质(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”,)、互联网(例如,因特网)和对等网络(例如,自组织对等网络)。
[0035]计算系统可以包括客户端和服务器。客户端和服务器一般相互远离并且通常通过通信网络交互。客户端和服务器的关系借助在相应计算机上运行并且相互具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器向客户端设备传输数据(例如,HTML页面)(例如,用于向与客户端设备交互的用户显示数据和从该用户接收用户输入)。可以在服务器从客户端设备接收在客户端设备生成的数据(例如,用户交互的结果)。
[0036]尽管本说明书包含许多具体实现方式细节,但是不应将这些解释为限制任何发明的或者可以要求保护的内容的范围,而是对具体发明的具体实施例特有的特征的解释。在本说明书中在分开的实施例的背景中描述的某些特征也可以在单个实施例中被组合实施。相反地,在单个实施例的背景中描述的各种特征也可以在多个实施例中分开地或者在任何适当子组合中被实施。另外,虽然上文可以将特征描述为在某些组合中动作并且甚至起初这样要求保护,但是来自要求保护的组合的一个或者多个特征可以在一些情况下从该组合中被删除,并且要求保护的组合可以涉及子组合或者子组合的变型。
[0037]类似地,尽管在附图中以特定顺序描绘操作,但是这不应被理解为要求以所示特定顺序或者以依次顺序执行这样的操作或者执行所有所示操作以实现希望的结果。在某些境况中,多任务和并行处理可以是有利的。另外,在上文描述的实施例中的各种系统部件的分离不应被理解为在所有实施例中要求这样的分离,并且应当理解描述的程序部件和系统一般可以一起集成于单个软件产品中或者被封装到多个软件产品中。[0038]已经这样描述了主题内容的具体实施例。其他实施例在所附权利要求的范围内。在一些情况下,在权利要求中记载的动作可以按不同顺序被执行而仍然实现希望的结果。此外,在附图中描绘的过程未必需要所示特定顺序或者依次顺序以实现希望的结果。在某些实现方式中,多任务和并行处理可以是有利的。
【权利要求】
1.一种由数据处理装置实施的方法,所述方法包括: 在第一处理模式中操作所述数据处理装置中的处理器; 设置所述处理器的控制寄存器的一个或者多个控制位以配置所述处理器在不同的第二处理模式中操作; 在执行于所述数据处理装置上的虚拟机中提供虚拟寄存器,所述虚拟寄存器具有与所述控制寄存器的所述控制位对应的一个或者多个锁定位; 设置所述虚拟寄存器的所述一个或者多个锁定位的值;以及 响应于设置所述一个或者多个锁定位的所述值,防止所述处理器被配置用于在所述第一处理模式中操作。
2.根据权利要求1所述的方法,还包括截获用于改变所述控制寄存器的所述一个或者多个控制位的所述值的尝试。
3.根据权利要求1所述的方法,其中设置所述一个或者多个锁定位的所述值还包括指示监视所述一个或者多个控制位的所述值。
4.根据权利要求1所述的方法,其中操作所述处理器还包括在引导所述处理器的操作系统期间在所述第一处理模式 中操作所述处理器。
5.根据权利要求1所述的方法,其中所述第一处理模式是16位处理模式并且所述第二处理模式是32位处理模式。
6.根据权利要求1所述的方法,其中所述第一处理模式是16位处理模式并且所述第二处理模式是64位处理模式。
7.一种系统,包括: 具有在其上存储的指令的计算机可读介质;以及 数据处理装置,被配置用于执行所述指令以执行操作,所述操作包括: 在第一处理模式中操作所述数据处理装置中的处理器; 设置所述处理器的控制寄存器的一个或者多个控制位以配置所述处理器在不同的第二处理模式中操作; 在执行于所述数据处理装置上的虚拟机中提供虚拟寄存器,所述虚拟寄存器具有与所述控制寄存器的所述一个或者多个控制位对应的一个或者多个锁定位; 设置所述虚拟寄存器的所述一个或者多个锁定位的值;以及 响应于设置所述一个或者多个锁定位的所述值,防止所述处理器被配置用于在所述第一处理模式中操作。
8.根据权利要求7所述的系统,所述操作还包括截获用于改变所述控制寄存器的所述一个或者多个控制位的所述值的尝试。
9.根据权利要求7所述的系统,其中设置所述一个或者多个锁定位的所述值还包括指示监视所述一个或者多个控制位的所述值。
10.根据权利要求7所述的方法,其中操作所述处理器还包括在引导所述处理器的操作系统期间在所述第一处理模式中操作所述处理器。
11.根据权利要求7所述的系统,其中所述第一处理模式是16位处理模式并且所述第二处理模式是32位处理模式。
12.根据权利要求7所述的系统,其中所述第一处理模式是16位处理模式并且所述第二处理模式是64位处理模式。
13.根据权利要求7所述的系统,其中响应于设置所述一个或者多个锁定位的所述值,所述操作还包括配置所述处理器仅在所述第二处理模式中操作。
14.一种在一个或者多个存储介质中存储的计算机程序产品,用于控制数据处理装置的处理模式,所述计算机程序产品可由所述数据处理装置执行以使所述数据处理装置执行操作,所述操作包括: 在第一处理模式中操作所述数据处理装置中的处理器; 设置所述处理器的控制寄存器的一个或者多个控制位以配置所述处理器在不同的第二处理模式中操作; 在执行于所述数据处理装置上的虚拟机中提供虚拟寄存器,所述虚拟寄存器具有与所述控制寄存器的所述一个或者多个控制位对应的一个或者多个锁定位; 设置所述虚拟寄存器的所述一个或者多个锁定位的值;以及 响应于设置所述一个或者多个锁定位的所述值,防止所述处理器被配置用于在所述第一处理模式中操作。
15.根据权利要求14所述的计算机程序产品,所述操作还包括截获用于改变所述控制寄存器的所述一个或者多个控制位的所述值的尝试。
16.根据权利要求14所述的计算机程序产品,其中设置所述一个或者多个锁定位的所述值还包括指示监视所述一个或者多个控制位的所述值。
17.根据权利要求14所述的计算机程序产品,其中操作所述处理器还包括在引导所述处理器的操作系统期间在所述第·一处理模式中操作所述处理器。
18.根据权利要求14所述的计算机程序产品,其中所述第一处理模式是16位处理模式并且所述第二处理模式是32位处理模式。
19.根据权利要求14所述的计算机程序产品,其中所述第一处理模式是16位处理模式并且所述第二处理模式是64位处理模式。
20.根据权利要求14所述的计算机程序产品,其中响应于设置所述一个或者多个锁定位的所述值,所述操作还包括配置所述处理器仅在所述第二处理模式中操作。
【文档编号】G06F9/44GK103547997SQ201280011393
【公开日】2014年1月29日 申请日期:2012年1月11日 优先权日:2011年1月13日
【发明者】A·桑顿, J-I·李 申请人:谷歌公司