一种基于飞腾平台的固件与操作系统之间信息传递方法技术方案

技术编号:18553413 阅读:278 留言:0更新日期:2018-07-28 10:38
一种基于飞腾平台的固件与操作系统之间信息传递方法,步骤包括:S1、选择一段飞腾处理器缓存内存空间;S2、所述固件把传递信息写入所述缓存内存空间中;S3、将所述缓存内存空间的地址映射到CPU的虚拟地址空间中;S4、从映射的所述虚拟地址中读出所述传递信息,传递给用户空间和/或操作系统使用。本发明专利技术的有益效果是:同时适用uboot固件和UEFI固件与操作系统之间的信息传递;使用闲置的片上缓存来做从固件到操作系统的信息传递,不占用内存空间,节省内存资源;单独实现一个独立的固件内核间信息传递,不影响原有的标准固件与操作系统信息传递,不会对系统的原有功能产生影响。

【技术实现步骤摘要】
一种基于飞腾平台的固件与操作系统之间信息传递方法
本专利技术属于操作系统信息传递
,具体地说,涉及一种基于飞腾平台的固件与操作系统之间信息传递方法。
技术介绍
飞腾1500A平台是使用国产飞腾1500A处理器作为中央处理器的通用计算机平台。飞腾1500A平台包括多种形态的通用计算机,包括台式机、服务器、笔记本电脑等。在飞腾1500A平台上,可以同时使用着两种不同的固件:uboot固件和UEFI固件。由于uboot固件和UEFI固件差别较大,所以飞腾1500A平台计算机可以分为使用uboot固件的飞腾1500A平台计算机和使用UEFI固件的飞腾1500A平台计算机。在计算机系统中,一般需要在固件和操作系统内核之间传递信息。这种信息一般包括两类:一类是固件传递给内核的启动参数,如是否启用安全、initrd加载地址等,对于这类启动参数信息,uboot固件和UEFI固件均采用一种设备树的标准方式进行处理;而另一类是一些硬件的特定信息,包括制造厂商、主板型号及版本、内存信息等,对于这类硬件信息,uboot固件和UEFI固件则有各自不同的标准方式来处理。但在飞腾1500A计算机平台上,经常会在一些特殊情况下需要uboot和UEFI固件传递一些特殊信息给操作系统,这些信息并未预先在uboot和UEFI的标准信息传递方式中被定义好,此时通常会导致固件和操作系统内核之间无法传递信息。另外,如果沿用原有的uboot固件和UEFI固件标准信息传递方式,飞腾计算机平台需要针对uboot固件和UEFI固件,分别采用不同的信息传递方式来实现固件与操作系统内核之间信息传递。综上可知,标准的uboot和UEFI固件与操作系统之间信息传递方法并不能很好的满足飞腾1500A平台的要求。即使可以对uboot固件或UEFI固件的标准信息传递方法进行修改,使之适用于飞腾1500A平台计算机系统,但是由于需要对原有的uboot和UEFI两套标准方法进行修改,过程复杂,且修改后的方法不再是标准方法,很可能不再具有跨平台、可移植性。因此,在飞腾计算机平台上,为了同时适用uboot固件和UEFI固件,拥有一个统一的固件与操作系统之间信息传递方法很有必要。中国专利技术专利“用于多硬件平台的飞腾服务器的机器类型识别方法”(申请号CN201210095029.3),该专利技术提供了一种用于多硬件平台的飞腾服务器的机器类型识别方法,其实施步骤如下:1)在计算机的扩展ROM中建立平台信息字段地址,虚拟机监控器将平台信息字段地址的读写接口函数进行封装并提供给操作系统内核调用;2)在操作系统启动过程中,首先获取操作系统接收的引导装入程序命令并分析引导装入程序命令的硬件平台参数,如果包含硬件平台参数则将硬件平台参数对应的硬件平台类型信息写入扩展ROM中的平台信息字段地址中;3)通过平台信息字段地址读写接口函数读取硬件平台字段地址中的硬件平台类型信息,根据硬件平台类型信息识别飞腾虚拟服务器的硬件平台。虽然该专利技术具有兼容性好、使用方便、操作简单的优点,但是并没有涉及到本专利申请中的固件与操作系统之间信息传递问题。中国专利技术专利“一种基于飞腾服务器的UEFI固件实现方法”(申请号CN201410112097.5),该专利技术提供了一种基于飞腾服务器的UEFI固件实现方法,其固件划分为硬件抽象层、固件核心层、设备协议层和固件应用层,硬件抽象层实现处理器、内存、芯片组等关键硬件部件的初始化,对其他板级硬件进行包装和抽象并实现初始化,同时为上层模块提供访问底层硬件设备的函数接口。该专利技术能够在飞腾服务器上实现出符合国际主流UEFI固件规范、可扩展性强、功能完善的固件产品,以支持飞腾服务器的正常启动和运行,但是并没有涉及到本专利申请中构建统一的uboot固件和UEFI固件与操作系统之间信息传递问题。中国专利技术专利“一种基于飞腾处理器的CAN总线信息监测方法”(申请号CN201510521287.7),该专利技术公开了一种基于飞腾处理器的CAN总线信息监测方法,包括飞腾处理器FT1500A平台,上位机软件和远端CAN通信设备,所述飞腾处理器FT1500A平台上设有数据处理模块,信息监测模块和CAN通信模块;所述数据处理模块分别通过I2C总线和PCIE总线连接信息监测模块和CAN通信模块;所述CAN通信模块与远端CAN通信设备通过CAN总线外接连线相连,并进行数据通信;所述上位机软件通过数据处理模块与飞腾处理器FT1500A平台相连。虽然该专利技术设计科学,使用方便,适用于国产计算机服务器领域,但是并没有涉及到本专利申请中的固件与操作系统之间信息传递问题。中国专利技术专利“一种快速固件更新并引导进入操作系统的方法”(申请号CN201510530084.4),该专利技术公开了一种快速固件更新并引导进入操作系统的方法,具体包括如下步骤:1)确定机器第一启动项是bootfrombuild-inshell;2)将固件文件和工具放在U盘或硬盘中;3)机器进入UEFIshell后进入存放固件文件和工具的文件系统,自动运行更新固件命令;4)固件更新完成后,如固件不需要重启激活,程序自动调用操作系统引导文件,启动操作系统进行诊断测试;5)如固件更新后需要重启激活,机器重启自动进入UEFIshell,程序直接调用操作系统引导文件,引导操作系统启动进行诊断测试。虽然该专利技术无需加载操作系统,减少了更新时间,也不用考虑固件更新工具对操作系统的要求,简化了更新过程,但是并没有涉及到本专利申请中构建统一的uboot固件和UEFI固件与操作系统之间信息传递问题。uboot:全称UniversalBootLoader,是遵循GPL条款的开放源码项目。U-Boot的作用是系统引导。U-Boot的工作模式有启动加载模式和下载模式。启动加载模式是Bootloader的正常工作模式,嵌入式产品发布时,Bootloader必须工作在这种模式下,Bootloader将嵌入式操作系统从FLASH中加载到SDRAM中运行,整个过程是自动的。下载模式就是Bootloader通过某些通信手段将内核映像或根文件系统映像等从PC机中下载到目标板的FLASH中。UEFI:全称UnifiedExtensibleFirmwareInterface,即“统一的可扩展固件接口”,是一种详细描述全新类型接口的标准,是适用于电脑的标准固件接口,旨在代替BIOS(基本输入/输出系统)。固件:就是写入EROM(可擦写只读存储器)或EEPROM(电可擦可编程只读存储器)中的程序。固件是指设备内部保存的设备“驱动程序”,通过固件,操作系统才能按照标准的设备驱动实现特定机器的运行动作,比如光驱、刻录机等都有内部固件。固件是担任着一个系统最基础最底层工作的软件。而在硬件设备中,固件就是硬件设备的灵魂,因为一些硬件设备除了固件以外没有其它软件组成,因此固件也就决定着硬件设备的功能及性能。
技术实现思路
有鉴于此,本专利技术为了解决现有技术存在的缺陷和不足,提供了一种基于飞腾平台的固件与操作系统之间信息传递方法,能够同时适用uboot固件和UEFI固件与操作系统之间的信息传递。为了解决上述技术问题,本专利技术公开了一种基于飞腾平台的固件与操作系统之间信息传递方法,并采用以下技术方案来实现。一种基于本文档来自技高网
...

【技术保护点】
1.一种基于飞腾平台的固件与操作系统之间信息传递方法,步骤包括:S1、选择一段飞腾处理器缓存内存空间;S2、所述固件把传递信息写入所述缓存内存空间中;S3、将所述缓存内存空间的地址映射到CPU的虚拟地址空间中;S4、从映射的所述虚拟地址中读出所述传递信息,传递给用户空间和/或操作系统使用。

【技术特征摘要】
1.一种基于飞腾平台的固件与操作系统之间信息传递方法,步骤包括:S1、选择一段飞腾处理器缓存内存空间;S2、所述固件把传递信息写入所述缓存内存空间中;S3、将所述缓存内存空间的地址映射到CPU的虚拟地址空间中;S4、从映射的所述虚拟地址中读出所述传递信息,传递给用户空间和/或操作系统使用。2.根据权利要求1所述基于飞腾平台的固件与操作系统之间信息传递方法,其特征在于:所述S1中的缓存内存空间为所述飞腾处理器的片内缓存的内存空间。3.根据权利要求2所述基于飞腾平台的固件与操作系统之间信息传递方法,其特征在于:所述缓存内存空间为未使用的一段满足所传递信息长度的连续空间。4.根据权利要求1所述基于飞腾平台的固件与操作系统之间信息传递方法,其特征在于:所述固件为uboot固件和/或UEFI固件。5.根据权利要求1所述基于飞腾平台的固件与操作系统之间信息传递方法,其特征在于:所述S3和所述S4均由操作系统内核完成。6.根据权利要求1-5任一所述基于飞腾平台的固件与操作系统之间信息传递方法,其特征在于:所述S3的具体步骤包括:S31、申请一段CPU虚拟地址空间中未使用的虚拟地址空间;S32、根据所述虚拟地址空间的首地址找到其所在的虚拟内存...

【专利技术属性】
技术研发人员:孙立明卢日文张铎吴庆波孔金珠魏立峰张冬松
申请(专利权)人:天津麒麟信息技术有限公司
类型:发明
国别省市:天津,12

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

1