CN112131171B - 动态修改板载vga所在的pch pcie根端口的方法 - Google Patents
动态修改板载vga所在的pch pcie根端口的方法 Download PDFInfo
- Publication number
- CN112131171B CN112131171B CN202011181774.0A CN202011181774A CN112131171B CN 112131171 B CN112131171 B CN 112131171B CN 202011181774 A CN202011181774 A CN 202011181774A CN 112131171 B CN112131171 B CN 112131171B
- Authority
- CN
- China
- Prior art keywords
- pch
- target
- root port
- pcie root
- port
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种动态修改板载VGA所在的PCH PCIE根端口的方法、装置、设备及可读存储介质,能够在PEI阶段通过读取GPIO接口确定当前项目,进而确定该项目使用的目标PCH PCIE根端口;然后获取配置信息,找到目标板载VGA并进行初始化;由于SDL文件中定义的视频桥配置文件在代码编译时会保存在临时文件的结构体中,因此,该方法在DXE阶段将该结构体的目标成员的数值修改为目标PCH PCIE根端口的端口号,从而将视频桥切换至目标PCH PCIE根端口。可见,该方法能够动态修改板载VGA所在的PCH PCIE根端口,无需改动BIOS代码即可使板载VGA正常显示,开发人员无需针对不同PCH PCIE根端口做相应的修改,节省了开发人员的宝贵时间。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种动态修改板载VGA所在的PCH PCIE根端口的方法、装置、设备及可读存储介质。
背景技术
板载VGA(Video Graphics Array,视频图形阵列)就是指主板上的VGA接口,服务器上的板载VGA功能通常是由ASPEED芯片提供的,这个芯片就相当于是一个视频桥(VideoBridge),而视频桥一般是挂在PCH PCIE根端口(PCH PCIE Root Port)上的。其中,PCH全称Platform Controller Hub,是指平台控制器中心;PCIE全称Peripheral ComponentInterconnect Express,是指高速串行计算机扩展总线标准。
在同一个平台上,各个项目在设计的时候硬件上一般会使用同一个PCH PCIE根端口来连接视频桥,但是某些项目可能会有自己的设计,不得不使用不同的PCH PCIE根端口连接视频桥,这时就需要BIOS(Basic Input Output System,基本输入输出系统)来适配。
目前,在BIOS代码的SDL文件中,通过视频桥配置文件(代码中的文件名称为PCIDevice Video Bridge)固定板载VGA所在的PCH PCIE根端口,如果使用不同的PCH PCIE根端口,就需要修改视频桥配置文件,而两套代码不能兼容。
如果在同一个平台的几个项目上,主板设计的板载VGA所在PCH PCIE根端口有所不同,BIOS设计时就需要在视频桥配置文件中定义不同的PCH PCIE根端口,然后编译生成不同的BIOS文件。这时同一个平台就需要维护多套BIOS代码,当需要Codebase升级或问题同步时就带来大量的工作,不利于BIOS代码的升级和维护。
可见,目前在一套BIOS代码中不能动态修改板载VGA所在的PCH PCIE根端口,如何克服该缺陷,是亟待本领域技术人员解决的问题。
发明内容
本申请的目的是提供一种动态修改板载VGA所在的PCH PCIE根端口的方法、装置、设备及可读存储介质,用以解决目前在一套BIOS代码中不能动态修改板载VGA所在的PCHPCIE根端口的问题。其具体方案如下:
第一方面,本申请提供了一种动态修改板载VGA所在的PCH PCIE根端口的方法,包括:
在PEI阶段,读取预设GPIO接口,根据读取结果确定当前项目;确定所述当前项目对应的目标PCH PCIE根端口;
获取输入信息,得到与所述目标PCH PCIE根端口对应的配置信息;根据所述配置信息确定目标板载VGA并对所述目标板载VGA进行初始化;
在DXE阶段,根据修改指令,将目标结构体的目标成员的数值修改为所述目标PCHPCIE根端口的端口号,以将视频桥切换至所述目标PCH PCIE根端口,其中所述目标结构体为在代码编译时根据视频桥配置文件生成的保存于临时文件的结构体。
优选的,所述在PEI阶段,读取预设GPIO接口,根据读取结果确定当前项目,包括:
为当前平台的每个项目设置项目ID;
在PEI阶段,读取预设GPIO接口,得到读取结果;确定项目ID为所述读取结果的项目,以作为当前项目。
优选的,所述获取输入信息,得到与所述目标PCH PCIE根端口对应的配置信息,包括:
获取输入信息,得到与所述目标PCH PCIE根端口对应的配置信息,所述配置信息包括Bus、设备号、功能号。
优选的,在所述在PEI阶段,读取预设GPIO接口,根据读取结果确定当前项目之前,还包括:
将视频桥配置文件中的目标参数的数值设置为默认PCH PCIE根端口的端口号,所述默认PCH PCIE根端口为当前平台的全部PCH PCIE根端口中兼容最多项目的PCH PCIE根端口,所述目标参数在代码编译时生成所述目标成员。
第二方面,本申请提供了一种动态修改板载VGA所在的PCH PCIE根端口的装置,包括:
根端口确定模块:用于在PEI阶段,读取预设GPIO接口,根据读取结果确定当前项目;确定所述当前项目对应的目标PCH PCIE根端口;
板载VGA初始化模块:用于获取输入信息,得到与所述目标PCH PCIE根端口对应的配置信息;根据所述配置信息确定目标板载VGA并对所述目标板载VGA进行初始化;
根端口修改模块:用于在DXE阶段,根据修改指令,将目标结构体的目标成员的数值修改为所述目标PCH PCIE根端口的端口号,以将视频桥切换至所述目标PCH PCIE根端口,其中所述目标结构体为在代码编译时根据视频桥配置文件生成的保存于临时文件的结构体。
优选的,所述根端口确定模块包括:
ID设置单元:用于为当前平台的每个项目设置项目ID;
项目确定单元:用于在PEI阶段,读取预设GPIO接口,得到读取结果;确定项目ID为所述读取结果的项目,以作为当前项目。
优选的,所述板载VGA初始化模块包括:
配置信息获取单元:用于获取输入信息,得到与所述目标PCH PCIE根端口对应的配置信息,所述配置信息包括Bus、设备号、功能号。
优选的,还包括:
默认值设置模块:用于将视频桥配置文件中的目标参数的数值设置为默认PCHPCIE根端口的端口号,所述默认PCH PCIE根端口为当前平台的全部PCH PCIE根端口中兼容最多项目的PCH PCIE根端口,所述目标参数在代码编译时生成所述目标成员。
第三方面,本申请提供了一种动态修改板载VGA所在的PCH PCIE根端口的设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上所述的动态修改板载VGA所在的PCH PCIE根端口的方法。
第四方面,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的动态修改板载VGA所在的PCHPCIE根端口的方法。
本申请所提供的一种动态修改板载VGA所在的PCH PCIE根端口的方法,能够在PEI阶段通过读取预设GPIO接口确定当前项目,进而确定该项目使用的目标PCH PCIE根端口;然后获取配置信息,从而找到目标板载VGA并进行初始化;由于BIOS代码的SDL文件中定义的视频桥配置文件在代码编译时会保存在临时文件的结构体中,因此,该方法在DXE阶段将该结构体的目标成员的数值修改为目标PCH PCIE根端口的端口号,从而将视频桥切换至目标PCH PCIE根端口。
当主板的多个项目使用的PCH PCIE根端口不同时,启动不同的项目,可能需要修改板载VGA所在的PCH PCIE根端口。使用上述方法,能够动态修改板载VGA所在的PCH PCIE根端口,无需改动BIOS代码即可使板载VGA正常显示,开发人员无需针对不同PCH PCIE根端口做相应的修改,不用重新编译代码发布版本,也无需为特定项目维护版本,节省了开发人员的宝贵时间,降低了维护人员维护版本的难度,提高了服务器的易用性。
此外,本申请还提供了一种动态修改板载VGA所在的PCH PCIE根端口的装置、设备及可读存储介质,其技术效果与上述方法的技术效果相对应,这里不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请所提供的一种动态修改板载VGA所在的PCH PCIE根端口的方法实施例一的流程图;
图2为本申请所提供的一种动态修改板载VGA所在的PCH PCIE根端口的方法实施例二的流程图;
图3为本申请所提供的一种动态修改板载VGA所在的PCH PCIE根端口的装置实施例的功能框图;
图4为本申请所提供的一种动态修改板载VGA所在的PCH PCIE根端口的设备实施例的结构示意图。
具体实施方式
本申请的核心是提供本申请所提供的一种动态修改板载VGA所在的PCH PCIE根端口的方法、装置、设备及可读存储介质,能够动态修改板载VGA所在的PCH PCIE根端口,无需改动BIOS代码即可使板载VGA正常显示,开发人员无需针对不同PCH PCIE根端口做相应的修改,不用重新编译代码发布版本,也无需为特定项目维护版本,节省了开发人员的宝贵时间。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面对本申请提供的一种动态修改板载VGA所在的PCH PCIE根端口的方法实施例一进行介绍,参见图1,实施例一包括:
S101、在PEI阶段,读取预设GPIO接口,根据读取结果确定当前项目;确定当前项目对应的目标PCH PCIE根端口;
在主板设计时,预留几个GPIO接口。在主板上电开机时,进入PEI阶段(Pre-EFIInitialization,EFI前期初始化阶段),通过读取这些GPIO接口确定当前启动的项目,进而确定该项目使用的PCH PCIE根端口。
具体的,为当前平台的每个项目设置项目ID;在PEI阶段,读取预设GPIO接口,得到读取结果;确定项目ID为所述读取结果的项目,以作为当前项目。
S102、获取输入信息,得到与目标PCH PCIE根端口对应的配置信息;根据配置信息确定目标板载VGA并对目标板载VGA进行初始化;
在平台上,不同项目通过不同的PCH PCIE根端口找到板载VGA,并进行初始化。在确定当前项目使用的PCH PCIE根端口之后,需要利用该PCH PCIE根端口对板载VGA进行初始化。此过程中,需要获取PCH PCIE根端口的配置信息,例如Bus、设备号、功能号等。
S103、在DXE阶段,根据修改指令,将目标结构体的目标成员的数值修改为目标PCHPCIE根端口的端口号,以将视频桥切换至目标PCH PCIE根端口,其中所述目标结构体为在代码编译时根据视频桥配置文件生成的保存于临时文件的结构体。
初始情况下,板载VGA连接至默认PCH PCIE根端口,在DXE阶段(Driver ExecutionEnvironment,驱动执行环境阶段),通过代码修改板载VGA所在的PCH PCIE根端口。
作为一种优选的实施方式,在BIOS代码中,可以将默认PCH PCIE根端口设置为全部PCH PCIE根端口中兼容最多项目的PCH PCIE根端口。
本实施例所提供一种动态修改板载VGA所在的PCH PCIE根端口的方法,能够在PEI阶段通过读取预设GPIO接口确定当前项目,进而确定该项目使用的目标PCH PCIE根端口;然后获取配置信息,从而找到目标板载VGA并进行初始化;由于BIOS代码的SDL文件中定义的视频桥配置文件在代码编译时会保存在临时文件的结构体中,因此,该方法在DXE阶段将该结构体的目标成员的数值修改为目标PCH PCIE根端口的端口号,从而将视频桥切换至目标PCH PCIE根端口。
使用上述方法,能够动态修改板载VGA所在的PCH PCIE根端口,无需改动BIOS代码即可使板载VGA正常显示,开发人员无需针对不同PCH PCIE根端口做相应的修改,不用重新编译代码发布版本,也无需为特定项目维护版本,节省了开发人员的宝贵时间,降低了维护人员维护版本的难度,提高了服务器的易用性,增强了产品的品质,提高了客户的满意度。
下面开始详细介绍本申请提供的一种动态修改板载VGA所在的PCH PCIE根端口的方法实施例二,参见图2,实施例二具体包括:
S201、主板设计时,预留几个GPIO接口用来表示每个项目的项目ID,后续根据这组GPIO接口的值就能唯一确定一个项目。
假设预留了8个GPIO,当这组GPIO接口值为00000001时表明当前启动的项目为项目1,当这组GPIO接口值为00000010时表明当前启动的项目为项目2。
S202、在BIOS代码中,将视频桥配置文件中的目标参数赋值为默认PCH PCIE根端口的端口号。
视频桥配置文件中有很多参数,目标参数是其中一种参数,用于指定PCH PCIE根端口。上述默认PCH PCIE根端口为兼容大多数项目的PCH PCIE根端口。
S203、在PEI阶段初始化视频桥时,根据项目ID确定当前项目,进而确定板载VGA所在的PCH PCIE根端口;然后获取对应的配置信息,找到目标板载VGA并进行初始化。
主板上电开机,BIOS开始运行,在PEI阶段初始化视频桥时,根据项目ID确定当前项目,不同项目通过不同的PCH PCIE根端口找到板载VGA,并进行初始化,使得板载VGA在Early VGA阶段能够正常显示。
配置信息包括具体总线号(Bus)、设备号;(Dev)、功能号(Fun)。不同的PCH PCIE根端口填的总线号/设备号/功能号是不一样的,比如根端口5填0/0/5,根端口3填0/0/3。这里填入正确的配置信息是为了能够找到板载VGA,对它进行资源分配及初始化Video控制器。
S204、在DXE阶段,根据项目ID重新分配目标结构体的目标成员,将视频桥切换到目标PCH PCIE根端口上。
BIOS代码的SDL文件中定义的视频桥配置文件在代码编译时会保存在临时文件的结构体(即上述目标结构体)中,视频桥连接哪个PCIE PCH根端口由该结构体的目标成员决定。在DXE阶段,根据项目ID重新分配该目标成员,即可将视频桥切换到目标PCH PCIE根端口上,使得板载VGA在POST和Runtime阶段能够正常显示。
可见,本实施例提供的一种动态修改板载VGA所在的PCH PCIE根端口的方法,只需要在项目规划时确定好每个项目使用不同的项目ID,无需修改BIOS代码,即可根据实际启动的项目动态修改板载VGA所在的PCH PCIE根端口,使板载VGA正常显示。这种做法加强了BIOS代码的易用性和强壮性,加强了平台代码的兼容性,只需一版代码就可以覆盖到所有的项目。
下面对本申请实施例提供的一种动态修改板载VGA所在的PCH PCIE根端口的装置进行介绍,下文描述的动态修改板载VGA所在的PCH PCIE根端口的装置与上文描述的动态修改板载VGA所在的PCH PCIE根端口的方法可相互对应参照。
如图3所示,本实施例的动态修改板载VGA所在的PCH PCIE根端口的装置,包括:
根端口确定模块301:用于在PEI阶段,读取预设GPIO接口,根据所述读取结果确定当前项目;确定当前项目对应的目标PCH PCIE根端口;
板载VGA初始化模块302:用于获取输入信息,得到与目标PCH PCIE根端口对应的配置信息;根据配置信息确定目标板载VGA并对目标板载VGA进行初始化;
根端口修改模块303:用于在DXE阶段,根据修改指令,将目标结构体的目标成员的数值修改为目标PCH PCIE根端口的端口号,以将视频桥切换至目标PCH PCIE根端口,其中目标结构体为在代码编译时根据视频桥配置文件生成的保存于临时文件的结构体。
在一些具体的实施例中,根端口确定模块包括:
ID设置单元:用于为当前平台的每个项目设置项目ID;
项目确定单元:用于在PEI阶段,读取预设GPIO接口,得到读取结果;确定项目ID为所述读取结果的项目,以作为当前项目。
在一些具体的实施例中,板载VGA初始化模块包括:
配置信息获取单元:用于获取输入信息,得到与目标PCH PCIE根端口对应的配置信息,配置信息包括Bus、设备号、功能号。
在一些具体的实施例中,还包括:
默认值设置模块:用于将视频桥配置文件中的目标参数的数值设置为默认PCHPCIE根端口的端口号,默认PCH PCIE根端口为当前平台的全部PCH PCIE根端口中兼容最多项目的PCH PCIE根端口,目标参数在代码编译时生成目标成员。
本实施例的动态修改板载VGA所在的PCH PCIE根端口的装置用于实现前述的动态修改板载VGA所在的PCH PCIE根端口的方法,因此该装置中的具体实施方式可见前文中的动态修改板载VGA所在的PCH PCIE根端口的方法的实施例部分,例如,根端口确定模块301,板载VGA初始化模块302,根端口修改模块303,分别用于实现上述动态修改板载VGA所在的PCH PCIE根端口的方法中步骤S101,S102,S103。所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
另外,由于本实施例的动态修改板载VGA所在的PCH PCIE根端口的装置用于实现前述的动态修改板载VGA所在的PCH PCIE根端口的方法,因此其作用与上述方法的作用相对应,这里不再赘述。
此外,本申请还提供了一种动态修改板载VGA所在的PCH PCIE根端口的设备,如图4所示,包括:
存储器100:用于存储计算机程序;
处理器200:用于执行所述计算机程序,以实现如上文所述的动态修改板载VGA所在的PCH PCIE根端口的方法。
其中,存储器至少包括一种类型的可读存储介质,例如闪存、硬盘、多媒体卡、卡型存储器、磁性存储器、磁盘、光盘等。存储器不仅可以用于存储应用软件及各类数据,还可以用于暂时地存储已经输出或者将要输出的数据。存储器在一些实施例中可以是内部存储单元,也可以是外部存储设备。
处理器在一些实施例中可以是一中央处理器、控制器、微控制器、微处理器等,用于运行存储器中存储的程序代码。
存储器和处理器之间设置有总线,该总线可以是外设部件互连标准(peripheralcomponent interconnect,简称PCI)总线、扩展工业标准结构(extended industrystandard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
最后,本申请提供了一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时用于实现如上文所述的动态修改板载VGA所在的PCH PCIE根端口的方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种动态修改板载VGA所在的PCH PCIE根端口的方法,其特征在于,包括:
在PEI阶段,读取预设GPIO接口,根据读取结果确定当前项目;确定所述当前项目对应的目标PCH PCIE根端口;
获取输入信息,得到与所述目标PCH PCIE根端口对应的配置信息;根据所述配置信息确定目标板载VGA并对所述目标板载VGA进行初始化;
在DXE阶段,根据修改指令,将目标结构体的目标成员的数值修改为所述目标PCH PCIE根端口的端口号,以将视频桥切换至所述目标PCH PCIE根端口,其中所述目标结构体为在代码编译时根据视频桥配置文件生成的保存于临时文件的结构体。
2.如权利要求1所述的方法,其特征在于,所述在PEI阶段,读取预设GPIO接口,根据读取结果确定当前项目,包括:
为当前平台的每个项目设置项目ID;
在PEI阶段,读取预设GPIO接口,得到读取结果;确定项目ID为所述读取结果的项目,以作为当前项目。
3.如权利要求1所述的方法,其特征在于,所述获取输入信息,得到与所述目标PCHPCIE根端口对应的配置信息,包括:
获取输入信息,得到与所述目标PCH PCIE根端口对应的配置信息,所述配置信息包括Bus、设备号、功能号。
4.如权利要求1-3任意一项所述的方法,其特征在于,在所述在PEI阶段,读取预设GPIO接口,根据读取结果确定当前项目之前,还包括:
将视频桥配置文件中的目标参数的数值设置为默认PCH PCIE根端口的端口号,所述默认PCH PCIE根端口为当前平台的全部PCH PCIE根端口中兼容最多项目的PCH PCIE根端口,所述目标参数在代码编译时生成所述目标成员。
5.一种动态修改板载VGA所在的PCH PCIE根端口的装置,其特征在于,包括:
根端口确定模块:用于在PEI阶段,读取预设GPIO接口,根据读取结果确定当前项目;确定所述当前项目对应的目标PCH PCIE根端口;
板载VGA初始化模块:用于获取输入信息,得到与所述目标PCH PCIE根端口对应的配置信息;根据所述配置信息确定目标板载VGA并对所述目标板载VGA进行初始化;
根端口修改模块:用于在DXE阶段,根据修改指令,将目标结构体的目标成员的数值修改为所述目标PCH PCIE根端口的端口号,以将视频桥切换至所述目标PCH PCIE根端口,其中所述目标结构体为在代码编译时根据视频桥配置文件生成的保存于临时文件的结构体。
6.如权利要求5所述的装置,其特征在于,所述根端口确定模块包括:
ID设置单元:用于为当前平台的每个项目设置项目ID;
项目确定单元:用于在PEI阶段,读取预设GPIO接口,得到读取结果;确定项目ID为所述读取结果的项目,以作为当前项目。
7.如权利要求5所述的装置,其特征在于,所述板载VGA初始化模块包括:
配置信息获取单元:用于获取输入信息,得到与所述目标PCH PCIE根端口对应的配置信息,所述配置信息包括Bus、设备号、功能号。
8.如权利要求5-7任意一项所述的装置,其特征在于,还包括:
默认值设置模块:用于将视频桥配置文件中的目标参数的数值设置为默认PCH PCIE根端口的端口号,所述默认PCH PCIE根端口为当前平台的全部PCH PCIE根端口中兼容最多项目的PCH PCIE根端口,所述目标参数在代码编译时生成所述目标成员。
9.一种动态修改板载VGA所在的PCH PCIE根端口的设备,其特征在于,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如权利要求1-4任意一项所述的动态修改板载VGA所在的PCH PCIE根端口的方法。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如权利要求1-4任意一项所述的动态修改板载VGA所在的PCH PCIE根端口的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011181774.0A CN112131171B (zh) | 2020-10-29 | 2020-10-29 | 动态修改板载vga所在的pch pcie根端口的方法 |
PCT/CN2021/089910 WO2022088630A1 (zh) | 2020-10-29 | 2021-04-26 | 动态修改板载vga所在的pch pcie根端口的方法 |
US18/028,475 US11816058B2 (en) | 2020-10-29 | 2021-04-26 | Method for dynamically modifying PCH PCIE root port where onboard VGA is located |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011181774.0A CN112131171B (zh) | 2020-10-29 | 2020-10-29 | 动态修改板载vga所在的pch pcie根端口的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112131171A CN112131171A (zh) | 2020-12-25 |
CN112131171B true CN112131171B (zh) | 2022-08-02 |
Family
ID=73851900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011181774.0A Active CN112131171B (zh) | 2020-10-29 | 2020-10-29 | 动态修改板载vga所在的pch pcie根端口的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11816058B2 (zh) |
CN (1) | CN112131171B (zh) |
WO (1) | WO2022088630A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131171B (zh) | 2020-10-29 | 2022-08-02 | 苏州浪潮智能科技有限公司 | 动态修改板载vga所在的pch pcie根端口的方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US1037266A (en) * | 1911-05-01 | 1912-09-03 | William A Kirkpatrick | Piano-bench. |
US10642623B1 (en) * | 2016-07-07 | 2020-05-05 | American Megatrends International, Llc | Preserving firmware settings during firmware updates |
US10977202B2 (en) | 2017-01-28 | 2021-04-13 | Hewlett-Packard Development Company, L.P. | Adaptable connector with external I/O port |
US10133654B1 (en) * | 2017-02-28 | 2018-11-20 | American Megatrends, Inc. | Firmware debug trace capture |
US10402204B1 (en) * | 2017-04-25 | 2019-09-03 | American Megatrends International, Llc | Multi-platform firmware support |
CN107147864A (zh) | 2017-06-09 | 2017-09-08 | 山东超越数控电子有限公司 | 一种lvds和vga接口自适应方法 |
CN109032623A (zh) | 2018-07-27 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种bios镜像的初始化方法及bios镜像 |
CN110096314B (zh) * | 2019-05-07 | 2022-05-24 | 苏州浪潮智能科技有限公司 | 一种接口初始化方法、装置、设备及计算机可读存储介质 |
CN112650696A (zh) * | 2019-10-11 | 2021-04-13 | 深圳富桂精密工业有限公司 | Hdd背板管理装置 |
CN111142956B (zh) | 2019-12-31 | 2022-11-08 | 苏州浪潮智能科技有限公司 | 一种最大有效负载值的修改方法、系统、设备以及介质 |
TWI801730B (zh) * | 2020-04-07 | 2023-05-11 | 神雲科技股份有限公司 | 具系統設定資料同步功能的伺服器 |
CN112131171B (zh) | 2020-10-29 | 2022-08-02 | 苏州浪潮智能科技有限公司 | 动态修改板载vga所在的pch pcie根端口的方法 |
-
2020
- 2020-10-29 CN CN202011181774.0A patent/CN112131171B/zh active Active
-
2021
- 2021-04-26 US US18/028,475 patent/US11816058B2/en active Active
- 2021-04-26 WO PCT/CN2021/089910 patent/WO2022088630A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN112131171A (zh) | 2020-12-25 |
US20230273893A1 (en) | 2023-08-31 |
US11816058B2 (en) | 2023-11-14 |
WO2022088630A1 (zh) | 2022-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109478135B (zh) | 计算机系统和用于重新引导计算机系统的方法 | |
US9454380B2 (en) | Computing platform performance management with RAS services | |
US7134007B2 (en) | Method for sharing firmware across heterogeneous processor architectures | |
US7454547B1 (en) | Data exchange between a runtime environment and a computer firmware in a multi-processor computing system | |
KR100764921B1 (ko) | 장치 이뉴머레이션을 위한 가상 rom | |
CN106155657A (zh) | Uefi 固件的方法及其计算机系统 | |
CN110096314B (zh) | 一种接口初始化方法、装置、设备及计算机可读存储介质 | |
WO2016150098A1 (zh) | PCIe设备和PCIe总线的管理方法及装置 | |
CN113204384B (zh) | 设备启动方法、装置及计算机可读存储介质 | |
US8539214B1 (en) | Execution of a program module within both a PEI phase and a DXE phase of an EFI firmware | |
US10402204B1 (en) | Multi-platform firmware support | |
CN103677745B (zh) | 一种在龙芯主板中写入和读取设备标识的方法 | |
CN112131171B (zh) | 动态修改板载vga所在的pch pcie根端口的方法 | |
CN111008101B (zh) | 一种risc-v处理器系统的调试验证平台及测试方法 | |
CN109408407B (zh) | 显示内存的分配方法和装置 | |
CN115033296B (zh) | 一种基于UEFI和Linux的国产操作系统启动方法及装置 | |
CN117193872A (zh) | 一种基于符号表动态执行的芯片启动固件装置和方法 | |
US7484083B1 (en) | Method, apparatus, and computer-readable medium for utilizing BIOS boot specification compliant devices within an extensible firmware interface environment | |
Dice | Quick boot: a guide for embedded firmware developers | |
US7103767B2 (en) | Method and apparatus to support legacy master boot record (MBR) partitions | |
CN109582370B (zh) | 一种nor flash嵌入式设备的启动方法及装置 | |
CN112783562B (zh) | 一种显示设备选择方法和装置 | |
CN117472458B (zh) | 系统功能优化配置方法、装置、电子设备及存储介质 | |
US7240187B2 (en) | Method and apparatus to support legacy master boot record (MBR) partitions | |
US11650930B2 (en) | Reconfigurable memory mapped peripheral registers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |