当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于协作访客固件的设备和方法技术

技术编号:2835536 阅读:171 留言:0更新日期:2012-04-11 18:40
描述一种用于协作访客固件的方法和设备。在一个实施例中,该方法包括启动包括访客操作系统(OS)和访客固件的虚拟机(VM)。在启动VM之前,在存储器中生成数据结构,并将其与访客固件关联,以向访客固件提供VM所提供的虚拟化策略以及处理器和平台配置信息。在一个实施例中,访客固件响应来自访客OS的请求使用数据结构来访问有关虚拟化策略的静态信息以及处理器和平台配置信息。但是,当访客OS需要主机平台服务时,虚拟机监视器(VMM)服务于对主机平台服务的访客固件请求。还描述了其他实施例并且对这些其他实施例要求权利。

【技术实现步骤摘要】
【国外来华专利技术】
一个或多个实施例一般涉及计算机系统设计的领域。更具体来说,一个或多个实施例涉及用于协作访客固件的方法和设备。
技术介绍
虚拟机体系结构在逻辑上将物理机器分区,使得机器的底层硬件是时间共享的,并且看上去如同一个或多个独立操作的虚拟机(VM)。虚拟机监视器(VMM)创建VM并在计算机上运行以使一个或多个VM的抽象更方便用于其他软件。每个VM可以作为独立平台来工作,以运行它自己的操作系统(OS)和应用软件。在VM中运行的软件在本文中通称为“访客软件”。访客软件期望如同它在专用计算机上而非在VM中运行一样地运行。即,访客软件期望控制多种事件并具有对计算机上的硬件资源的访问权(例如物理机器)。物理机器的硬件资源可以包括一个或多个处理器、驻留在处理器上的资源(例如控制寄存器、高速缓存和其他资源)、存储器(驻留在存储器中的指令,例如描述符表)和驻留在物理机器中的其他资源(例如输入/输出装置)。事件可以包括中断、异常、平台事件(例如初始化)(INIT)或系统管理中断(SMI)等。因此,VMM向其他软件(“访客软件”、多个“访客”或仅单个“访客”)提供一个或多个VM的抽象。VMM可以向多个不同访客提供相同或不同的抽象。每个访客期望VM中提供的可供其使用的硬件平台的充分方便性。例如,访客期望根据VM中呈现的处理器和平台的体系结构具有对所有寄存器、高速缓存、结构、I/O装置、存储器等的访问权。而且每个访客还期望处理多种事件、例如异常、中断、和平台事件(例如初始化)(INIT)和系统管理中断(SMI)。这些资源和事件的其中一些是具有特权的,因为由VMM管理它们以便确保VM的正确运行以及保护 MM和其他VM。对于具有特权的资源和事件,VMM使访客软件期望的功能便于实现,同时保留对这些资源和事件的最终控制。使访客软件的功能便于实现的动作可以包括对VMM的部分上的范围广泛的活动。VMM的活动及其特征并不限制本文描述的多种实施例的范围。附图说明通过举例而非限定的形式在附图中图示了本专利技术的多种实施例,其中图1是图示根据一个实施例、包括操作系统软件与平台硬件之间的固件接口的计算机系统的框图。图2是图示根据一个实施例的协作访客固件的框图。图3是图示根据一个实施例、如图2所示的使协作访客固件能够实现的切换块(HOB)数据结构的框图。图4是图示根据一个实施例、用于协作访客固件的方法的流程图。图5是图示根据一个实施例、提供协作访客固件的系统的框图。具体实施例方式在下文描述中,提出许多特定细节、诸如逻辑实现、信号和总线的大小和名称、系统组件的类型和相互关系以及逻辑分区/集成选择来提供更透彻的理解。然而对于本领域人员来说,将认识到本专利技术也可以在没有这些特定细节的情况下实施。在其他情况中,未详细地示出控制结构和门级的电路,以免妨碍对本专利技术的理解。本领域技术人员利用所包括的描述无需过多实验即可实现适合的逻辑电路。在下文描述中,使用某些术语来描述本专利技术的特征。例如,术语“逻辑”表示配置为执行一个或多个功能的硬件和/或软件。例如,“硬件”的示例包括但不限于或不限制于集成电路、有限态机器或甚至组合逻辑。集成电路可以采用例如微处理器的处理器、专用集成电路、数字信号处理器、微控制器等的形式。图1是图示包括用于在操作系统软件130与平台硬件101之间提供接口的固件140的计算机系统的框图。如本文描述的,固件系指存储在诸如只读存储器(ROM)、闪速存储器等的非易失性存储器结构中的处理器例行程序。这些存储器结构即使在电源被切断时仍保存存储在其中的代码。即使将固件存储在非易失性存储器中,仍可以将固件复制到易失性存储器或映像到到易失性存储器。固件通常在测试并配置易失性存储器结构之前提供当计算机系统从关机状态开机时控制计算机系统的必需指令或例行程序。还可以在多种事件之后使用固件例行程序重新初始化和重新配置计算机系统,并处理例如系统中断的某些平台事件。如图1所示,固件140包括三个主要的组件用于向OS软件130提供对固件组件的访问的可扩展固件(EFI)接口142。具有代表性地,固件组件包括系统抽象层(SAL)144和处理器抽象层(PAL)146。如本文中描述的,EFI 142、SAL 144和PAL 146在本文中通称为“主机固件”。在一个实施例中,操作系统软件130与主机固件交互,确切来说经由EFI接口142与PAL 144和SAL 146交互,以提供可以由CPU执行应用的环境。SAL 144是将操作系统和其他较高级别的软件与平台中的实现差异隔离的固件层。PAL 146提供用于跨不同处理器实现来访问处理器资源以及封装所有处理器型号特定硬件的一致性软件接口。如图2所示,虚拟机体系结构在逻辑上将物理机器分区,使得机器的底层硬件是时间共享的,并且看上去如同一个或多个独立操作的虚拟机(VM)。虚拟机监视器(VMM)创建VM并在计算机上运行以使一个或多个VM的抽象更方便用于其他软件。每个VM可以作为独立平台来工作,以运行它自己的操作系统(OS)和应用软件。在VM中运行的软件在本文中通称为“访客软件”。再次参考图1,SAL 144是可以由例如OEM和系统软件供应商提供的平台特定固件组件。SAL 144与基本输入/输出系统(BIOS)相似。在计算机系统100的引导期间,SAL 144与OS 130(存储在例如硬盘的被引导的装置上)交互,以将操作系统130的若干部分加载到(计算机系统的)存储器。在计算机系统100的引导中,SAL 144负责执行平台测试、初始化和加载第一级别的操作系统加载器。根据一个实施例,作为此过程的一部分,加载VMM 210,而VMM 210负责创建和部署包括协作访客固件的VM 220。在一个实施例中,如图2所示,除了在VM 220内加载访客OS外,VMM 210还在VM 220内加载访客固件240。在一个实施例中,访客固件240包括EFI 242、SAL 244和PAL 246,它们通称为“访客固件”。在常规环境中,OS需要调用多种固件服务。相应地,在图2所示的实施例中,在VM 220内提供访客固件240以便直接服务于所有访客OS固件的需要。在一个实施例中,VMM内的协作访客固件提供更佳的处理器和平台虚拟化。如本文描述的,虚拟化或虚拟化策略系指有关由访客固件执行哪些服务、由主机固件140和主机平台101执行哪些服务的决策。在一个实施例中,为了实现访客固件240与VMM 210之间的协作,提供切换块(handoff block)(HOB)数据结构250以将VMM虚拟化策略和VM配置信息传送到访客固件240。在一个实施例中,当VMM 210创建VM 220时,VMM 210定义用于VM 220的处理器和平台配置信息。例如,处理器和平台配置信息可以包括例如虚拟处理器抽象(例如支持的物理地址位和转换后援缓冲器(TLB)转换寄存器)、平台物理存储器大小等。在一个实施例中,VMM 210定义该处理器和平台配置信息,并创建HOB数据结构250以将静态信息提供到访客固件240。在一个实施例中,在存储器中创建了HOB数据结构250之后,VMM 210在VM 220的创建时将HOB数据结构250传递到访客固件240。在一个实施例中,访客固件240提取HOB信息并相本文档来自技高网...

【技术保护点】
一种方法,包括:启动虚拟机(VM)以至少包含访客操作系统(OS)和访客固件;在存储器中生成与所述访客固件关联的数据结构,以向所述访客固件提供处理器和平台配置信息;以及服务于对主机平台服务的访客固件请求。

【技术特征摘要】
【国外来华专利技术】1.一种方法,包括启动虚拟机(VM)以至少包含访客操作系统(OS)和访客固件;在存储器中生成与所述访客固件关联的数据结构,以向所述访客固件提供处理器和平台配置信息;以及服务于对主机平台服务的访客固件请求。2.如权利要求1所述的方法,其特征在于,服务于所述访客固件请求还包括从访客可扩展固件接口(EFI)固件模块、访客处理器抽象层(PAL)固件模块和访客系统抽象层(SAL)固件模块的其中之一中接收访客固件请求;以及向主机EFI固件模块、主机PAL固件模块和主机SAL固件模块的其中之一请求主机固件运行时服务。3.如权利要求1所述的方法,其特征在于,生成所述数据结构还包括定义所述VM的处理器和平台配置信息;定义所述VM的虚拟化策略;根据所述虚拟化策略和所述处理器和平台配置信息在存储器中创建所述结构;以及在创建所述VM时将所述数据结构传递到所述访客固件。4.如权利要求1所述的方法,其特征在于,服务于对主机平台服务的访客固件请求包括检测中止指令;检查与所述指令关联的一个或多个值以识别所述中止指令是否是对主机固件运行时服务的访客请求;以及向主机平台请求所述主机固件运行时服务。5.如权利要求1所述的方法,其特征在于,服务于对主机平台服务的访客固件请求包括在访客模式和主机模式之间更改处理器虚拟化模式而无需中断虚拟机监视器;以及向主机平台请求所述主机固件运行时服务。6.一种方法,包括根据从访客操作系统(OS)接收的访客固件服务请求搜索从虚拟机监视器(VMM)接收的数据结构;以及如果所述访客固件服务请求是对主机平台服务的请求,则向所述VMM发起服务请求。7.如权利要求6所述的方法,其特征在于,在搜索所述数据结构之前,所述方法还包括在创建至少包含访客固件和所述访客操作系统的虚拟机(VM)时接收数据结构;以及根据所述数据结构指示的虚拟化策略配置所述访客固件。8.如权利要求6所述的方法,其特征在于,搜索所述数据结构还包括检测所述访客OS请求的所述数据结构内的信息;根据所述数据结构内的信息工作;以及将控制返回给所述访客OS。9.如权利要求6所述的方法,其特征在于,发起还包括向所述VMM发出中止指令,所述中止指令包括用于指示对主机固件运行时服务的访客固件请求的值。10.如权利要求6所述的方法,其特征在于,发起所述服务请求还包括发出指令将处理器指令状态从访客模式更改成主机模式来请求主机固件运行时服务。11.一种具有机器可访问介质的制造产品,所述机器可访问介质具有关联的指令,其中所述指令在执行时使包括至少一个组件的机器执行如下步骤在存储器中生成包括虚拟机(VM)配置信息和虚拟化策略的数据结构;向所述VM内的访客固件传递存储器参量,以使所述访客固件能够访问所述数据结构内的所述配置信息和虚拟化策略;启动所述VM以至少包含访客操作系统(OS)和访客固件;以及服务于对主机固件运行时服务的访客固件请求。12.如权利要求11所述的制造产品,其特征在于,服务于所述访客固件请求还包括从访客可扩展固件接口(EFI)固件模块、访客处理器抽象层(PAL)固件模块和访客系统抽象层(SAL)固件模块的其中之一中接收访客固件请求;以及向主机EFI固件模块、主机PAL固件模块和主机SAL固件模块的其中之一请求主机固件运行时服务。13.如权利要求11所述的制造产品,其特征在于,服务于所述请求还包括检测从所述访客固件接收的请求;对作为访客固件服务请求的所述请求进行认证;以及服务于对主机固件运行时服务的访客固件请求。14.如权利要求11所述的制造产品,其特征在于,服务于对主机平台服务的访客固件请求包括检测中止指令;检查与所述中止指令关联的一个或多个值以识别所述中止指令是否...

【专利技术属性】
技术研发人员:S李H高W荘K于
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1