[发明专利]一种基于飞腾平台AMD显卡系统LOGO提前显示的实现方法、装置、设备及存储介质有效
申请号: | 201810293138.3 | 申请日: | 2018-03-30 |
公开(公告)号: | CN108549548B | 公开(公告)日: | 2021-06-11 |
发明(设计)人: | 王勇军;周磊;刘意虎;张铎;孙立明;魏立峰;孔金珠 | 申请(专利权)人: | 麒麟软件有限公司 |
主分类号: | G06F9/4401 | 分类号: | G06F9/4401 |
代理公司: | 天津诺德知识产权代理事务所(特殊普通合伙) 12213 | 代理人: | 栾志超 |
地址: | 300450 天津市滨海新区滨海*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 飞腾 平台 amd 显卡 系统 logo 提前 显示 实现 方法 装置 设备 存储 介质 | ||
本发明公开了一种基于飞腾平台AMD显卡系统LOGO提前显示的实现方法。根据显卡的设备ID确定显卡架构从而确定对应的初始化函数,从显卡的PCIE ROM空间读取ATOMBIOS,通过ATOMBIOS提取显卡内存频率、电压、工作频率等参数并以此初始化显卡,通过ATOMBIOS初始化显卡I2C总线、利用I2C总线判断CONNECTORS的连接状态并读取处于连接状态的CONNECTORS EDID信息,根据EDID信息初始化帧缓冲区并完成相应的模式设置,使能对应的CRTC、ENCODER,往帧缓冲区写入相应内容即可显示。
技术领域
本发明属于通信及计算机技术领域,尤其是涉及一种基于飞腾平台AMD显卡系统LOGO提前显示的实现方法。
背景技术
飞腾平台本身不集成显示芯片,一般通过在飞腾主板上插入AMD PCIE显卡作为显示输出。对于较新的AMD PCIE显卡,由于架构上去掉了2D硬件单元等原因,无法再提供类似INTEL集成显卡那样提前显示的帧缓冲驱动;固件也未能提供类似x86平台UEFI显示调用接口。故现有飞腾平台系统LOGO需要在加载显卡驱动初始化显卡及完成对应的模式设置后才能输出到屏幕。通常,显卡驱动的加载依赖于ACPI、DMA、RESET、TTY、CHAR、IOMMU等模块,需要先加载上述模块后才能加载显卡驱动,需时较长,影响用户体验。
发明内容
本发明为了解决现有技术存在的缺陷和不足,提供了一种基于飞腾平台AMD显卡系统LOGO提前显示的实现方法,使得飞腾平台能够在内核引导后很短的时间内提供一个基本帧缓冲区,往此帧缓冲区写入内容即可输出到终端。
为解决上述技术问题,本发明采用的技术方案是:一种基于飞腾平台AMD显卡系统LOGO提前显示的实现方法,依次包括如下步骤:
S110:初始化AMD显卡,包括:
S111:确定所述显卡的初始化函数;
S112:获取显卡的PCIE BAR空间,并映射其MEM、IO、ROM空间;
S113:获取显卡的ATOMBIOS,并初始化所述ATOMBIOS解释器;
S114:提取并设置所述显卡的工作参数
S120:设置所述AMD显卡的模式,包括:
S121:通过所述的ATOMBIOS初始化所述显卡I2C总线;
S122:通过所述I2C总线判断CONNECTORS的连接状态,读取处于连接状态的CONNECTORS EDID信息;
S123:根据所述处于连接状态的CONNECTORS信息,匹配CRTC和ENCODER;
S124:初始化对应的CRTC、ENCODER、CONNECTOR,完成相应的模式设置;
S130:建立所述AMD显卡帧缓冲区,包括:
S131:获取EDID信息;
S132:根据所述获取的EDID信息,提取出所需的分辨率和色深信息;
S133:在显存中申请所需的空间作为帧缓冲区;
S134:将所述空间的地址信息设置到CRTC的相关寄存器作为显卡输出的数据来源。
优选地,确定所述显卡的初始化函数包括如下步骤,
S1111:读取所述显卡的设备ID;
S1112:根据所述显卡的设备ID确定显卡架构;
S1113:根据所述显卡架构确定所述显卡的初始化函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于麒麟软件有限公司,未经麒麟软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810293138.3/2.html,转载请声明来源钻瓜专利网。