[发明专利]一种基于X86模拟器的国产平台BIOS显卡驱动方法在审
申请号: | 201710507233.4 | 申请日: | 2017-06-28 |
公开(公告)号: | CN107220065A | 公开(公告)日: | 2017-09-29 |
发明(设计)人: | 赵瑞东;孙文健;陈乃阔 | 申请(专利权)人: | 山东超越数控电子有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F13/10 |
代理公司: | 济南信达专利事务所有限公司37100 | 代理人: | 孙晶伟 |
地址: | 250100 山东省*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 x86 模拟器 国产 平台 bios 显卡 驱动 方法 | ||
技术领域
本本发明公开一种BIOS显卡驱动方法,涉及显卡驱动领域,具体地说是一种基于X86模拟器的国产平台BIOS显卡驱动方法。
背景技术
显卡BIOS(即Video BIOS,以下简称VBIOS),是PCIe显卡提供的一段显卡控制程序,包含显卡的型号、规格及生产厂家等信息,并向BIOS或操作系统提供显卡初始化、字符输出、模式设定等编程接口。系统初始化时,BIOS通过PCIe总线将VBIOS加载至内存,并执行VBIOS的入口函数完成显卡初始化,VBIOS入口函数执行结束后,会安装INT 10H中断,BIOS或操作系统可通过调用INT 10H中断实现字符输出、模式设定等功能。但VBIOS中的程序为X86处理器的二进制机器码,无法直接在非X86体系架构的国产平台下运行。
本发明针对国产处理器的BIOS进行设计,提供一种基于X86模拟器的国产平台BIOS显卡驱动方法,利用X86模拟器在非X86体系架构下,运行X86设计的程序,使国产平台BIOS显卡能进行驱动。
X86模拟器可以在现有的软件和硬件条件下,模拟X86架构的微处理器及符合X86输入输出规范的所有必备外设。
发明内容
本发明针对现有技术存在的不足和问题,提供一种基于X86模拟器的国产平台BIOS显卡驱动方法,利用X86模拟器在非X86体系架构下,运行X86设计的程序,使国产平台BIOS显卡能进行驱动。
本发明提出的具体方案是:
一种基于X86模拟器的国产平台BIOS显卡驱动方法,利用X86模拟器读取PCIe显卡中的VBIOS,加载至X86模拟器的模拟内存中,并执行VBIOS的入口函数完成显卡初始化,VBIOS入口函数执行结束后,X86模拟器向显示驱动提供INT 10H中断调用接口使VBIOS入口函数所安装的INT 10H中断实现自身功能。
所述的方法中X86模拟器读取显卡中的VBIOS,并对VBIOS进行校验,若校验正确,则申请存储空间存放模拟CPU寄存器,同时申请连续内存区域作模拟内存,存储VBIOS。
所述的方法中X86模拟器通过调用接口执行VBIOS入口函数,从模拟内存的特定地址读取并解析X86机器码,根据X86机器码的内容执行对应的操作。
所述的方法中X86模拟器根据所应用的国产平台处理器架构,对所读写的内存地址或IO地址进行映射,可从物理内存或PCIe设备中获得正确的数据。
一种X86模拟器,应用于所述的方法中,
包括模拟器初始化模块、X86机器码解码器、地址映射处理模块、PCIe/IO读写模块和INT 10H中断调用接口;
其中模拟器初始化模块读取显卡中的VBIOS,并对VBIOS进行校验,若校验正确,则申请存储空间存放模拟CPU寄存器,同时申请连续内存区域作模拟内存,存储VBIOS;同时调用X86机器码解码器提供的接口,执行VBIOS的入口函数;
X86机器码解码器从模拟内存的特定地址读取并解析X86机器码,根据X86机器码的内容执行对应的操作,并为其它模块提供X86机器码的执行接口;
地址映射处理模块根据所应用的国产平台处理器架构,对X86机器码解码器所读写的内存地址或IO地址进行映射,可从物理内存或PCIe设备中获得正确的数据;
PCIe/IO读写模块负责对模拟器初始化模块或地址映射模块给出的指定PCIe或IO地址进行读写;
INT 10H中断调用接口负责向显示驱动提供INT 10H中断调用接口使VBIOS入口函数所安装的INT 10H中断实现自身功能。
所述的X86模拟器中模拟器初始化模块将模拟内存中部分用于系统内存,部分用于SMBIOS,部分用于存放VBIOS。
所述的X86模拟器中X86机器码解码器从模拟CPU寄存器的CS和IP寄存器中获取指令地址,并调用地址映射处理模块提供的接口,从指令地址读取指令,并根据指令内容修改模拟CPU寄存器。
所述的X86模拟器中X86机器码解码器从模拟CPU寄存器的CS和IP寄存器中获取指令地址,并调用地址映射处理模块提供的接口,从指令地址读取指令,若指令需要读写内存或IO,则调用地址映射处理模块提供的接口进行处理。
所述的X86模拟器中PCIe/IO读写模块通过PCIe内存存取接口、VGA memory存取接口、PCIe配置空间存取接口和IO存取接口来进行指定PCIe或IO地址读写。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东超越数控电子有限公司,未经山东超越数控电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710507233.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种建筑用钢筋快速自动捆扎装置
- 下一篇:一种建筑用钢筋智能化捆扎装置