CN102169446B - 一种基于开源系统基本输入输出系统的bios系统和方法 - Google Patents

一种基于开源系统基本输入输出系统的bios系统和方法 Download PDF

Info

Publication number
CN102169446B
CN102169446B CN201110126311.9A CN201110126311A CN102169446B CN 102169446 B CN102169446 B CN 102169446B CN 201110126311 A CN201110126311 A CN 201110126311A CN 102169446 B CN102169446 B CN 102169446B
Authority
CN
China
Prior art keywords
option rom
service routine
module
interrupt service
initialization
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.)
Active
Application number
CN201110126311.9A
Other languages
English (en)
Other versions
CN102169446A (zh
Inventor
程旭
李皓
郑衍松
佟冬
管雪涛
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.)
BEIDA ZHONGZHI MICROSYSTEM SCIENCE AND TECHNOLOGY Co Ltd BEIJING
JINAN DPSTOR CO Ltd
Peking University
Original Assignee
JINAN DPSTOR CO Ltd
BEIDA ZHONGZHI MICROSYSTEM SCIENCE AND TECHNOLOGY Co Ltd BEIJING
Peking University
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 JINAN DPSTOR CO Ltd, BEIDA ZHONGZHI MICROSYSTEM SCIENCE AND TECHNOLOGY Co Ltd BEIJING, Peking University filed Critical JINAN DPSTOR CO Ltd
Priority to CN201110126311.9A priority Critical patent/CN102169446B/zh
Publication of CN102169446A publication Critical patent/CN102169446A/zh
Priority to PCT/CN2011/080541 priority patent/WO2012155439A1/zh
Application granted granted Critical
Publication of CN102169446B publication Critical patent/CN102169446B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种基于开源BIOS的BIOS启动方法和装置,涉及计算机应用领域。包括:BIOS的操作系统接口模块的中断服务例程采用Option ROM模组方式实现;该BIOS在计算机操作系统加电时,板级核心模块初始化板级设备并输出系统信息,MAPPER模块将该系统信息转换为可由该操作系统接口模块识别的系统信息表格,该板级核心模块对中断服务例程根据该系统信息表格中的信息依次进行初始化。本发明提供的技术方案可应用于具有基于开源BIOS的BIOS系统的计算机系统启动开源和大型商业非开源操作系统。

Description

一种基于开源系统基本输入输出系统的BIOS系统和方法
技术领域
本发明涉及计算机应用领域,尤其涉及一种基于开源基本输入输出系统(BIOS)的BIOS系统和方法。
背景技术
自从1981年,IBM为世界上第一台个人计算机(PC)开发出针对其的基本输入输出系统(BIOS)以来,为了保持向后兼容,虽然各种计算机软硬件层出不穷,但传统的PC BIOS作为软硬件接口,它的架构并没有发生太大改变。通用的PC BIOS由两部分组成:一是板级模块,特定于每个系统平台,用于初始化系统平台中所有的设备到可以工作的稳定状态,包括中央处理器(CPU)、南桥、北桥以及连接在南北桥上的硬件模块等;一是接口模块,普遍适用于所有平台,作为通用接口,通过对板级设备进行抽象提供给操作系统统一的接口与板级设备进行通信。其功能主要包括:1)开机自测试(POST,Power On Self Test),计算机系统加电后,控制权交给BIOS,BIOS执行系统检测,包括CPU和各种传统设备的初始化,传统设备包括可编程间隔计时器、可编程中断控制器、直接内存访问控制器等;2)初始化高速缓冲存储器、主板芯片组、显卡及相关外围设备的寄存器;3)保存系统的设置,存储在非易失性存储器中;4)将中断服务例程保存于内存中,提供给操作系统启动过程和运行过程的调用。典型的中断服务例程包括INT10H的图形服务例程,INT13H的磁盘服务例程,INT16H的键盘服务例程等。
但是随着计算机的发展,PC BIOS由于软硬件接口不公开、业界工业规范内容广泛、运行在x86系统下的PC BIOS大部分采用汇编语言实现,而汇编语言提供的语言级抽象较少,编译复杂,并且PC BIOS中不断加入新的功能模块使得传统PC BIOS的规模和容量变得庞大冗余、晦涩难懂,架构陈旧,启动速度慢并且存在较多漏洞(BUG)。因此,在可扩展固件接口(UEFI)规范推出之前,开源BIOS应运而生,如由Los Alamos国家实验室创建的coreboot系统(原名LinuxBIOS),以及现由德国DENX软件工程中心Wolfgang Denk维护的U-Boot系统,它们普遍具备模块化架构设计、可扩展性强、使用高级语言开发、可移植性强以及系统平台支持丰富等优势。开源BIOS的主要功能包括:1)开机自测试(POST),当计算机系统加电后,系统控制权交给开源BIOS,开源BIOS执行系统检测,包括CPU各项寄存器、可编程间隔计时器、可编程中断控制器和直接内存访问控制器等;2)初始化高速缓冲存储器、主板芯片组、显卡及相关外围设备的寄存器;3)保存系统设置,存储在非易失性存储器中。
但是这些开源BIOS由于不提供商业非开源操作系统所依赖的中断服务例程,无法支持如Windows家族在内的大型商业非开源操作系统。因此,开发出一种支持传统和现代操作系统的基于开源BIOS启动操作系统的系统和方法是亟待解决的问题。
发明内容
本发明要解决的问题是提供一种基于开源系统基本输入输出系统的BIOS系统和启动方法。
为解决上述技术问题,本发明提供了如下技术方案:
基本输入输出系统(BIOS)的操作系统接口(INTERFACE)模块的中断服务例程采用可选择性唯读记忆体(Option ROM)模组(Module)方式实现;
所述BIOS在计算机系统加电时,板级核心模块(CORE)初始化板级设备并输出系统信息,板级核心模块抽象层(MAPPER)模块根据所述系统信息转换得到可由所述操作系统接口模块识别的系统信息表格,所述板级核心模块对所述操作系统接口模块包含的所述中断服务例程根据所述系统信息表格中的信息依次进行初始化,所述系统信息包括所述计算机系统的硬件列表、相应的端口地址以及内存大小的信息。
进一步的,所述操作系统接口模块采用Option ROM Module方式实现所述中断服务例程具体包括,所述操作系统接口模块包括多个Option ROM,每个Option ROM对应一个服务例程,所述Option ROM包括所述服务例程、所述服务例程的初始化例程和可选择性唯读记忆体头(Option ROM Header),所述服务例程的初始化例程包括所述服务例程的入口地址信息,所述OptionROM Header包括所述Option ROM的大小和所述服务例程的初始化例程地址的信息。
进一步的,所述板级核心模块为可扩展开源BIOS;所述MAPPER模块是所述开源BIOS相关的。
进一步的,所述板级核心模块还保存所述操作系统接口模块的地址范围,所述Option ROM依次进行初始化具体包括:
所述MAPPER模块初始化完成后,所述板级核心模块根据所述OptionROM规定的数据单元的大小在所述操作系统接口模块的地址范围内扫描所述操作系统接口模块,扫描到第一个Option ROM,调用所述Option ROM的Option ROM Header中指定的所述Option ROM的服务例程初始化例程的函数入口,初始化所述Option ROM对应的服务例程;
所述Option ROM初始化完成后,所述板级核心模块扫描所述操作系统接口模块中所述Option ROM的下一Option ROM,调用当前扫描的所述Option ROM的Option ROM Header中指定的所述Option ROM的服务例程初始化例程的函数入口,初始化当前所述Option ROM对应的服务例程,直到所述操作系统接口模块最后一个Option ROM对应的服务例程初始化完毕。
进一步的,所述Option ROM Header中还包含签名信息,所述板级核心模块判断扫描到所述Option ROM的方法为:
所述板级核心模块根据所述Option ROM规定的数据单元的大小在所述操作系统接口模块的地址范围内扫描所述操作系统接口模块,如检测前两个字节为所述签名信息,则扫描到一个所述Option ROM。
进一步的,所述板级核心模块扫描所述Option ROM,扫描到所述签名后,还根据所述Option ROM Header中保存的对应的服务例程大小的信息对所述Option ROM整体进行奇偶校验,如所述奇偶校验和正确,则初始化所述Option ROM对应的服务例程。
进一步的,如所述奇偶校验和正确,所述板级核心模块初始化所述OptionROM对应的服务例程后,还根据所述Option ROM Header保存的所述服务例程大小的信息更新Option ROM扫描算法的基址;
如所述奇偶校验和不正确,所述板级核心模块以所述Option ROMHeader中提供的数据单元大小为单位更新Option ROM扫描算法的基址;
所述板级核心模块更新完所述扫描算法的基址后还判断所述基址是否超出所述操作系统接口模块的地址范围,如是,则根据用户设置,到软盘、硬盘或CD ROM中加载操作系统,如否,则扫描下一Option ROM。
进一步的,所述Option ROM对应服务例程的根据所述系统信息表格进行初始化具体包括:
所述服务例程初始化过程中需要判断所述服务例程操作的相关硬件是否存在,或查询端口地址或可用内存大小时,所述操作系统接口模块通过查询所述MAPPER模块维护的系统信息表格获得需要的信息,所述系统信息表格存储在BIOS数据区或非易失性存储器(Non-Volatile RAM)中。
进一步的,所述Option ROM对应的服务例程初始化时,还包括所述Option ROM中的服务例程初始化例程注册所述服务例程的入口地址到中断服务向量表(Interrupt Vector Table)中,所述中断服务向量表由所述MAPPER模块维护。
进一步的,所述操作系统接口模块的中断服务例程为计算机操作系统启动所必须的服务例程,包括图形服务例程INT10H,获取内存大小服务例程INT12H,磁盘服务例程INT13H,杂项服务例程INT15H、键盘服务例程INT16H和外部设备互联总线设备基本输入输出系统(PCI BIOS)服务例程INT1AH等。
为了解决上述技术问题,本发明还提供了一种基于开源基本输入输出系统(BIOS)的BIOS系统,其特征在于,包括板级核心模块、板级核心模块抽象层(MAPPER)模块和操作系统接口模块,其中:
所述板级核心模块,用于计算机系统加电后,初始化板级设备并输出系统信息,所述系统信息包括所述计算机系统的硬件列表、相应的端口以及内存大小的信息;
所述MAPPER模块,用于根据所述系统信息转换得到可由所述操作系统接口模块识别的系统信息表格;
所述操作系统接口模块,用于采用可选择性唯读记忆体(Option ROM)模组(Module)方式实现中断服务例程,根据所述系统信息表格依次进行初始化所述中断服务例程。
进一步的,所述操作系统接口模块包括多个Option ROM,每个OptionROM对应一个服务例程,所述Option ROM包括服务例程本身、所述服务例程的初始化例程和可选择性唯读记忆体头(Option ROM Header),其中,
所述服务例程的初始化例程用于保存所述服务例程的入口地址信息,配置硬件,并注册所述服务例程的入口地址信息至中断向量表中;
所述Option ROM Header用于保存所述服务例程的大小和所述服务例程的初始化例程地址的信息。
进一步的,所述板级核心模块,还用于初始化板级设备后,跳转到所述MAPPER模块,所述板级核心模块是可扩展开源BIOS;
所述MAPPER模块,还用于执行内部的初始化函数完成自身的初始化,读取并解析所述板级核心模块输出的系统信息,根据所述系统信息创建和维护所述系统信息表格,跳转到所述板级核心模块,所述MAPPER模块是所述开源BIOS相关的。
进一步的,所述板级核心模块还用于保存所述操作系统接口模块的地址范围,初始化INTERFACE模块,根据所述地址范围扫描所述INTERFACE模块,扫描到第一个Option ROM,保存所述Option ROM的基址,调用所述Option ROM的Option ROM Header中指定的所述Option ROM的服务例程初始化例程的函数入口,从所述Option ROM跳转回来,扫描所述操作系统接口模块中所述Option ROM的下一Option ROM,根据当前扫描的所述OptionROM的Option ROM Header中指定的所述Option ROM的大小,更新所述扫描算法的基址,并判断所述基址是否超出所述操作系统接口模块的地址范围,如是,则根据用户设置,到软盘、硬盘或CD ROM中加载操作系统,如否,则扫描当前Option ROM的下一Option ROM;
所述MAPPER模块还用于维护BIOS数据区和中断服务向量表;
所述操作系统接口模块还用于所述Option ROM的服务例程初始化例程的函数入口被调用,执行所述Option ROM对应的服务例程的初始化例程,对所述服务例程进行初始化,初始化完成跳回所述板级核心模块;
所述操作系统接口模块的所述Option ROM的服务例程初始化例程还用于注册所述服务例程的入口地址到所述中断服务向量表。
进一步的,所述Option ROM Header中还包含签名信息,
所述板级核心模块还用于根据所述INTERFACE模块地址范围扫描所述INTERFACE模块,如检测前两个字节为所述签名信息,则扫描到一个所述Option ROM,根据所述Option ROM Header中保存的对应的服务例程大小的信息对所述Option ROM整体进行奇偶校验,如所述奇偶校验和正确,则调用所述Option ROM的Option ROM Header中指定的所述Option ROM的服务例程初始化例程的函数入口,根据所述Option ROM Header保存的所述服务例程大小的信息更新扫描算法的基址;如所述奇偶校验和不正确,所述板级核心模块以512字节为单位更新扫描算法的基址,所述板级核心模块更新完所述扫描的基址后还判断所述基址是否超出所述操作系统接口模块的地址范围,如是,则根据用户设置,到软盘、硬盘或CD ROM中加载操作系统,如否,则扫描下一Option ROM。
进一步的,所述操作系统接口模块还用于所述服务例程初始化过程中需要判断所述服务例程操作的相关硬件是否存在或查询端口地址或可用内存大小时,查询所述MAPPER模块维护的系统信息表格获得需要的信息。
本发明提供的一个或多个实施例,该板级核心模块(CORE)选择开源基本输入输出系统(BIOS)初始化板级设备,输出系统信息,该系统信息包括内存大小和设备类型等,该操作系统接口模块中的中断服务例程(Interrupt ServiceRoutine)采用Option ROM模组方式实现,该中断服务例程根据由所述系统信息转换得到可由该操作系统接口(INTERFACE)模块识别的系统信息表格依次初始化,并注册该中断服务例程至中断向量表中。通过扩展开源BIOS的架构,引入板级核心模块抽象层(MAPPER)模块作为板级核心模块和操作系统接口模块之间的接口,并且操作系统接口模块采用Option ROM模组方式实现计算机操作系统启动所需的服务例程,开发出操作系统接口模块和开源BIOS相结合的BIOS系统,不仅能够支持开源操作系统,也能够支持非开源商业操作系统,如Windows操作系统等,具有很好的兼容性。
附图说明
图1为基于本发明的BIOS系统和方法的计算机系统的结构示意图;
图2(a)为本发明基于开源BIOS的BIOS系统在计算机闪存(FLASH)中的结构示意图;
图2(b)为本发明的基于开源BIOS的BIOS系统在计算机内存中的结构示意图;
图3为本发明实施例一的基于开源BIOS的BIOS系统的结构示意图;
图4为本发明的BIOS系统在计算机启动过程中的方法流程图;
图5为本发明的方法在计算机启动过程中板级核心模块CORE初始化操作系统接口模块INTERFACE的一Option ROM的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步的详细描述。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1为基于本发明的BIOS系统和方法的计算机系统的结构示意图,包括相互连接的南桥和北桥,与北桥相连接的中央处理器(CPU)、显卡和内存,与南桥相连接的大容量存储和系统基本输入输出系统(System BIOS),少针脚型接口(LPC)总线,外设部件互联标准(PCI)总线以及与PCI总线相连接的PCI设备。
其中本申请的System BIOS在闪存(FLASH)中的结构如图2(a)所示,包括板级核心模块(CORE)、板级核心模块抽象层(MAPPER)模块和操作系统接口模块(INTERFACE)。本申请的BIOS系统通过扩展开源BIOS得到。其中该操作系统接口模块采用可选择性唯读记忆体(Option ROM)模组(Module)方式实现中断服务例程,该服务例程为编译后的二进制代码经过压缩后形成的压缩的二进制代码。
本申请的BIOS在计算机硬件系统上电后,为了得到更快的执行速度,该板级核心模块和该MAPPER模块拷贝到内存中执行,该操作系统接口模块经过解压缩后拷贝到内存中执行,该操作系统接口模块中的服务例程解压缩为二进制代码。BIOS在内存中的结构如图2(b)所示,按照地址从高到低的顺序包括System BIOS(即板级核心模块、该MAPPER模块和该操作系统接口模块)、VGA BIOS及数据区、传统DOS应用程序工作区、BIOS数据区和中断向量表。
该板级核心模块,用于计算机硬件系统加电后,初始化板级设备并输出系统信息,跳转到该MAPPER模块,该系统信息包括该计算机系统的硬件列表、相应的端口地址以及内存大小的信息,还用于保存该操作系统接口模块的地址范围。
该板级核心模块是开源BIOS相关的,其功能和结构依赖于所采用的开源BIOS的功能和结构。
该板级核心模块抽象层(MAPPER)模块,用于执行内部的初始化函数完成自身的初始化,读取并解析所述板级核心模块输出的系统信息,根据所述系统信息创建和维护可由所述操作系统接口(INTERFACE)模块识别的系统信息表格,跳转到所述板级核心模块,该MAPPER模块是该开源BIOS相关的。该系统信息表格的格式根据该开源BIOS确定,存储在BIOS数据区或非易失性存储器(Non-Volatile RAM)中。该MAPPER模块还用于维护一中断服务向量表。
该操作系统接口模块,用于采用可选择性唯读记忆体(Option ROM)模组方式实现计算机操作系统启动时所需的中断服务例程,该中断服务例程根据由该MAPPER模块维护的系统信息表格依次进行初始化。
操作系统接口模块包括多个Option ROM,每个Option ROM对应一个服务例程,所述Option ROM包括服务例程、该服务例程的初始化例程和可选择性唯读记忆体头(Option ROM Header),其中,
该服务例程的初始化例程用于配置硬件和保存该服务例程的入口地址信息;
该Option ROM Header用于保存签名信息、该Option ROM的大小和该服务例程的初始化例程地址的信息。该服务例程的大小为该Option ROM规定的数据单元大小的整数倍,本实施例中该Option ROM的数据单元以512字节为例。
在该计算机闪存(FLASH)中,该服务例程为编译后的二进制代码经过压缩后形成的压缩的二进制代码。该计算机硬件系统启动后,为了提高执行速度,该BIOS系统的板级核心模块和MAPPER模块直接拷贝到内存中执行,同时该操作系统接口模块中的服务例程解压缩为二进制代码拷贝到内存中。
该板级核心模块在该MAPPER模块初始化完成后,扫描该操作系统接口模块中的第一个Option ROM,保存该Option ROM的基址,扫描到该OptionROM Header中的签名后,根据该Option ROM Header中保存的对应的服务例程大小的信息对该Option ROM整体进行奇偶校验,如该奇偶校验和正确,调用该Option ROM的Option ROM Header中指定的该Option ROM的服务例程初始化例程的函数入口,同时更新扫描算法的基址为当前Option ROM扫描算法的基址与当前Option ROM的大小之和,该扫描算法的基址仍为512字节的整数倍。如该奇偶校验和不正确,该板级核心模块以设定大小的地址段,如512字节为单位更新扫描的基址,更新完所述扫描的基址后还判断该基址是否超出该操作系统接口模块的地址范围,如是,则表明所有OptionROM以初始化完毕,可继续根据用户设置,到软盘、硬盘或CD ROM中加载操作系统,如否,则扫描下一Option ROM。
该操作系统接口模块还用于该Option ROM的服务例程初始化例程的函数入口被调用,执行该Option ROM对应的服务例程的初始化例程,对该服务例程进行初始化,该Option ROM的服务例程初始化例程注册该服务例程的入口地址到该MAPPER模块维护的中断服务向量表,初始化完成跳转回该板级核心模块。
该板级核心模块在初始化完当前Option ROM后,扫描该操作系统接口模块中当前Option ROM的下一Option ROM,扫描到该Option ROM的签名后,根据该Option ROM Header中保存的对应的服务例程大小的信息对该Option ROM整体进行奇偶校验,如该奇偶校验和正确,则调用该Option ROM的Option ROM Header中指定的该Option ROM的服务例程初始化例程的函数入口,根据该Option ROM Header保存的该服务例程大小的信息更新扫描算法的基址,调用当前扫描的该Option ROM的Option ROM Header中指定的该Option ROM的服务例程初始化例程的函数入口,如所述奇偶校验和不正确,所述板级核心模块以512字节为单位更新扫描的基址。该板级核心模块判断该基址是否超出所述操作系统接口模块的地址范围,如是,则表明所有Option ROM以初始化完毕,可继续根据用户设置,到软盘、硬盘或CDROM中加载操作系统,如否,则扫描当前Option ROM的下一Option ROM按照同样方式初始化下一Option ROM对应的服务例程。
该操作系统接口模块存储的中断服务例程包括计算机系统启动所必须的服务例程,包括图形服务例程INT10H,获取内存大小服务例程INT12H,磁盘服务例程INT13H,杂项服务例程INT15H、键盘服务例程INT16H和外部设备互联总线设备基本输入输出系统(PCI BIOS)服务例程INT1AH等。
该操作系统接口模块还用于该服务例程初始化过程中需要判断该服务例程操作的相关硬件是否存在,或查询端口地址或可用内存大小时,查询该MAPPER模块维护的系统信息表格获得需要的信息。如磁盘服务例程INT13H初始化需要判断是否存在软盘、硬盘或光盘,则该操作系统接口模块查询该MAPPER模块维护的系统信息表格中的硬件列表得到需要的信息,如果存在相应的硬件,则该Option ROM对应的服务例程的初始化例程注册该服务例程INT13H的函数入口地址到该MAPPER维护的中断服务向量表中。对于INT12H其用于向操作系统报告内存大小的信息,在INT12H初始化过程中,该操作系统接口模块无需检测内存的大小,直接从该MAPPER模块维护的系统信息表格中查询所述信息。
本发明的基于开源基本输入输出系统(BIOS)的BIOS启动方法中,BIOS的操作系统接口模块采用可选择性唯读记忆体(Option ROM)模组(Module)方式实现。该BIOS在计算机硬件系统加电时板级核心模块初始化板级设备并输出系统信息,该系统信息包括所述计算机系统的硬件列表、相应的端口地址以及内存大小的信息,该操作系统接口模块根据由该系统信息转换得到的可由该操作系统接口(INTERFACE)模块识别的系统信息表格对其中的Option ROM依次进行初始化。下面结合具体实施例进行详细说明。
实施例一
本实施例的基于开源BIOS的BIOS系统的结构示意图如图3所示,该开源BIOS为可扩展BIOS。图3中所示的BIOS系统大小为4Mb,其物理地址0xD0000到0xFFFFF包括板级核心模块(CORE)、板级核心模块抽象层(MAPPER)模块和操作系统接口模块(INTERFACE)三个部分,其中物理地址0xF0000到0xFFFFF包括该板级核心模块和该板级核心模块抽象层模块,该板级核心模块位于高位地址从0xFFFFF开始,该MAPPER模块位于该板级核心模块的低位,其具体位置在编译时确定。
1)板级核心模块(CORE):用于计算机系统加电后,获得控制权,初始化板级设备,包括中央处理器、高速缓冲存储器、内存控制器、北桥及北桥相关的设备和南桥及南桥相关的设备等,输出系统信息,跳转到所述MAPPER模块,所述系统信息包括所述计算机系统的硬件列表、相应的端口地址以及内存大小的信息,还用于保存所述操作系统接口模块的地址范围,从该MAPPER模块跳转回来,扫描操作系统接口模块的Option ROM。
2)MAPPER模块,用于执行内部的初始化函数完成自身的初始化,读取并解析所述板级核心模块输出的系统信息,根据所述系统信息创建和维护可由所述操作系统接口(INTERFACE)模块识别的系统信息表格,跳转到所述板级核心模块,维护中断服务向量表。
3)操作系统接口模块(INTERFACE):从物理地址0xD0000到0xEFFFF,用于采用可选择性唯读记忆体(Option ROM)模组方式实现中断服务例程,该Option ROM根据由该MAPPER模块维护的系统信息表格依次进行初始化。
本实施例的操作系统接口模块包含3个Option ROM,每个Option ROM的大小是512字节的整数倍。物理地址0xD0000到0xDFFFF范围内包含两个Option ROM,因此具有两个Option ROM Header。这两个Option ROM分别提供了INT 16H的键盘服务例程(Keyboard Service)和INT 15H的杂项服务例程(System Service)。对Windows操作系统,物理地址从0xE0000到0xEFFFF范围的Option ROM提供了INT 13H的磁盘服务例程(Disk Service)。本发明不限定Option ROM的大小,以及内存中服务例程Option ROM在操作系统接口模块范围内的摆放位置。
为了保证独立性,以及为了该操作系统接口模块提供高级操作系统如Windows操作系统和Linux操作系统启动所需的兼容性支持,该操作系统接口模块还符合《即插即用BIOS规范》中的ROM的标准格式。
该板级核心模块依次扫描该操作系统接口模块中的Option ROM,扫描到该操作系统接口模块中的Option ROM Header,查询该Option ROM Header中保存的签名,根据该Option ROM Header中保存的对应的服务例程大小的信息对该Option ROM整体进行奇偶校验,如该奇偶校验和正确,则根据该Option ROM Header中提供的关于该Option ROM对应的服务例程大小的信息进行递增或递减搜索,更新扫描算法的基址,调用该Option ROM的服务例程初始化例程的入口函数,跳转到该操作系统接口模块进行相应功能的初始化。如该奇偶校验和不正确,该板级核心模块以512字节为单位更新扫描算法的基址。该板级核心模块更新完所述扫描基址后还判断该基址是否超出该操作系统接口模块的地址范围,如是,则表明所有Option ROM已经初始化完毕,可以继续根据用户设置,到软盘、硬盘或CD ROM中加载操作系统,如否,则扫描下一Option ROM。
该操作系统接口模块得到控制权,即该Option ROM的服务例程初始化例程的函数入口被调用后,执行该Option ROM对应的服务例程的初始化例程,对该服务例程进行初始化,该Option ROM的服务例程初始化例程注册该服务例程的入口地址到该MAPPER模块维护的中断服务向量表,初始化完成跳转回该板级核心模块。该板级核心模块扫描下一Option ROM,初始化该Option ROM对应的服务例程。
该操作系统接口模块还用于该服务例程初始化过程中需要判断该服务例程操作的相关硬件是否存在,或查询端口地址或可用内存大小时,查询该MAPPER模块维护的系统信息表格获得需要的信息。如磁盘服务例程INT13H初始化需要判断是否存在软盘、硬盘或光盘,则该操作系统接口模块查询该MAPPER模块维护的系统信息表格中的硬件列表得到需要的信息,如果存在相应的硬件,则该Option ROM对应的服务例程的初始化例程注册该服务例程INT13H的函数入口地址到该MAPPER维护的中断服务向量表中。对于INT12H其用于向操作系统报告内存大小的信息,在INT12H初始化过程中,该操作系统接口模块无需检测内存的大小,直接从该MAPPER模块维护的系统信息表格中查询所述信息。
该板级核心模块、MAPPER模块和操作系统接口模块均保存在非易失性只读存储器中。
由于该BIOS系统采用Option ROM模组方式实现操作系统启动或运行期间所需要的服务,本发明的BIOS系统是可扩展的,可以根据需要设置一个或多个Option ROM及其所对应的服务例程。由于该开源BIOS系统提供的服务与工业界PC BIOS功能相同,因此能够与工业界PC BIOS相兼容,能够提供与工业界PC BIOS相兼容的软硬件接口。
该开源BIOS系统还包括系统检测模块、BIOS可扩展固件接口(UEFI)模块和系统调试工具模块。
基于该开源BIOS系统开发的固件BIOS支持的计算机系统包括X86兼容处理器、支持PCI总线标准的计算机和高级操作系统,如Windows操作系统和Linux操作系统等,包括但不限于DOS、Windows 98、Windows 2000、Windows XP、Windows Vista、Window 7和Linux的各主流发行版本。
实施例二
本实施例以X86处理器为例,本发明基于开源BIOS的BIOS启动方法处理流程如图4所示,包括以下步骤:
步骤301:计算机系统加电,中央处理器从BIOS的物理地址0xF000:0xFFF0处取指令,调用板级核心模块并将控制权交给该板级核心模块,拷贝该板级核心模块和该MAPPER模块到内存,该板级核心模块解压缩并拷贝该操作系统接口模块到内存中,对该计算机系统中的板级设备进行初始化,并输出系统信息;
该系统信息包括该计算机系统的硬件列表、相应的端口地址以及内存大小的信息。
该板级设备初始化完,该板级核心模块调用该MAPPER模块的入口函数,该MAPPER模块执行该模块内部保存的初始化函数完成自身的初始化,读取并解析所述板级核心模块输出的系统信息,根据所述系统信息创建和维护所述系统信息表格。该表格包括该计算机系统的硬件列表、相应的端口地址以及内存大小的信息。该MAPPER模块还初始化BIOS数据区中(BDA)和扩展BIOS数据区(EBDA)的数据,维护该为启动操作系统所准备的表格包括可编程中断请求(PIRQ)表格和高级配置与电源接口(ACPI)表格等。该板级核心模块和该MAPPER模块都是开源BIOS相关的,即其功能和结构都取决于该开源BIOS的功能和结构。
步骤302:该板级核心模块设置扫描Option ROM算法扫描基址为0xD0000,并保存该扫描基址;
该操作系统接口模块包括多个Option ROM,每个Option ROM对应一个服务例程,该Option ROM包括服务例程、该服务例程的初始化例程和可选择性唯读记忆体头(Option ROM Header)。
该服务例程的初始化例程包括该服务例程的入口地址信息;该OptionROM Header包括该服务例程的签名、大小和该服务例程的初始化例程地址的信息。该服务例程的大小信息是该服务例程未压缩时占内存空间的大小的信息。该Option ROM的格式兼容工业《即插即用BIOS规范》。
步骤303:该板级核心模块根据保存的扫描算法基址扫描该操作系统接口模块中的Option ROM,并进行奇偶校验;
该板级核心模块扫描地址0xD0000处的Option ROM Header,查询其是否包含签名“55AA”,如是,则确定该地址处存在一个Option ROM,否则,该板级核心模块以512字节为单位更新扫描的基址。该板级核心模块确定地址处存在一个Option ROM,还查询该Option ROM Header中保存的该服务例程大小的信息,根据该Option ROM的大小,对该Option ROM整体进行奇偶校验。
步骤304:该板级核心模块判断该奇偶校验和是否正确,正确,执行步骤305,否则,执行步骤306;
对该Option ROM整体进行奇偶校验是为了保证数据的完整性,其他用于保证数据完整性的校验算法,如CRC算法也适用于本发明所述的方法。
步骤305:该板级核心模块初始化该Option ROM,执行步骤307;
该板级核心模块根据该Option ROM Header中表示该Option ROM大小的信息,更新扫描Option ROM算法的起始地址,调用该Option ROM Header中指定的该Option ROM对应的服务例程的初始化例程的函数入口,初始化该服务例程。该Option ROM对应的服务例程的初始化例程注册该服务例程的入口地址到该MAPPER模块维护的中断服务向量表(IVT)中。
该服务例程初始化过程中需要判断该服务例程操作的相关硬件是否存在,或查询端口地址或可用内存大小时,该操作系统接口模块查询该MAPPER模块维护的系统信息表格获得需要的信息。如磁盘服务例程INT13H初始化需要判断是否存在软盘、硬盘或光盘,则该操作系统接口模块查询该MAPPER模块维护的系统信息表格中的硬件列表得到需要的信息,如果存在相应的硬件,则该Option ROM对应的服务例程的初始化例程注册该服务例程INT13H的函数入口地址到该MAPPER模块维护的中断服务向量表中。对于INT12H其用于向操作系统报告内存大小的信息,在INT12H初始化过程中,该操作系统接口模块无需检测内存的大小,直接从该MAPPER模块维护的系统信息表格中查询所述信息。
步骤306:该板级核心模块以512字节为单位,对该扫描Option ROM算法的基址递增1个单位,执行步骤307;
步骤307:判断扫描算法基址是否大于0xEFFFF,是,则执行步骤308,否则,执行步骤303;
由于板级核心模块的物理地址从0xF0000开始,因此,对操作系统接口模块中Option ROM的扫描不能超过该地址,如果该扫描算法基址是否大于0xEFFFF,说明所有Option ROM已经扫描完毕。
步骤308:该操作系统接口模块初始化完毕后,该板级核心模块根据用户的设置,从指定的地址加载操作系统,该指定的地址为软盘、硬盘或CDROM;
步骤309:引导并运行操作系统。
该操作系统接口模块初始化各服务模块后,将控制权交给该MAPPER模块,该MAPPER模块通过函数调用,执行INT19H中断处理例程,该例程输出显示信息,提示用户输入信息选择启动,进行操作系统的引导。
上述步骤303-306该计算机系统启动过程中该板级核心模块初始化操作系统接口模块中的Option ROM的处理如图5所示,该Option ROM对应的服务例程以磁盘服务例程INT13H为例,具体包括以下步骤:
步骤401:该板级核心模块扫描该操作系统接口模块中的一个OptionROM,扫描到该Option ROM的签名“55AA”;
步骤402:根据该Option ROM Header中表示该Option ROM对应的服务例程的大小的信息计算整个该Option ROM的奇偶校验和;
该Option ROM的数据单元以512字节为单位,该Option ROM对应的服务例程的大小为512字节的整数倍。
步骤403:判断该奇偶校验和是否正确,是,则执行步骤405,否则执行步骤404;
步骤404:以512字节为单位,对该扫描Option ROM算法的起始地址递增1个单位,执行步骤409;
步骤405:根据该Option ROM Header中该Option ROM大小的信息更新该扫描Option ROM算法的基址,调用该Option ROM Header中指定的该Option ROM即INT13H的函数入口,调用并执行该INT13H服务例程的初始化例程,初始化中断服务例程INT13H并注册INT13H服务例程的入口地址到到该MAPPER模块维护的中断服务向量表中;
步骤406-408均为该操作系统接口模块中该Option ROM相关的处理。
步骤406:控制权交给该操作系统接口模块中的该Option ROM,INT13H;
INT13H对于大型商业非开源操作系统,如Windows操作系统,至关重要,该服务负责引导整个操作系统运行。
步骤407:该Option ROM检测和初始化INT13H相关的硬件,包括软盘、硬盘和光盘CD ROM,初始化相应的控制器;
该Option ROM通过读取硬件寄存器信息检查这些硬件是否损坏,检测和初始化完毕,修改中断向量表中的相应向量INT13H*4,将该Option ROM的服务例程的入口地址写入中断服务向量表中,该入口地址可以以段值和偏移的形式写入该中断服务向量表,并将检测得到的硬件信息保存在非易失性存储器中,如互补型金属氧化物半导体(CMOS),以便操作系统使用。
步骤408:当前Option ROM放弃控制权,将该控制权交还给该板级核心模块;
步骤409:该板级核心模块重新获得控制权,进行扫描下一个OptionROM,进行该下一个Option ROM的检测。
本发明的板级核心模块和操作系统接口模块都支持Option ROM Header格式,并利用该Option ROM Header中的信息进行通信。由于该操作系统接口模块中的Option ROM独立于板级核心模块,因此本发明可以方便地为开源BIOS支持非开源操作系统,如Windows操作系统,提供必要的支持。而且本发明该板级核心模块和该操作系统接口模块采用的开发环境可以相同亦可以不同,该开发环境包括:编程语言、编译环境和交叉编译需求等。
由于大多数开源BIOS对板级设备支持较好,本发明的方法只需对现有开源BIOS做少量修改进行扩展,即可实现该板级核心模块的功能。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。

Claims (16)

1.一种基于开源基本输入输出系统(BIOS)的BIOS启动方法,其特征在于,包括: 
基本输入输出系统(BIOS)的操作系统接口(INTERFACE)模块的中断服务例程采用可选择性唯读记忆体(Option ROM)模组(Module)方式实现; 
所述BIOS在计算机系统加电时,板级核心模块(CORE)初始化板级设备并输出系统信息,板级核心模块抽象层(MAPPER)模块根据所述系统信息转换得到可由所述操作系统接口模块识别的系统信息表格,所述板级核心模块对所述操作系统接口模块包含的所述中断服务例程根据所述系统信息表格中的信息依次进行初始化,所述系统信息包括所述计算机系统的硬件列表、相应的端口地址以及内存大小的信息; 
其中,所述板级核心模块对所述操作系统接口模块包含的所述中断服务例程根据所述系统信息表格中的信息依次进行初始化是指:由板级核心模块借助于操作系统接口模块的地址范围,从基址开始利用可选择性唯读记忆体头(Option ROM Header)中签名或数据单元大小对整个操作系统接口模块地址范围进行依次遍历扫描以初始化。 
2.根据权利要求1所述的方法,其特征在于,所述操作系统接口模块采用Option ROM Module方式实现所述中断服务例程具体包括,所述操作系统接口模块包括多个Option ROM,每个Option ROM对应一个中断服务例程,所述Option ROM包括所述中断服务例程、所述中断服务例程的初始化例程和可选择性唯读记忆体头(Option ROM Header),所述中断服务例程的初始化例程包括所述中断服务例程的入口地址信息,所述Option ROM Header包括所述Option ROM的大小和所述中断服务例程的初始化例程地址的信息。 
3.根据权利要求1所述的方法,其特征在于,所述板级核心模块为可扩展开源BIOS;所述MAPPER模块是所述开源BIOS相关的。 
4.根据权利要求1或2或3所述的方法,其特征在于,所述板级核心模块还保存所述操作系统接口模块的地址范围,所述Option ROM对应的中断 服务例程依次进行初始化具体包括: 
所述MAPPER模块初始化完成后,所述板级核心模块根据所述Option ROM规定的数据单元的大小在所述操作系统接口模块的地址范围内扫描所述操作系统接口模块,扫描到第一个Option ROM,调用所述Option ROM的Option ROM Header中指定的所述Option ROM的中断服务例程初始化例程的函数入口,初始化所述Option ROM对应的中断服务例程; 
所述Option ROM对应的中断服务例程初始化完成后,所述板级核心模块扫描所述操作系统接口模块中所述Option ROM的下一Option ROM,使下一Option ROM成为当前扫描的Option ROM,调用当前扫描的所述Option ROM的Option ROM Header中指定的所述Option ROM的中断服务例程初始化例程的函数入口,初始化当前所述Option ROM对应的中断服务例程,直到所述操作系统接口模块最后一个Option ROM对应的中断服务例程初始化完毕。 
5.根据权利要求4所述的方法,其特征在于,所述Option ROM Header中还包含签名信息,所述板级核心模块判断扫描到所述Option ROM的方法为: 
所述板级核心模块根据所述Option ROM规定的数据单元的大小在所述操作系统接口模块的地址范围内扫描所述操作系统接口模块,如检测前两个字节为所述签名信息,则扫描到一个所述Option ROM。 
6.根据权利要求5所述的方法,其特征在于,所述板级核心模块扫描所述Option ROM,扫描到所述签名信息后,还根据所述Option ROM Header中保存的对应的中断服务例程大小的信息对所述Option ROM整体进行奇偶校验,如所述奇偶校验和正确,则初始化所述Option ROM对应的中断服务例程。 
7.根据权利要求6所述的方法,其特征在于,如所述奇偶校验和正确,所述板级核心模块初始化所述Option ROM对应的中断服务例程后,还根据 所述Option ROM Header保存的所述中断服务例程大小的信息更新OptionROM扫描算法的基址; 
如所述奇偶校验和不正确,所述板级核心模块以所述Option ROM Header中提供的数据单元大小为单位更新Option ROM扫描算法的基址; 
所述板级核心模块更新完所述扫描算法的基址后还判断所述基址是否超出所述操作系统接口模块的地址范围,如是,则根据用户设置,到软盘、硬盘或CD ROM中加载操作系统,如否,则扫描下一Option ROM。 
8.根据权利要求1或2或3所述的方法,其特征在于,所述Option ROM对应中断服务例程的根据所述系统信息表格进行初始化具体包括: 
所述中断服务例程初始化过程中需要判断所述中断服务例程操作的相关硬件是否存在、或查询端口地址或可用内存大小时,所述操作系统接口模块通过查询所述MAPPER模块维护的系统信息表格获得需要的信息,所述系统信息表格存储在BIOS数据区或非易失性存储器(Non-Volatile RAM)中。 
9.根据权利要求4所述的方法,其特征在于,所述Option ROM对应的中断服务例程初始化时,还包括所述Option ROM中的中断服务例程初始化例程注册所述中断服务例程的入口地址到中断服务向量表(Interrupt VectorTable)中,所述中断服务向量表由所述MAPPER模块维护。 
10.根据权利要求1所述的方法,其特征在于,所述操作系统接口模块的中断服务例程为计算机操作系统启动所必须的中断服务例程,包括图形中断服务例程INT10H、获取内存大小中断服务例程INT12H、磁盘中断服务例程INT13H、杂项中断服务例程INT15H、键盘中断服务例程INT16H和外部设备互联总线设备基本输入输出系统(PCI BIOS)中断服务例程INT1AH。 
11.一种基于开源基本输入输出系统(BIOS)的BIOS系统,其特征在于,包括板级核心模块、板级核心模块抽象层(MAPPER)模块和操作系统接口模块,其中: 
所述板级核心模块,用于计算机系统加电后,初始化板级设备并输出系统信息,所述系统信息包括所述计算机系统的硬件列表、相应的端口地址以 及内存大小的信息; 
所述MAPPER模块,用于根据所述系统信息转换得到可由所述操作系统接口模块识别的系统信息表格; 
所述操作系统接口模块,用于采用可选择性唯读记忆体(Option ROM)模组(Module)方式实现中断服务例程,根据所述系统信息表格依次进行初始化所述中断服务例程; 
其中,所述采用可选择性唯读记忆体方式实现中断服务例程是指:由板级核心模块借助于操作系统接口模块的地址范围,从基址开始利用可选择性唯读记忆体头(Option ROM Header)中签名或数据单元大小对整个操作系统接口模块地址范围进行依次遍历扫描以初始化。 
12.根据权利要求11所述的系统,其特征在于,所述操作系统接口模块包括多个Option ROM,每个Option ROM对应一个中断服务例程,所述Option ROM包括中断服务例程本身、所述中断服务例程的初始化例程和可选择性唯读记忆体头(Option ROM Header),其中, 
所述中断服务例程的初始化例程用于保存所述中断服务例程的入口地址信息,配置硬件,并注册所述中断服务例程的入口地址信息至中断向量表中; 
所述Option ROM Header用于保存所述中断服务例程的大小和所述中断服务例程的初始化例程地址的信息。 
13.根据权利要求11所述的系统,其特征在于, 
所述板级核心模块,还用于初始化板级设备后,跳转到所述MAPPER模块,所述板级核心模块是可扩展开源BIOS; 
所述MAPPER模块,还用于执行内部的初始化函数完成自身的初始化,读取并解析所述板级核心模块输出的系统信息,根据所述系统信息创建和维护所述系统信息表格,跳转到所述板级核心模块,所述MAPPER模块是所述开源BIOS相关的。 
14.根据权利要求11或12或13所述的系统,其特征在于, 
所述板级核心模块还用于保存所述操作系统接口模块的地址范围,初始化操作系统接口模块,根据所述地址范围扫描所述操作系统接口模块,扫描到第一个Option ROM,保存所述Option ROM的基址,调用所述Option ROM的Option ROM Header中指定的所述Option ROM的中断服务例程初始化例程的函数入口,从所述Option ROM跳转回来,扫描所述操作系统接口模块中所述Option ROM的下一Option ROM,使下一Option ROM成为当前扫描的Option ROM,根据当前扫描的所述Option ROM的Option ROM Header中指定的所述Option ROM的大小,更新扫描算法的基址,并判断所述基址是否超出所述操作系统接口模块的地址范围,如是,则根据用户设置,到软盘、硬盘或CD ROM中加载操作系统,如否,则扫描当前Option ROM的下一Option ROM; 
所述MAPPER模块还用于维护BIOS数据区和中断服务向量表; 
所述操作系统接口模块还用于所述Option ROM的中断服务例程初始化例程的函数入口被调用,执行所述Option ROM对应的中断服务例程的初始化例程,对所述中断服务例程进行初始化,初始化完成跳回所述板级核心模块; 
所述操作系统接口模块的所述Option ROM的中断服务例程初始化例程还用于注册所述中断服务例程的入口地址到所述中断服务向量表。 
15.根据权利要求11或12所述的系统,其特征在于,所述Option ROM Header中还包含签名信息, 
所述板级核心模块还用于根据所述操作系统接口模块地址范围扫描所述操作系统接口模块,如检测前两个字节为所述签名信息,则扫描到一个所述Option ROM,根据所述Option ROM Header中保存的对应的中断服务例程大小的信息对所述Option ROM整体进行奇偶校验,如所述奇偶校验和正确,则调用所述Option ROM的Option ROM Header中指定的所述Option ROM的中断服务例程初始化例程的函数入口,根据所述Option ROM Header保存的所述中断服务例程大小的信息更新扫描算法的基址;如所述奇偶校验和不正 确,所述板级核心模块以512字节为单位更新扫描算法的基址,所述板级核心模块更新完所述扫描算法的基址后还判断所述基址是否超出所述操作系统接口模块的地址范围,如是,则根据用户设置,到软盘、硬盘或CD ROM中加载操作系统,如否,则扫描下一Option ROM。 
16.根据权利要求11或12所述的系统,其特征在于, 
所述操作系统接口模块还用于所述中断服务例程初始化过程中需要判断所述中断服务例程操作的相关硬件是否存在、或查询端口地址或可用内存大小时,查询所述MAPPER模块维护的系统信息表格获得需要的信息。 
CN201110126311.9A 2011-05-16 2011-05-16 一种基于开源系统基本输入输出系统的bios系统和方法 Active CN102169446B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201110126311.9A CN102169446B (zh) 2011-05-16 2011-05-16 一种基于开源系统基本输入输出系统的bios系统和方法
PCT/CN2011/080541 WO2012155439A1 (zh) 2011-05-16 2011-10-08 一种bios启动系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110126311.9A CN102169446B (zh) 2011-05-16 2011-05-16 一种基于开源系统基本输入输出系统的bios系统和方法

Publications (2)

Publication Number Publication Date
CN102169446A CN102169446A (zh) 2011-08-31
CN102169446B true CN102169446B (zh) 2014-01-15

Family

ID=44490612

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110126311.9A Active CN102169446B (zh) 2011-05-16 2011-05-16 一种基于开源系统基本输入输出系统的bios系统和方法

Country Status (2)

Country Link
CN (1) CN102169446B (zh)
WO (1) WO2012155439A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102169446B (zh) * 2011-05-16 2014-01-15 北京北大众志微系统科技有限责任公司 一种基于开源系统基本输入输出系统的bios系统和方法
CN105955822A (zh) * 2016-04-22 2016-09-21 浪潮电子信息产业股份有限公司 一种提高BIOS Legacy Option ROM空间利用率的方法
CN108460282A (zh) * 2017-02-22 2018-08-28 北京大学 一种基于异构多核芯片的计算机安全启动方法
CN107832238B (zh) * 2017-10-09 2021-08-31 江苏航天龙梦信息技术有限公司 一种基于龙芯处理器平台的高速缓存作内存的方法
CN109032581A (zh) * 2018-07-19 2018-12-18 北京首汽智行科技有限公司 多模块项目的集成方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996013772A1 (en) * 1994-10-31 1996-05-09 Intel Corporation A method for basic input-output system (bios) code compression/decompression dispatcher
CN101609406A (zh) * 2009-07-17 2009-12-23 浪潮电子信息产业股份有限公司 一种多bios映像并行初始化的方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704840B2 (en) * 2001-06-19 2004-03-09 Intel Corporation Computer system and method of computer initialization with caching of option BIOS
US7380095B2 (en) * 2004-06-30 2008-05-27 Intel Corporation System and method for simulating real-mode memory access with access to extended memory
CN102033763B (zh) * 2010-11-26 2013-09-04 武汉噢易科技有限公司 一种利用undi实现网络通信的方法
CN102169446B (zh) * 2011-05-16 2014-01-15 北京北大众志微系统科技有限责任公司 一种基于开源系统基本输入输出系统的bios系统和方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996013772A1 (en) * 1994-10-31 1996-05-09 Intel Corporation A method for basic input-output system (bios) code compression/decompression dispatcher
CN101609406A (zh) * 2009-07-17 2009-12-23 浪潮电子信息产业股份有限公司 一种多bios映像并行初始化的方法

Also Published As

Publication number Publication date
WO2012155439A1 (zh) 2012-11-22
CN102169446A (zh) 2011-08-31

Similar Documents

Publication Publication Date Title
US10445494B2 (en) Attack protection for valid gadget control transfers
TWI769595B (zh) 用以保護影子堆疊之處理器、方法、系統和指令
CN103377063B (zh) 从遗留操作系统环境恢复到uefi预启动环境的方法和系统
US9189248B2 (en) Specialized boot path for speeding up resume from sleep state
CN1258702C (zh) 为不同的指令集结构所编写的固件之间进行通信的方法
US7793286B2 (en) Methods and systems to manage machine state in virtual machine operations
JP6006248B2 (ja) 命令エミュレーションプロセッサ、方法、およびシステム
CN102169446B (zh) 一种基于开源系统基本输入输出系统的bios系统和方法
KR101249693B1 (ko) 서브루틴 복귀 메카니즘 선택
CN111857776A (zh) Dsp板卡类的应用程序的在线升级方法
US20120240116A1 (en) Performance In A Virtualization Architecture With A Processor Abstraction Layer
US20130262848A1 (en) Electronic apparatus and booting method
US20070260761A1 (en) Inter-module data communication control method and system for ACPI and BIOS
US7802080B2 (en) Null exception handling
US7293184B2 (en) Programmatic binding for power management events involving execution of instructions in a first programming system with a first interface and a second programming system with a second interface
TWI605332B (zh) 使用唯cpu重設的支援先進組態與電力介面(acpi)休眠狀態的方法及裝置
KR101341328B1 (ko) 사용자 정의 api 함수 생성 모듈 및 방법
US20070169086A1 (en) System and method for updating in-system program
WO2002071211A2 (en) Data processor having multiple operating modes
CN115545136B (zh) 一种在国产处理器平台固件进行raid卡管理的方法
CN102566935A (zh) 应用于bios的虚拟磁盘实现方法
US20240004658A1 (en) Instruction simulation device and method thereof
US11593113B2 (en) Widening memory access to an aligned address for unaligned memory operations
CN102331940A (zh) 一种将应用程序装载到安卓手机上的方法及系统
RU101555U1 (ru) Устройство для доверительной загрузки

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: JI NAN ZHONGZHI INFORMATION TECHNOLOGY CO., LTD. B

Effective date: 20120116

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20120116

Address after: 100080, Beijing Haidian District Zhongguancun 151 North Street, building 11, resources

Applicant after: Beida Zhongzhi Microsystem Science and Technology Co., Ltd., Beijing

Co-applicant after: Jinan Dpstor Co., Ltd.

Co-applicant after: Peking University

Address before: 100080, Beijing Haidian District Zhongguancun 151 North Street, building 11, resources

Applicant before: Beida Zhongzhi Microsystem Science and Technology Co., Ltd., Beijing

C14 Grant of patent or utility model
GR01 Patent grant