显示启动设置界面的方法和装置的制造方法_2

文档序号:9887410阅读:来源:国知局
识。
[0032]当可供使用的Setup界面超过I个时,用户可以以一定的方式指定其中的一个作为当前使用的Setup界面。在进入DXE阶段后,根据用户指定当前使用的Setup界面的具体方式,获取当前使用的Setup界面的标识。
[0033]在一个例子中,主板上集成的智能化管理单元BMC连接到南桥或PCH,能够对主板的温度、电压等进行实时监控及调节,包括加电、断电管理和启动过程的监控;BMC通常具有网络功能,允许用户远程进行参数设置和监控命令下达。可以在BMC中增加一个可供用户设置的管理参数,来保存当前使用的Setup界面的标识。由于BMC能够对启动过程进行监控,当得知启动进入DXE阶段后,BMC将当前使用的Setup界面的标识发送给CPU。CPU即可获得当前使用的Setup界面的标识。
[0034]在另一个例子中,可以在B1S的启动配置参数中增加一个Setup界面参数,用于设置和保存当前使用的Setup界面的标识,由用户在Setup界面中对该启动配置参数进行设置,将若干个可用Setup界面的其中之一设置为当前使用的Setup界面。这样,当前使用的Setup界面的标识将作为Setup界面参数的值保存在B1S中。在进入DXE阶段后,CPU读取B1S中该启动配置参数的值,即可得到当前使用的Setup界面的标识。
[0035]由于BMC独立于主板的系统运行,采用BMC设置当前使用的Setup界面的方式,用户可以在任意的时间更改设置,并在重启一遍主板的系统后使更改生效;而通过B1S的启动配置参数进行设置的方式在每次更改设置的时候,需要先重启一次系统进入Setup界面,更改设置后再次重启使更改生效,两次重启使得更改设置的效率比较低。
[0036]步骤320,加载具有所述标识的Setup界面的界面数据。
[0037]根据当前使用的Setup界面的标识,CPU从非易失性存储器中读取具有该标识的Setup界面的界面数据,包括具有该标识的Setup界面的界面描述数据和具有该标识的Setup界面的界面解析数据,并加载到内存中。
[0038]步骤330,采用具有所述标识的界面解析数据对具有所述标识的界面描述数据进行解析。
[0039]具有当前使用的Setup界面的标识的界面数据已经加载,采用已经加载的界面解析数据对已经加载的界面描述数据进行解析,具体的解析方法可以参考界面描述数据的生成规范和编译规范来确定,如可以用IFR(Internal Forms Representat1n,内部框架解析器)解析器来解析VFR(Visual Forms Representat1n,可视框架表达)文件和UNI (Unicode,统一码)文件编译生成的二进制界面描述数据。
[0040]步骤340,在满足设定条件时按照解析结果显示Setup界面。
[0041]得到解析结果后,当满足设定条件,例如用户在启动过程中按下预定的按键选择进入Setup界面,则按照解析结果将Setup界面显示给用户。
[0042]需要说明的是,在进入DXE阶段后,所加载的各种总线及硬件设备的UEFI的驱动程序独立运行。而步骤310和步骤320中获取当前使用的Setup界面的标识、以及加载该Setup界面的界面数据时所运行的驱动程序,和步骤330中对界面描述数据进行解析的所运行的驱动程序一般来说并不相同。运行步骤330的驱动程序可以从运行步骤310和320的驱动程序得到当前使用的Setup界面的标识,以便正确调用界面描述数据和界面解析数据。在独立运行的驱动程序之间传递参数值的方式与驱动程序的具体实现相关,往往不具有通用性。
[0043]因此,可以在进行界面数据解析前,获取当前使用的Setup界面的标识。具体而言,对采用BMC设置当前使用的Setup界面的方式,可以在进行界面数据解析前,向BMC请求当前使用的Setup界面的标识;BMC发送当前使用的Setup界面的标识作为回复。对通过B1S的启动配置参数设置当前使用的Setup界面的方式,读取B1S中该启动配置参数的值,即可得到当前使用的Setup界面的标识。
[0044]另外,与BMC之间的信息交互,包括向BMC请求当前使用的Setup界面的标识、和BMC发送当前使用的Setup界面的标识,可以通过IPMI (Intelligent Platform ManagementInterface,智能平台管理接口)接口进行,也可以通过CPU的寄存器进行。IPMI接口在硬件上可以通过南桥芯片LPC(Low Pin Count,少针脚型总线)实现;在软件上可以采用KCS(Keyboard Controller Style,键盘控制器模式)方式实现,可以采用BT(BlockTransfer,块传输)方式实现,也可以同时结合以上两者来实现,还可以采用用户自定义的协议,并且可以将软件的实现方式作为一个启动配置参数,由用户设置采用哪种。由于CPU的寄存器数量有限,通过寄存器每次传递信息长度有限,效率比较低;并且对寄存器的访问受控,传递时机也受限;因此,通过IPMI接口进行BMC与主板系统间的信息传递更为便利。
[0045]通过在非易失性存储器中保存两个以上不同Setup界面的界面数据,并按照用户设置的当前使用的Setup界面的标识来加载对应的Setup界面,本申请的上述例子能够满足不同用户对Setup界面的差异化使用需求,提高了用户进行启动配置参数设置的效率。另外,基于BMC的设置方式还实现了在多个Setup界面间的灵活切换控制。
[0046]在本申请的另一个例子中,至少两个Setup界面的界面数据作为B1S Image的一部分保存;用户在BMC提供的管理工具中设置当前使用的Setup界面的标识。在这个例子中,一种生成B1S Image的流程可以如图4所示:
[0047]步骤410,接收用户为每个Setup界面编写的VFR文件和UNI文件。VFR文件用来描述Setup界面的窗体集合及其格式,通常引用UNI文件中字符串资源作为显示在Setup界面中的文本。每个Setup界面都有各自的VFR文件和UNI文件。
[0048]步骤420,分别编译每个Setup界面的VFR文件和UNI文件,生成每个Setup界面的二进制界面描述数据。
[0049]步骤430,根据每个Setup界面的界面输入模式等参数,生成该Setup界面的IFR界面解析数据。
[0050]步骤440,将每个Setup界面的界面描述数据和界面解析数据作为B1S Image的一部分保存在非易失性存储器中,每个Setup界面的标识与其存储地址具有映射关系,CPU可以按照标识和该映射关系读取具有该标识的Setup界面的界面数据。
[0051]主板系统的B1S启动过程以及与BMC的交互过程可以如图5所示:
[0052]在BMC上,步骤551,接收用户通过BMC提供的管理界面进行的参数配置,其中包括对当前使用哪个Setup界面进行设置。
[0053]在BMC上,步骤552,保存用户通过管理界面设置的参数,包括当前使用的Setup界面的标识。
[0054]步骤553,BMC控制主板上电启动。
[0055]步骤511,在主板上,B1S上电启动。
[0056]步骤512,执行启动过程的SEC阶段和PEI阶段。
[0057]步骤513,完成SEC阶段和PEI阶段后,进入DXE阶段。
[0058]BMC对主板系统的启动过程进行监控。监测到启动进入DXE阶段,在BMC上,步骤554,将保存的当前使用的Setup界面的标识发送给主板系统。
[0059]在主板系统上,步骤514,在DXE阶段,加载各个总线和硬件设备的驱动程序,其中包括加载HII驱动和初始化HII数据库,构建显示Setup界面所需的硬件和软件环境。
[0060]步骤515,接收BMC发送的当前使用的Setup界面的标识。
[0061]需要说明的是,步骤514和步骤515之间没有时序关系。
[0062]步骤516,根据当前使用的Setup界面的标识,加载对应的Setup界面的界面数据,包括当前使用的Setup界面的界面描述数据、和当前使用的Setup界面的界面解析数据。
[0063]步骤517,在进行界面描述数据解析前,向BMC请求当前使用的Setup界面的标识。
[0064]在BMC上,步骤555,收到主板系统的请求后,BMC向主板系统返回当前使用的Setup界面的标识。
[0065]在主板系统上,步骤518,接收BMC回复的当前使用的Setup界面的标识。
[0066]步骤519,采用对应于当前使用的Setup界面的标识的界面解析数据,对对应的界面描述数据进行解析。
[0067]步骤520,启动过程进入BSD阶段。
[0068]步骤521,判断用户是否按下预
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1