CN101714091B - 用于在操作系统初始化期间显示平台图形的方法和系统 - Google Patents
用于在操作系统初始化期间显示平台图形的方法和系统 Download PDFInfo
- Publication number
- CN101714091B CN101714091B CN2008101889883A CN200810188988A CN101714091B CN 101714091 B CN101714091 B CN 101714091B CN 2008101889883 A CN2008101889883 A CN 2008101889883A CN 200810188988 A CN200810188988 A CN 200810188988A CN 101714091 B CN101714091 B CN 101714091B
- Authority
- CN
- China
- Prior art keywords
- platform
- initialization
- frame buffer
- video
- video frame
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading of the microprogram
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
Abstract
本发明公开了在计算机系统的初始化期间显示平台图形的方法和系统,包括中断操作系统的初始化,并在操作系统的初始化被中断时用平台图形数据更新视频帧缓冲器,以及将平台图形数据与由操作系统初始化逻辑生成的图形合并。这些方法和系统包括虚拟化方法和系统以及系统管理模式方法和系统。
Description
背景技术
上电复位之后的计算机系统的初始化包括平台初始化,也被称为基本输入/输出系统(BIOS)引导,继之以操作系统(OS)的初始化,或者OS引导。BIOS引导可能持续约两到三秒。OS引导可能持续约十到二十秒。
取决于BIOS引导期间提供的服务,OS引导逻辑可在OS引导期间在显示器上绘制相对简单的图形。因为这些图形与OS逻辑相关联,所以它们通常与OS供应商相关联。
附图简述
图1是在计算机系统的初始化期间显示平台图形的一个图解说明。
图2是在计算机系统的初始化期间显示平台图形的另一图解说明。
图3是在计算机系统的初始化期间显示平台图形的一个示例性方法的进程流程图。
图4是在计算机系统的初始化期间显示平台图形的另一示例性方法的进程流程图。
图5是一个示例性视频合并(merge)环境的图解说明。
图6是另一示例性视频合并环境的图解说明。
图7是一个示例性计算机系统的框图。
图8是另一示例性计算机系统800的框图。
图9是计算机系统800的示例性OS初始化环境的图解说明。
图10是在计算机系统800的初始化期间显示平台视频的示例性方法的进程流程图。
图11是另一示例性计算机系统1100的框图。
图12是在计算机系统1100的初始化期间显示平台视频的一个示例性方法的进程流程图,其叠加在计算机系统1100的初始化环境的图解说明上。
在附图中,附图标记的最左边的数字识别第一次出现该附图标记的附图。
详细描述
在此公开的是在操作系统的初始化期间显示平台图形的方法和系统。也可在BIOS引导或其一部分期间显示平台图形。
如此处所使用的,术语“平台图形”表示除由操作系统初始化逻辑所生成的OS初始化图形以外的图形。
平台图形可包括一个或多个音频、视频、静止图像、文本、壁纸以及皮肤。此处的术语“平台图形”和“平台视频”可替换使用。
平台图形可包括但不限于与第三方产品或服务相关的图形,其可包括广告图形、由计算机平台供应商或制造商提供的图形、与拥有计算机系统或对其实施控制的实体——包括受管理的主机的供应者——相关联的图形以及个人图形。
可代替OS初始化图形而显示平台图形。或者,OS初始化图形可与平台图形合并。
图1是在计算机系统初始化进程100期间显示平台视频的图解说明。初始化进程100包括平台初始化102和OS初始化104。初始化进程100的后面是OS运行时间106。平台初始化102可在上电复位之后,并可包括一个或多个通电自检和系统引导过程,其在此处示为基本输入/输出系统(BIOS)引导过程108。平台初始化102可识别并初始化一个或多个与计算机系统的物理资源相对应的设备驱动器。
OS初始化104可包括识别并安装操作系统逻辑。
平台视频可在OS初始化104期间在110处显示,并可在平台初始化102的至少一部分期间显示。
平台初始化102和OS初始化104中的一个或多个可包括可扩展固件接口(EFI)或统一EFI(UEFI),如以下关于图2所描述的。
图2是在计算机系统初始化进程200期间显示视频的图解说明,其中平台初始化102和OS初始化104包括启动EFI模块。在图2的示例中,平台视频110在驱动器执行环境(DXE)202期间启动,并在引导设备选择(BDS)环境204和瞬时系统负载(TSL)环境206期间显示。
图3是在OS初始化期间显示平台视频的示例性方法300的进程流程图。
在302处,诸如通过上电复位或其它复位,复位计算机系统,以启动该计算机系统的引导。
在304处,可在计算机系统内执行一个或多个通电自检。
在306处,执行平台初始化,诸如在图1和图2的一个或多个中示出的平台初始化102。平台初始化可包括安装一个或多个驱动器,诸如与视频显示器相关联的视频驱动器。
在308处,初始化操作系统,诸如在图1和图2的一个或多个中示出的OS初始化104。
在310处,在308处的OS初始化期间显示平台视频。可在306处的平台初始化期间启动该平台视频。
在图3的示例中,在310处显示平台视频包括在312处确定OS初始化是否完成,以及在OS初始化未完成时在314处用平台视频数据更新视频帧缓冲器。
在314处更新视频帧缓冲器可包括检索并解码与平台视频的视频帧相对应的数据。在314处更新视频帧缓冲器可包括更新视频帧缓冲器的一部分,诸如用与先前显示的视频帧不同的平台视频帧数据的子集来进行更新。
在310处显示平台视频可包括中断308处的OS初始化以在310处更新视频帧缓冲器。可在周期性时间间隔中执行该中断。作为替换或附加,可响应于一个或多个条件来执行该中断,诸如,例如响应于处理器空闲时间,其可在处理器等待来自诸如存储设备之类的另一设备的响应时发生。
可执行在310处显示平台视频,而不显著影响完成OS启动308的时间,因为执行OS启动的相对大量的时间包括等待相对慢的输入/输出信道,诸如存储设备访问。
图4是在OS初始化期间显示平台视频的示例性方法400的进程流程图,其包括重复地中断OS初始化并在中断期间用平台视频帧数据更新视频帧缓冲器。
在402处,复位计算机系统,诸如以上关于302所描述的。
在404处,可在计算机系统内执行一个或多个通电自检,诸如以上关于304所描述的。
在406处,初始化计算机系统的物理资源,诸如以上关于306所描述的。
在408处,启动平台视频服务。平台视频服务的启动可包括将指令加载到存储器中,以使处理器能够在随后的事件后用平台视频帧数据更新视频帧缓冲器。该随后的事件可包括周期性定时器事件,且平台视频服务可包括启动定时器以周期性地中断操作系统启动并在中断期间更新视频帧缓冲器。
在410处,OS初始化开始。
在412处,响应于该事件而中断操作系统的初始化,并且调用平台视频服务。
在414处,当操作环境的初始化未完成时,在416处解码平台视频帧数据并在418处更新视频帧缓冲器。
当在414处完成了操作环境的初始化时,在420处停止平台视频服务,并在422处进入运行时间或操作环境。
显示平台视频可包括将平台视频与OS初始化图形合并,并用合并的视频帧数据更新视频帧缓冲器。
合并可包括将来自OS初始化逻辑的文本叠加到平台视频上。图5是示例性视频合并环境500的图解说明,其包括OS初始化视频帧缓冲器502、平台视频解码缓冲器504和视频帧缓冲器506。来自操作系统初始化图形510的文本508被存储在操作系统视频帧缓冲器502中。来自平台视频帧数据514的平台视频帧图像512被存储在平台视频帧缓冲器504中。文本508与图像512被合并并被存储在视频帧缓冲器506中用于显示。
合并可包括将一个或多个图形窗口叠加在一个或多个其它的图形窗口上,诸如画中画。例如,这可有益于在平台初始化和/或OS初始化期间显示用户可选择的选项,诸如访问BIOS设置配置或进入OS初始化的用户可选择选项。图6是示例性视频合并环境600的图解说明,其包括OS初始化视频帧缓冲器602、多个平台视频帧缓冲器604到606以及视频帧缓冲器608。在图6的示例中,分别与平台视频帧缓冲器604到606对应的平台视频610到612被合并在来自OS初始化视频帧缓冲器602的OS初始化图形内,且用相应的合并图形更新视频帧缓冲器608。
在此公开的一个或多个特征可在逻辑中实现,该逻辑可包括集成电路逻辑和计算机程序产品逻辑中的一个或多个。
图7是示例性计算机系统700的框图,其包括在此处示为处理器702的一个或多个计算机指令处理单元,以用于执行也被称为指令、代码和软件的计算机程序产品逻辑。
计算机系统700包括逻辑704,该逻辑704可包括存储在计算机可读介质上的集成电路逻辑和计算机程序产品逻辑中的一个或多个以使处理器702响应与此而执行一个或多个功能。
在图7的示例中,逻辑704包括平台初始化逻辑710以使处理器702初始化计算机系统700的组件,初始化计算机系统700的组件可包括基本输入/输出系统(BIOS)逻辑,并可包括可扩展固件接口(EFI)逻辑。
逻辑704还包括操作系统(OS)初始化逻辑714以使处理器702启动一个或多个操作环境。OS初始化逻辑714可包括引导管理器逻辑、OS加载器逻辑和OS逻辑中的一个或多个。
逻辑704还包括平台视频显示逻辑712以使处理器702在OS逻辑714启动期间显示平台视频。平台视频显示逻辑712可包括使处理器702在至少一部分平台启动逻辑710的启动期间显示平台视频的逻辑。平台视频显示逻辑712或其一部分可在平台初始化逻辑710内实现。
计算机系统700还包括存储器/存储706,数据708存储于其中,该数据708由处理器702在执行逻辑704时使用,和/或由处理器702响应于逻辑704的执行而生成。在图7的示例中,数据708包括平台视频帧数据716、平台视频帧解码缓冲器718、OS初始化视频帧缓冲器720和视频帧缓冲器722。视频帧缓冲器722可表示最终的视频帧缓冲器,处理器702将视频帧数据从该缓冲器发送到显示器724。
存储器/存储706可包括其上存储逻辑704的计算机可读介质。
计算机系统700可包括网络接口设备或卡(NIC)726以与一个或多个通信网络对接。计算机系统700可包括诸如通用串行总线(USB)接口之类的一个或多个其它接口以与一个或多个其它设备对接。
计算机系统700可包括通信基础结构728以在处理器702、存储器/存储706、显示器724、NIC 726和其它接口设备之间通信。
可在网络上——诸如通过NIC 726,接收和/或更新平台视频帧数据716,并且可按对OS初始化逻辑714有把握或独立于OS初始化逻辑714的方式接收和/或更新平台视频帧数据716。
平台视频帧数据716可被存储在固件、闪存和硬盘存储设备中的一个或多个上。
视频帧数据716可被接收和/或更新,并被存储在隐藏的分区中,,诸如通过虚拟化逻辑或系统管理模式逻辑而免受OS初始化逻辑714的影响,以下将对其示例进行描述。例如,虚拟机管理器(VMM)可使处理器702截取集成驱动电子设备(IDE)控制器输入/输出访问来获取隐藏的磁盘分区,以确保即使操作系统逻辑被重新安装,平台视频帧数据716也是可用的。隐藏的分区可在计算机系统700的高级主机控制器接口(AHCI)模式中获取。
平台视频显示逻辑712可包括虚拟化逻辑以使处理器702将视频帧缓冲器722和视频接口中的一个或多个虚拟到操作系统初始化环境。以下关于图8、图9和图10对示例性虚拟化方法和系统进行描述。
图8是示例性计算机系统800的框图,其中计算机系统800的与以上关于图7所述的特征类似的特征用最低有效两位相类似的参考号来标记。以下关于图9和图10对计算机系统800进行描述。图9是计算机系统800的示例性OS初始化环境900的图解说明。图10是计算机系统800的OS初始化的一个示例性方法的进程流程图。
在图8中,逻辑804包括VMM逻辑830以使处理器802生成图9中的虚拟机管理器(VMM)902,以用于主存OS初始化虚拟机(VM)904。VMM逻辑830包括使处理器802将平台启动期间启动的驱动程序和应用程序作为驱动程序和应用程序906向VM 904传递的逻辑。VMM逻辑830还包括使处理器802启动VM 904内的OS初始化逻辑814的逻辑,如OS初始化908所示。VMM逻辑830还包括视频帧缓冲器虚拟化逻辑834以使处理器802初始化图9中的虚拟视频帧缓冲器820。
逻辑804还包括虚拟显示逻辑832,逻辑832包括视频接口逻辑836以使处理器802初始化图9中的一个或多个视频接口910,以在VM 904和虚拟视频帧缓冲器820之间对接。虚拟显示接口910可包括与驱动程序和应用程序906对接的图形输出协议接口912、与OS初始化908对接的视频帧缓冲器接口914、以及从传统型(legacy-type)OS加载器逻辑接收诸如Int10视频服务中断之类的传统型视频服务中断的传统型服务916中的一个或多个。
虚拟显示逻辑832还包括平台视频解码逻辑838,其使处理器802解码平台视频帧数据816并将已解码的平台视频帧数据存储在平台视频帧解码缓冲器818中。
虚拟显示逻辑832还包括缓冲器合并逻辑840,其使处理器802将解码缓冲器818中的已解码平台视频帧数据与虚拟视频帧缓冲器820中的OS初始化视频帧数据合并,并用合并后的视频帧数据更新视频帧缓冲器822。
在图9的示例中,虚拟接口910、解码逻辑838和缓冲器合并逻辑840在虚拟显示环境918中示出。虚拟显示环境918或其各部分可驻留于或表示由VMM 902主存的VM,诸如VM 904。作为替换或附加,虚拟显示环境918或其各部分可在VMM902内实现。
VMM逻辑830还包括使处理器802维持定时器920的定时器逻辑842,以周期性地使处理器802退出VM 904并调用解码逻辑840和合并逻辑838,如以下关于图10所述。退出VM 904后,与VM 904对应的状态值可被保存以用于以后再进入VM 904。
在图10中,在1002处,计算机系统800在平台复位之后执行一个或多个通电自检。
在1004处,执行平台初始化。可响应于图8中的平台初始化逻辑810执行平台初始化。
在1006处,调用虚拟显示逻辑832以使处理器802初始化虚拟接口910和平台视频解码缓冲器818。
在1008处,调用VMM逻辑830以使处理器802启动VMM 902和VM 904,将驱动程序和应用程序906传递到VM 904,并启动定时器920。
在1010处,将计算机系统800的初始化传递到VM 904。这可包括在1012处启动平台初始化逻辑810内的任何其余的逻辑,以及在1014处启动VM 904内的OS初始化逻辑814。
在1010处的初始化期间,如果从VM 904请求视频服务,则使用一个或多个虚拟显示接口910在1016处更新虚拟视频帧缓冲器820。这可包括在1018处接收或截取视频服务请求,在1020处用虚拟接口处理该请求,并在1022处更新虚拟视频帧缓冲器820。在1024处,进程返回1010,以继续VM 904内的OS初始化。
同样在1010处的初始化期间,当定时器920期满时,在1025处用平台视频帧数据816更新视频帧缓冲器822。这可包括在1026处确定定时器期满,在1028处退出VM 904,在1030处解码平台视频帧数据816并将已解码的视频帧数据存储在平台视频解码缓冲器818中,在1032处将平台视频帧缓冲器818的内容和虚拟视频帧缓冲器820的内容合并,并在1034处用合并后的数据更新视频帧缓冲器822。在1036处,进程返回1010,以继续VM 904内的初始化。
在1010处完成操作系统的初始化之后,在1038处处理进入运行时间环境,在此可能停止对平台视频帧数据816的显示。在图10的示例中,这被示为在1040处检测视频帧缓冲器页面错误,并在1042处修改到虚拟视频帧缓冲器820的地址。
一个或多个虚拟显示逻辑840和VMM逻辑830以及它们的各部分的多个实例可被调用,诸如用于提供如以上关于图6所述的画中画特征。
在平台初始化逻辑810包括统一EFI(UEFI)逻辑时,平台初始化逻辑810可包括管理{引导00X(Boot00X)、声音_文件、视频_文件、背景_图像}的n元组的逻辑。
环境900可包括由VMM 902主存的包装或虚拟化容器内的一个或多个OS性能驱动器。这可允许定标并使用编码器/解码器以提供附加的多媒体特征。
返回参照图7,平台视频显示逻辑712可包括使处理器702提供视频服务的逻辑,这些视频服务包括正常处理器环境之外的平台视频服务,诸如在操作的系统管理模式(SMM)内的视频服务。
如下所述,即使在基于固件的平台初始化已传递到OS初始化之后,SMM也可提供视频服务。为了防止OS初始化访问用于平台视频的视频设备,平台初始化可包括用SMM视频服务替换此处称为平台视频服务的常规视频服务。例如,模拟的基于固件的视频驱动器可提供由常规OS加载器系统使用的INT 10H服务,以将视频服务调用传递给SMM。
SMM由系统管理中断(SMI)调用。在SMI之后,处理器执行相应的SMI处理程序代码,该代码可被存储在系统固件中,并且该代码对于应用软件或操作系统软件是不可用的和/或与之隔离。
在常规计算机系统中,SMI处理程序可寻址高达4G字节的存储器并可执行全部或基本全部的输入/输出(I/O)和可应用的系统指令。视频帧缓冲器可被映射到一个或多个位置,包括VGA模式下的A0000-BFFFF段,以及SVGA模式下的32位物理地址。SMM可直接访问SVGA的视频存储器空间。
计算机系统可包括I/O控制器集线器,其具有的系统管理设备用于启用并控制SMI资源,其包括用于生成SMI的SMM软件定时器,此处称为定时器SMI。当SMM软件定时器被启用时,定时器SMI被周期性地生成。可编程SMM软件定时器以在例如0.9毫秒(ms)到68ms范围内的时间间隔生成定时器SMI,该时间间隔的范围包括0.9ms到2.1ms、12ms到20ms、28ms到36ms以及60ms到68ms的范围。响应于定时器SMI,即使在固件已传递到OS初始化后,也可调用SMM中相应的定时器SMI处理程序。
取决于计算机系统的可用硬件设备,即使在平台初始化已将控制传递到OS初始化之后,基于SMI的视频驱动器也可直接访问全部或基本全部的视频帧缓冲器。
以下关于图11和图12对示例性SMM方法和系统进行描述。
图11是示例性计算机系统1100的框图,其中计算机系统1100的与以上关于图7所述的特征类似的特征用最低有效两位相类似的参考号来标记。
以下关于图12对计算机系统1100进行描述。图12是在计算机系统1100的初始化期间显示平台视频的示例性方法1200的进程流程图,其叠加在初始化环境的图解说明上,包括正常操作模式1250和SMM 1254。
在图11中,逻辑1104包括SMM视频逻辑1130,逻辑1130使处理器1102在计算机系统1100的初始化期间显示来自SMM 1254内部的平台视频帧数据1116。
SMM视频逻辑1130包括SMI处理程序逻辑1132,逻辑1132使处理器1102响应于中断而执行SMM 1254中的功能。在图11的示例中,SMI处理程序逻辑1132包括SMI处理程序逻辑1134,此处也被称为高级处理管理(APM)SMI处理程序逻辑1134,逻辑1134使处理器1102安装图12中的APM SMI处理程序1255。
SMI处理程序逻辑1132还包括定时器SMI处理程序逻辑1136,逻辑1136使处理器1102安装图12中的定时器SMI处理程序1256,以下将对此进行描述。
SMM视频逻辑1130还包括视频服务调度逻辑1138,逻辑1138使处理器1102安装图12中的视频服务调度程序1258,以下将对此进行描述。
SMM视频逻辑1130还包括SMM定时器逻辑1140,逻辑1140使处理器1102在SMM 1204中安装基于软件的SMM定时器1258,以下将对此进行描述。
平台初始化逻辑1110包括SMM视频加载逻辑1142,逻辑1142使处理器1102加载或安装SMM视频逻辑1130。
平台初始化逻辑1110还包括在此处被示为BIOS/EFI逻辑1144的基本输入/输出系统(BIOS)逻辑与可扩展固件接口(EFI)逻辑中的一个或多个,逻辑1144包括平台视频驱动器逻辑1146。
平台初始化逻辑1110还包括APM SMI生成逻辑1148,逻辑1148生成图12中的APM SMI 1260,以在平台初始化期间调用APM SMI处理程序1254。
现在关于方法1200描述计算机系统1100的示例性初始化。
在1202处,在系统复位之后执行平台初始化。在图12的示例中,平台初始化包括响应于SMM视频加载逻辑1146在1204处安装SMM视频逻辑1130,在1206处启动平台视频驱动器逻辑1134,以及响应于MP SMI生成逻辑1148在1208处生成APM SMI 1260。
响应于APM SMI 1260,处理器1102暂停正常处理模式1250并调用SMM 1252内的APM SMI处理程序1254。这可包括将正常处理模式1250的状态保存在系统状态映射表中。
在1210处,启动定时器1258。在1212处,检索与显示器1124对应的视频设备信息。在1214处,保留像素在视频帧缓冲器1122中可被置为预定的值。SMM视频逻辑1130被配置为避免将平台视频帧数据1116写入到该保留像素。该保留像素随后用于确定OS视频驱动器是否活动,如以下关于1232所述。
在1216处,初始化平台视频解码缓冲器1118和OS初始化缓冲器1120。在1218处,处理返回正常处理模式1250。这可包括从状态映射表检索与正常处理模式1250相对应的状态值。
返回正常处理模式1250之后,平台初始化可在1202处恢复并随后进行到1220处的OS初始化,或者处理可直接进行到1220处的OS初始化。
在1220处的OS初始化期间,视频服务请求1262被视频服务调度程序1258截取,视频服务调度程序1258启动视频服务SMI 1264,以中断处理模式1250并使处理器1102调用在此处被示为APM SMI处理程序1254一部分的视频服务SMI处理程序。
在1222处,在APM SMI处理程序1254的控制下,响应于视频服务请求1262更新OS初始化视频帧缓冲器1120。在1224处,处理返回处理模式1250。
同样在OS初始化1220期间,在定时器1258期满之后,在1230处生成定时器SMI 1266,以中断正常处理模式1250并使处理器1102调用SMM 1252内的定时器SMI处理程序1256。
在1232处,将视频帧缓冲器1122中的保留像素与1214处写入的值相比较。如果保留像素尚未改变,则在1234处解码平台视频帧数据1116并将其存储在平台视频解码缓冲器1118中。在1236处,将平台视频解码缓冲器1118的内容与OS初始化视频帧缓冲器1120的内容合并。在1238处,用合并后的视频帧数据更新视频帧缓冲器1122。在1240处,可复位定时器1258。或者,定时器1258可不断地循环。
在1242处,处理返回正常处理模式1250中的OS初始化1220。在1220处完成OS初始化之后,处理进行到1246处的运行时间环境。当与该运行时间环境相关联的视频驱动器被启动时,运行时间环境可重写视频帧缓冲器1122中的保留像素。返回1232,如果保留像素已被改变,则可停止对平台视频的显示。停止可包括停止定时器1258并用平台视频服务替换视频服务调度程序1258。
以上关于虚拟化和系统管理模式所述的一个或多个特征可在各种相互组合中实现。
在这里,各种方法和系统是借助于示出其功能、特征和关系的功能性构造框来公开的。这里为便于描述任意地限定了这些功能性构造框的至少一些边界。可限定替换的边界,只要其指定的功能和关系被适当地执行。
本领域的技术人员将会认识到,这些功能性构造框可通过分立元件、专用集成电路、执行适当软件的处理器及其组合来实现。
Claims (12)
1.一种在计算机系统的初始化期间显示平台图形的方法,包括:
初始化计算机系统平台;
在初始化计算机系统平台之后启动所述计算机系统上的虚拟机,虚拟化视频帧缓冲器,并初始化虚拟机和虚拟化的视频帧缓冲器之间的虚拟接口;
将平台初始化驱动程序和应用程序传递到所述虚拟机;以及
初始化所述虚拟机内的操作系统;
截取所述操作系统的初始化期间的视频服务请求及来自虚拟机的相应操作系统图形,响应于所述截取暂停所述虚拟机利用所述虚拟接口处理截取的视频服务请求以用截取的操作系统图形更新虚拟化的视频帧缓冲器,之后恢复虚拟机以继续初始化操作系统;
重复地暂停虚拟机以用平台图形更新视频帧缓冲器,并在所述视频帧缓冲器每次更新后,恢复所述操作系统的初始化,其中所述平台图形包括除操作系统图形之外的图形。
2.如权利要求1所述的方法,其特征在于,用平台图形更新视频帧缓冲器包括:将虚拟化的视频帧缓冲器中的截取的操作系统图形与所述平台图形合并并用合并后的图形更新所述视频帧缓冲器。
3.如权利要求1所述的方法,其特征在于,还包括:
当所述操作系统的初始化完成时,停止显示所述平台图形。
4.如权利要求1所述的方法,其特征在于:
所述更新所述视频帧缓冲器包括将所述平台图形解码到平台视频解码缓冲器,将所述虚拟化的视频帧缓冲器中的截取的操作系统图形与所述平台视频解码缓冲器中的解码的平台图形合并,以及
用合并后的图形更新所述视频帧缓冲器。
5.如权利要求1所述的方法,其特征在于:
响应于定时器中断而执行重复地暂停虚拟机。
6.如权利要求1所述的方法,其特征在于,还包括:
向所述视频帧缓冲器的保留像素写入预定值,其中在初始化操作系统之后运行时间视频驱动器重写所述保留像素;
防止将平台图形写入所述保留像素;
将所述保留像素的内容与所述预定值相比较以确定运行时间视频驱动器是否操作;以及
当所述保留像素的内容与所述预定值不同时,停止显示所述平台图形。
7.一种在计算机系统的初始化期间显示平台图形的设备,包括:
用于初始化计算机系统平台的装置;
用于在初始化计算机系统平台之后启动所述计算机系统上的虚拟机,虚拟化视频帧缓冲器,并初始化虚拟机和虚拟化的视频帧缓冲器之间的虚拟接口的装置;
用于将平台初始化驱动程序和应用程序传递到所述虚拟机的装置;以及
用于初始化所述虚拟机内的操作系统的装置;
用于截取所述操作系统的初始化期间的视频服务请求及来自虚拟机的相应操作系统图形,响应于所述截取暂停所述虚拟机利用所述虚拟接口处理截取的视频服务请求以用截取的操作系统图形更新虚拟化的视频帧缓冲器,之后恢复虚拟机以继续初始化操作系统的装置;
用于重复地暂停虚拟机以用平台图形更新视频帧缓冲器,并在所述视频帧缓冲器每次更新后,恢复所述操作系统的初始化的装置,其中所述平台图形包括除操作系统图形之外的图形。
8.如权利要求7所述的设备,其特征在于,用于重复地暂停虚拟机以用平台图形更新视频帧缓冲器包括:
用于将虚拟化的视频帧缓冲器中的截取的操作系统图形与所述平台图形合并并用合并后的图形更新所述视频帧缓冲器的装置。
9.如权利要求7所述的设备,其特征在于,还包括:
用于当所述操作系统的初始化完成时,停止显示所述平台图形的装置。
10.如权利要求7所述的设备,其特征在于,用于更新所述视频帧缓冲器的装置包括用于将所述平台图形解码到平台视频解码缓冲器,将所述虚拟化的视频帧缓冲器中的截取的操作系统图形与所述平台视频解码缓冲器中的解码的平台图形合并的装置,以及
用于用合并后的图形更新所述视频帧缓冲器的装置。
11.如权利要求7所述的设备,其特征在于,还包括:
用于响应于定时器中断而执行重复地暂停虚拟机的装置。
12.如权利要求7所述的设备,其特征在于,还包括:
用于向所述视频帧缓冲器的保留像素写入预定值的装置,其中在初始化操作系统之后运行时间视频驱动器重写所述保留像素;
用于防止将平台图形写入所述保留像素的装置;
用于将所述保留像素的内容与所述预定值相比较以确定运行时间视频驱动器是否操作的装置;以及
用于当所述保留像素的内容与所述预定值不同时,停止显示所述平台图形的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/242,217 | 2008-09-30 | ||
US12/242,217 US20100079472A1 (en) | 2008-09-30 | 2008-09-30 | Method and systems to display platform graphics during operating system initialization |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101714091A CN101714091A (zh) | 2010-05-26 |
CN101714091B true CN101714091B (zh) | 2013-08-14 |
Family
ID=41429669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101889883A Expired - Fee Related CN101714091B (zh) | 2008-09-30 | 2008-12-30 | 用于在操作系统初始化期间显示平台图形的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20100079472A1 (zh) |
EP (2) | EP2479666B1 (zh) |
JP (1) | JP2011028712A (zh) |
KR (1) | KR101134816B1 (zh) |
CN (1) | CN101714091B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5701399B2 (ja) * | 2010-12-21 | 2015-04-15 | インテル・コーポレーション | 電力管理のためのシステム及び方法 |
US9110678B1 (en) | 2011-05-17 | 2015-08-18 | Phoenix Technologies Ltd. | Automated BIOS enhancements and upgrades |
US8874892B1 (en) | 2011-05-26 | 2014-10-28 | Phoenix Technologies Ltd. | Assessing BIOS information prior to reversion |
US10262309B1 (en) | 2011-05-26 | 2019-04-16 | Phoenix Technologies Ltd. | Augmenting a BIOS with new programs |
US8560822B1 (en) * | 2011-05-26 | 2013-10-15 | Phoenix Technologies Ltd. | Pre-boot operating environment |
US9110679B1 (en) | 2011-06-03 | 2015-08-18 | Phoenix Technologies Ltd. | Pre-boot management of drivers and programs |
KR20130022091A (ko) | 2011-08-24 | 2013-03-06 | 주식회사 케이티 | 클라우드 컴퓨팅 서버 시스템의 가상머신 제어 장치 및 방법 |
WO2013081591A1 (en) * | 2011-11-30 | 2013-06-06 | Intel Corporation | Techniques to display multimedia data during operating system initialization |
US9900448B2 (en) | 2011-12-06 | 2018-02-20 | Intel Corporation | Technologies for displaying images during a pre-boot phase of a vehicle computing platform |
US20140320511A1 (en) * | 2011-12-26 | 2014-10-30 | Xianchao James Xu | Display controller interrupt register |
US20190056828A1 (en) * | 2012-09-06 | 2019-02-21 | Google Inc. | User interface transitions |
GB2513660B (en) * | 2013-05-03 | 2018-11-14 | Displaylink Uk Ltd | System for connecting a display over a general-purpose data transport |
US9691123B2 (en) * | 2014-12-15 | 2017-06-27 | Intel Corporation | Instrumentation of graphics instructions |
FR3048293B1 (fr) * | 2016-02-29 | 2018-07-06 | Sagemcom Broadband Sas | Procede de programmation d'une animation lors de la phase de demarrage d'un dispositif electronique et dispositif electronique associe |
US10162643B2 (en) * | 2016-06-29 | 2018-12-25 | Wipro Limited | Method and system for booting automotive electronics in an electronic control unit of an automobile |
WO2022196997A1 (en) * | 2021-03-15 | 2022-09-22 | Samsung Electronics Co., Ltd. | Method and electronic device for boosting graphics performance |
CN113051118A (zh) * | 2021-03-26 | 2021-06-29 | 联想企业解决方案(新加坡)有限公司 | 用于促进系统信息的早期显示的信息处理设备和方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0458626A2 (en) * | 1990-05-25 | 1991-11-27 | Fujitsu Limited | Initial program loading system |
US6477642B1 (en) * | 1999-06-18 | 2002-11-05 | Phoenix Technologies Ltd. | Method and apparatus for extending BIOS control of screen display beyond operating system boot process |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5890190A (en) * | 1992-12-31 | 1999-03-30 | Intel Corporation | Frame buffer for storing graphics and video data |
JP2579886B2 (ja) * | 1993-10-29 | 1997-02-12 | 株式会社マキエンタープライズ | パーソナルコンピュータのモニターテレビ出力を家庭用テレビ用に変更する方法 |
US5943064A (en) * | 1997-11-15 | 1999-08-24 | Trident Microsystems, Inc. | Apparatus for processing multiple types of graphics data for display |
US6560702B1 (en) * | 1997-12-10 | 2003-05-06 | Phoenix Technologies Ltd. | Method and apparatus for execution of an application during computer pre-boot operation |
US6791572B1 (en) * | 1999-06-18 | 2004-09-14 | Phoenix Technologies Ltd. | Generating media output during BIOS boot-up |
CN1252582C (zh) | 1999-06-18 | 2006-04-19 | 凤凰技术有限公司 | 在基本输入和输出系统启动期间产生媒体输出 |
TW479194B (en) * | 1999-06-18 | 2002-03-11 | Phoenix Tech Ltd | Method and apparatus for execution of an application during computer pre-boot operation |
WO2001042911A2 (en) * | 1999-12-08 | 2001-06-14 | Insyde Software, Inc. | A system and method for the delivery, retrieval and display of content prior to operating system loading |
KR20020015848A (ko) * | 2000-08-23 | 2002-03-02 | 윤종용 | 운영 체제를 기반으로 한 텔레비젼 및 이 장치의 초기화면 디스플레이 방법 |
US6880077B2 (en) | 2001-09-28 | 2005-04-12 | Intel Corporation | Enabling communication between video BIOS and graphics drivers |
JP4275611B2 (ja) * | 2004-12-02 | 2009-06-10 | ソニー株式会社 | 再生装置、再生方法および再生プログラム、記録媒体、ならびに、データ構造体 |
TWI286703B (en) * | 2005-07-22 | 2007-09-11 | Mitac Technology Corp | Method using foreground image data to display and background program to load and execute computer program |
US7721082B2 (en) * | 2007-01-08 | 2010-05-18 | Arssov Paul Plamen | Method for advertising using the BIOS of a peripheral card, a software program based on the said method, and a hardware peripheral card using the said method and program |
US8045828B2 (en) * | 2007-07-09 | 2011-10-25 | Kabushiki Kaisha Toshiba | Apparatus for processing images, and method and computer program product for detecting image updates |
-
2008
- 2008-09-30 US US12/242,217 patent/US20100079472A1/en not_active Abandoned
- 2008-12-30 CN CN2008101889883A patent/CN101714091B/zh not_active Expired - Fee Related
-
2009
- 2009-09-29 JP JP2009224640A patent/JP2011028712A/ja active Pending
- 2009-09-30 EP EP12000910.5A patent/EP2479666B1/en active Active
- 2009-09-30 EP EP09252327A patent/EP2169548A1/en not_active Withdrawn
- 2009-09-30 KR KR1020090093290A patent/KR101134816B1/ko not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0458626A2 (en) * | 1990-05-25 | 1991-11-27 | Fujitsu Limited | Initial program loading system |
US6477642B1 (en) * | 1999-06-18 | 2002-11-05 | Phoenix Technologies Ltd. | Method and apparatus for extending BIOS control of screen display beyond operating system boot process |
Also Published As
Publication number | Publication date |
---|---|
EP2479666B1 (en) | 2017-11-22 |
KR20100037012A (ko) | 2010-04-08 |
CN101714091A (zh) | 2010-05-26 |
EP2479666A3 (en) | 2012-11-07 |
JP2011028712A (ja) | 2011-02-10 |
EP2169548A1 (en) | 2010-03-31 |
KR101134816B1 (ko) | 2012-04-13 |
EP2479666A2 (en) | 2012-07-25 |
US20100079472A1 (en) | 2010-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101714091B (zh) | 用于在操作系统初始化期间显示平台图形的方法和系统 | |
EP3491519B1 (en) | Optimized uefi reboot process | |
US9396013B2 (en) | Method for controlling a virtual machine and a virtual machine system | |
US8966477B2 (en) | Combined virtual graphics device | |
US7543166B2 (en) | System for managing power states of a virtual machine based on global power management policy and power management command sent by the virtual machine | |
US8429669B2 (en) | Virtual machine switching control by prefetching information out of and updating a set of processor control information based on a bitmap having update status | |
US9880868B2 (en) | Modifying an OS installer to allow for hypervisor-specific adjustment of an OS | |
US8416253B2 (en) | Apparatus, method, and recording medium for detecting update of image information | |
US8065441B2 (en) | Method and apparatus for supporting universal serial bus devices in a virtualized environment | |
JP2011100431A (ja) | 仮想マシン制御装置及び仮想マシン制御方法 | |
US9959134B2 (en) | Request processing using VM functions | |
US10210842B2 (en) | Techniques of displaying host data on a monitor connected to a service processor during pre-boot initialization stage | |
US9471357B2 (en) | Monitoring virtual machine interface and local graphical user interface on a thin client and alternating therebetween | |
CN110968392B (zh) | 一种升级虚拟化模拟器的方法和装置 | |
WO2013035246A1 (ja) | 仮想計算機制御装置、仮想計算機制御方法、仮想計算機制御プログラム、及び集積回路 | |
JP2007507779A (ja) | オペレーティングシステム | |
US7412597B2 (en) | Computer system and booting method thereof | |
US20090271785A1 (en) | Information processing apparatus and control method | |
US20220188135A1 (en) | Hardware-based protection of virtual function resources | |
US9600423B2 (en) | Periodic access of a hardware resource | |
WO2016014017A1 (en) | Operating system device access using a virtual machine | |
JP5343489B2 (ja) | コンピュータシステム、およびレガシーアプリケーション実行方法、およびプログラム | |
JP4548514B2 (ja) | 仮想計算機システムの制御方法 |
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 |
Granted publication date: 20130814 Termination date: 20141230 |
|
EXPY | Termination of patent right or utility model |