CN117311832B - Pcie设备启动模式的展示方法、装置、设备及介质 - Google Patents
Pcie设备启动模式的展示方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117311832B CN117311832B CN202311608727.3A CN202311608727A CN117311832B CN 117311832 B CN117311832 B CN 117311832B CN 202311608727 A CN202311608727 A CN 202311608727A CN 117311832 B CN117311832 B CN 117311832B
- Authority
- CN
- China
- Prior art keywords
- pcie
- equipment
- bit
- starting mode
- under
- 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
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000006870 function Effects 0.000 claims description 95
- 238000004590 computer program Methods 0.000 claims description 16
- 230000015654 memory Effects 0.000 claims description 16
- 230000001747 exhibiting effect Effects 0.000 claims 2
- 238000004891 communication Methods 0.000 description 10
- 238000012423 maintenance Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 241001290266 Sciaenops ocellatus Species 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- DYWNLSQWJMTVGJ-UHFFFAOYSA-N (1-hydroxy-1-phenylpropan-2-yl)azanium;chloride Chemical compound Cl.CC(N)C(O)C1=CC=CC=C1 DYWNLSQWJMTVGJ-UHFFFAOYSA-N 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种PCIE设备启动模式的展示方法、装置、设备及介质,涉及服务器技术领域,该方法包括:在服务器上电后的BIOS初始化设备阶段,查询所有根桥设备;确定根桥设备下的PCIE设备;在PCIE设备在位时读取PCIE设备的配置空间中的功能列表的第四位和PCIE功能位的第七位;基于功能列表的第四位和PCIE功能位的第七位,在BIOS设备选项下展示PCIE设备支持的启动模式,可以展示当前在位PCIE设备所支持的启动模式,使得用户可以简单、快捷、直观地判断当前在位PCIE设备所支持的启动模式,从而决策最合适的启动模式,避免选择不合适的启动模式而导致PCIE设备不识别、掉盘、掉卡、系统丢失等问题。
Description
技术领域
本申请涉及服务器技术领域,尤其涉及一种PCIE设备启动模式的展示方法、装置、设备及介质。
背景技术
随着服务器技术的快速发展,服务器的易用性、性能及功能都在不断增强。尤其是高效的易用性,能够使得服务器运维人员轻松管理,高效工作。
然而,有的应用场景下,服务器连接了多个高速串行计算机扩展总线(peripheralcomponent interconnect express,PCIE)设备,多个PCIE设备可能存在所支持的启动模式不同的情况。如果选择了不合适的启动模式可能会导致PCIE设备不识别、掉盘、掉卡、系统丢失等问题。
为了解决上述问题,由于基本输入输出系统(Basic Input Output System,BIOS)设备选项和基板管理控制器(Baseboard Management Controller,BMC)网络界面的设备清单下均未展示当前在位PCIE设备所支持的启动模式,服务器运维人员只能通过查找各个PCIE设备的用户手册和设备说明手册等逐一确认PCIE设备所支持的启动模式,给服务器运维人员带来极大的困扰。
发明内容
本申请的目的是提供一种PCIE设备启动模式的展示方法、装置、设备及介质,用于展示当前在位PCIE设备所支持的启动模式,使得服务器运维人员可以简单、快捷、直观地判断当前在位PCIE设备所支持的启动模式,从而决策最合适的启动模式,避免选择不合适的启动模式而导致PCIE设备不识别、掉盘、掉卡、系统丢失等问题。
第一方面,本申请提供一种PCIE设备启动模式的展示方法,应用于BIOS芯片,所述方法包括:
在服务器上电后的BIOS初始化设备阶段,查询所有根桥设备;
基于每个所述根桥设备确定所述根桥设备下的PCIE设备;
针对每个所述PCIE设备,在所述PCIE设备在位的情况下,读取所述PCIE设备的配置空间中的功能列表的第四位和PCIE功能位的第七位;
基于所述功能列表的第四位和所述PCIE功能位的第七位,在BIOS设备选项下展示所述PCIE设备支持的启动模式。
可选地,所述基于所述功能列表的第四位和所述PCIE功能位的第七位,在BIOS设备选项下展示所述PCIE设备支持的启动模式,包括:
将所述功能列表的第四位和所述PCIE功能位的第七位进行与运算,得到与运算结果;
将所述与运算结果赋值给预设全局变量;
基于各所述PCIE设备的设备信息生成预设格式的文件;所述设备信息包括所述预设全局变量;
在所述BIOS设备选项下,基于所述预设格式的文件中的各所述PCIE设备的设备信息,创建各所述PCIE设备的拓扑结构;
在各所述PCIE设备的拓扑结构下创建每个所述PCIE设备的设备支持的启动模式的BIOS选项;
基于每个所述PCIE设备的所述设备支持的启动模式的BIOS选项下的所述预设全局变量的值,确定所述PCIE设备支持的启动模式;
在每个所述PCIE设备的所述设备支持的启动模式的BIOS选项下,展示所述PCIE设备支持的启动模式。
可选地,所述基于每个所述PCIE设备的所述设备支持的启动模式的BIOS选项下的所述预设全局变量的值,确定所述PCIE设备支持的启动模式,包括:
在所述PCIE设备的所述设备支持的启动模式的BIOS选项下的所述预设全局变量的值为1的情况下,确定所述PCIE设备支持的启动模式为UEFI模式和Legacy模式;
在所述PCIE设备的所述设备支持的启动模式的BIOS选项下的所述预设全局变量的值为0的情况下,确定所述PCIE设备支持的启动模式为Legacy模式。
可选地,所述方法还包括:
在调整所述PCIE设备的启动模式为目标启动模式的情况下,校验所述目标启动模式是否与所述PCIE设备支持的启动模式一致;
在所述目标启动模式与所述PCIE设备支持的启动模式一致的情况下,将所述目标启动模式存储到非易失性随机访问存储器的动态区域中,以使所述PCIE设备在下次启动时使用所述目标启动模式进行启动。
可选地,所述方法还包括:
在所述目标启动模式与所述PCIE设备支持的启动模式不一致的情况下,确定所述PCIE设备为目标PCIE设备;
通过弹窗显示所述目标PCIE设备不支持所述目标启动模式的提示信息。
可选地,所述读取所述PCIE设备的配置空间中的功能列表的第四位和PCIE功能位的第七位,包括:
通过所述PCIE设备的功能列表指针,读取所述功能列表的第四位和所述PCIE功能位的第七位。
可选地,所述方法还包括:
通过PCIE协议获取所有下行端口的信息;
基于所述所有下行端口的信息生成各所述PCIE设备的槽位信息链表;
基于各所述PCIE设备的槽位信息链表和各所述PCIE设备支持的启动模式,生成目标数据结构表,以使用户导出所述目标数据结构表,并基于所述目标数据结构表查看各所述PCIE设备支持的启动模式。
可选地,所述方法还包括:
通过红鱼带外接口将所述预设格式的文件发送给BMC芯片,以使所述BMC芯片基于所述预设格式的文件在BMC网络界面的设备清单下展示各所述PCIE设备支持的启动模式。
第二方面,本申请还提供一种PCIE设备启动模式的展示方法,应用于BMC芯片,所述方法包括:
接收BIOS芯片发送的预设格式的文件;所述预设格式的文件是基于各PCIE设备的设备信息生成的,所述PCIE设备的设备信息包括预设全局变量,所述预设全局变量存储有所述PCIE设备的配置空间中的功能列表的第四位和PCIE功能位的第七位的与运算结果;
基于所述预设格式的文件在BMC网络界面的设备清单下展示各所述PCIE设备支持的启动模式。
可选地,所述基于所述预设格式的文件在BMC网络界面的设备清单下展示各所述PCIE设备支持的启动模式,包括:
对所述预设格式的文件进行解析,得到各所述PCIE设备的设备信息;
针对每个所述PCIE设备,从所述PCIE设备的设备信息中提取所述预设全局变量中的所述与运算结果;
基于所述与运算结果确定所述PCIE设备支持的启动模式;
在所述BMC网络界面的设备清单下展示各所述PCIE设备支持的启动模式。
第三方面,本申请还提供一种PCIE设备启动模式的展示装置,包括:
查询模块,用于在服务器上电后的BIOS初始化设备阶段,查询所有根桥设备;
确定模块,用于基于每个所述根桥设备确定所述根桥设备下的PCIE设备;
读取模块,用于针对每个所述PCIE设备,在所述PCIE设备在位的情况下,读取所述PCIE设备的配置空间中的功能列表的第四位和PCIE功能位的第七位;
第一展示模块,用于基于所述功能列表的第四位和所述PCIE功能位的第七位,在BIOS设备选项下展示所述PCIE设备支持的启动模式。
第四方面,本申请还提供一种PCIE设备启动模式的展示装置,包括:
接收模块,用于接收BIOS芯片发送的预设格式的文件;所述预设格式的文件是基于各PCIE设备的设备信息生成的,所述PCIE设备的设备信息包括预设全局变量,所述预设全局变量存储有所述PCIE设备的配置空间中的功能列表的第四位和PCIE功能位的第七位的与运算结果;
第二展示模块,用于基于所述预设格式的文件在BMC网络界面的设备清单下展示各所述PCIE设备支持的启动模式。
第五方面,本申请还提供一种BIOS芯片,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面任一种所述的PCIE设备启动模式的展示方法的步骤。
第六方面,本申请还提供一种BMC芯片,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第二方面任一种所述的PCIE设备启动模式的展示方法的步骤。
第七方面,本申请还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上述第一方面或第二方面任一种所述的PCIE设备启动模式的展示方法的步骤。
第八方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面或第二方面任一种所述的PCIE设备启动模式的展示方法的步骤。
本申请提供的PCIE设备启动模式的展示方法、装置、设备及介质,首先,BIOS芯片在服务器上电后的BIOS初始化设备阶段,查询所有根桥设备;而后,基于每个根桥设备确定根桥设备下的PCIE设备,可以查找到所有的PCIE设备;接着,针对每个PCIE设备,在PCIE设备在位的情况下,读取PCIE设备的配置空间中的功能列表的第四位和PCIE功能位的第七位;最后,功能列表的第四位表示设备是否支持UEFI模式,PCIE功能位的第七位表示设备是否支持UEFI模式,基于功能列表的第四位和PCIE功能位的第七位可以确定PCIE设备支持的启动模式,在BIOS设备选项下展示PCIE设备支持的启动模式,可以在BIOS设备选项下展示当前在位PCIE设备所支持的启动模式,使得服务器运维人员可以简单、快捷、直观地判断当前在位PCIE设备所支持的启动模式,从而决策最合适的启动模式,避免选择不合适的启动模式而导致PCIE设备不识别、掉盘、掉卡、系统丢失等问题。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的PCIE设备启动模式的展示方法的流程示意图之一;
图2是本申请实施例提供的PCIE设备启动模式的展示方法的流程示意图之二;
图3是本申请实施例提供的PCIE设备启动模式的展示装置的结构示意图之一;
图4是本申请实施例提供的PCIE设备启动模式的展示装置的结构示意图之二;
图5是本申请实施例提供的BIOS芯片的结构示意图;
图6是本申请实施例提供的BMC芯片的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的PCIE设备启动模式的展示方法进行详细地说明。
请参照图1,图1是本申请实施例提供的PCIE设备启动模式的展示方法的流程示意图之一。该方法应用于BIOS芯片,如图1所示,该方法可以包括以下步骤:
步骤101、在服务器上电后的BIOS初始化设备阶段,查询所有根桥设备;
步骤102、基于每个根桥设备确定根桥设备下的PCIE设备;
步骤103、针对每个PCIE设备,在PCIE设备在位的情况下,读取PCIE设备的配置空间中的功能列表的第四位和PCIE功能位的第七位;
步骤104、基于功能列表的第四位和PCIE功能位的第七位,在BIOS设备选项下展示PCIE设备支持的启动模式。
在步骤101和步骤102中,根桥(Root Bridge)设备是CPU和PCIE拓扑之间的接口,通过根桥设备可以查找到PCIE拓扑中的PCIE设备。
在服务器上电后的BIOS初始化设备阶段,查询所有根桥设备,然后将查询到的根桥设备存入链表,遍历该链表中的根桥设备,从而可以查找到各根桥设备下的PCIE设备。
在步骤103中,遍历所有在位PCIE设备,并通过EFI_PCI_IO_PROTOCOL访问PCI设备的配置空间。PCI设备的配置空间包括功能列表(Capability List)和PCIE功能(Capable)位。
可选地,通过PCIE设备的功能列表(CapailityPtr)指针,读取功能列表的第四位和PCIE功能位的第七位。
在步骤104中,功能列表的第四位表示设备是否支持统一可扩展固件接口(Unified Extensible Firmware Interface,UEFI)模式,如果该位为1,则表示设备支持UEFI模式,意味着设备支持UEFI模式和传统(Legacy)模式,否则仅支持Legacy模式。PCIE功能位的第七位表示设备是否支持UEFI模式,如果该位为1,则表示设备支持UEFI模式,意味着设备支持UEFI模式和Legacy模式,否则仅支持Legacy模式。因此,基于功能列表的第四位和PCIE功能位的第七位可以确定PCIE设备支持的启动模式,然后在BIOS设备选项下展示PCIE设备支持的启动模式。
本申请实施例提供的PCIE设备启动模式的展示方法,首先,BIOS芯片在服务器上电后的BIOS初始化设备阶段,查询所有根桥设备;而后,基于每个根桥设备确定根桥设备下的PCIE设备,可以查找到所有的PCIE设备;接着,针对每个PCIE设备,在PCIE设备在位的情况下,读取PCIE设备的配置空间中的功能列表的第四位和PCIE功能位的第七位;最后,功能列表的第四位表示设备是否支持UEFI模式,PCIE功能位的第七位表示设备是否支持UEFI模式,基于功能列表的第四位和PCIE功能位的第七位可以确定PCIE设备支持的启动模式,在BIOS设备选项下展示PCIE设备支持的启动模式,可以在BIOS设备选项下展示当前在位PCIE设备所支持的启动模式,使得服务器运维人员可以简单、快捷、直观地判断当前在位PCIE设备所支持的启动模式,从而决策最合适的启动模式,避免选择不合适的启动模式而导致PCIE设备不识别、掉盘、掉卡、系统丢失等问题。
在一种示例实施例中,步骤104可以包括以下子步骤:
步骤1041、将功能列表的第四位和PCIE功能位的第七位进行与运算,得到与运算结果。
示例性地,功能列表的第四位置1,PCIE功能位的第七位也置1,则1&1=1,也即,与运算结果为1。
功能列表的第四位置0,PCIE功能位的第七位也置0,则0&0=0,也即,与运算结果为0。
步骤1042、将与运算结果赋值给预设全局变量。
示例性地,预设全局变量可以为DeviceSupportBootModeValue。声明全局变量DeviceSupportBootModeValue,将与运算结果赋值给全局变量DeviceSupportBootModeValue。
步骤1043、基于各PCIE设备的设备信息生成预设格式的文件;设备信息包括预设全局变量。
示例性地,预设格式的文件可以为cJSON文件,将各PCIE设备的包含全局变量DeviceSupportBootModeValue的设备信息创建成cJSON文件。cJSON是一个基于C语言的JS对象简谱(JavaScript Object Notation,Json)库。
步骤1044、在BIOS设备选项下,基于预设格式的文件中的各PCIE设备的设备信息,创建各PCIE设备的拓扑结构。
示例性地,在BIOS启动到BIOS设备选项下时,根据cJSON文件中的各PCIE设备的设备信息自动创建各PCIE设备的拓扑结构。
步骤1045、在各PCIE设备的拓扑结构下创建每个PCIE设备的设备支持的启动模式的BIOS选项。
示例性地,在每个PCIE设备下自动创建设备支持的启动模式的BIOS选项。
步骤1046、基于每个PCIE设备的设备支持的启动模式的BIOS选项下的预设全局变量的值,确定PCIE设备支持的启动模式。
可选地,在PCIE设备的设备支持的启动模式的BIOS选项下的预设全局变量的值为1的情况下确定PCIE设备支持的启动模式为UEFI模式和Legacy模式;在PCIE设备的设备支持的启动模式的BIOS选项下的预设全局变量的值为0的情况下,确定PCIE设备支持的启动模式为Legacy模式。
示例性地,若PCIE设备的设备支持的启动模式的BIOS选项下的全局变量DeviceSupportBootModeValue==1,则表示设备UEFI模式,意味着PCIE设备支持的启动模式为UEFI模式和Legacy模式。若PCIE设备的设备支持的启动模式的BIOS选项下的全局变量DeviceSupportBootModeValue==0,则表示设备不支持UEFI模式,意味着PCIE设备支持的启动模式为Legacy模式。
步骤1047、在每个PCIE设备的设备支持的启动模式的BIOS选项下,展示PCIE设备支持的启动模式。
示例性地,若PCIE设备支持的启动模式为UEFI模式和Legacy模式,则在PCIE设备的设备支持的启动模式的BIOS选项下,展示PCIE设备支持的启动模式为UEFI模式和Legacy模式。若PCIE设备支持的启动模式为Legacy模式,则在PCIE设备的设备支持的启动模式的BIOS选项下,展示PCIE设备支持的启动模式为Legacy模式。
在本实施例中,首先,将功能列表的第四位和PCIE功能位的第七位的与运算结果赋值给预设全局变量;而后,基于各PCIE设备的包括预设全局变量的设备信息生成预设格式的文件;接着,在BIOS设备选项下,基于预设格式的文件中的各PCIE设备的设备信息,创建各PCIE设备的拓扑结构;在各PCIE设备的拓扑结构下创建每个PCIE设备的设备支持的启动模式的BIOS选项;最后,基于每个PCIE设备的设备支持的启动模式的BIOS选项下的预设全局变量的值,确定PCIE设备支持的启动模式,从而实现在每个PCIE设备的设备支持的启动模式的BIOS选项下,展示PCIE设备支持的启动模式。
在一种示例实施例中,该方法还包括:在调整PCIE设备的启动模式为目标启动模式的情况下,校验目标启动模式是否与PCIE设备支持的启动模式一致;在目标启动模式与PCIE设备支持的启动模式一致的情况下,将目标启动模式存储到非易失性随机访问存储器的动态区域中,以使PCIE设备在下次启动时使用目标启动模式进行启动。
示例性地,在调整PCIE设备的启动模式为UEFI模式时,校验UEFI模式是否与PCIE设备支持的启动模式一致。假设PCIE设备支持的启动模式为UEFI模式和Legacy模式,则PCIE设备调整后的启动模式与PCIE设备支持的启动模式一致,将UEFI模式存储到非易失性随机访问存储器的动态区域中。PCIE设备在下次启动时使用UEFI模式进行启动。
在本实施例中,可以在PCIE设备调整后的启动模式与PCIE设备支持的启动模式一致的情况下,使PCIE设备在下次启动时使用PCIE设备调整后的启动模式进行启动,避免调整后的启动模式不合适而导致PCIE设备不识别、掉盘、掉卡、系统丢失等问题。
在一种示例实施例中,该方法还包括:在目标启动模式与PCIE设备支持的启动模式不一致的情况下,确定PCIE设备为目标PCIE设备;通过弹窗显示目标PCIE设备不支持目标启动模式的提示信息。
示例性地,在调整PCIE设备的启动模式为UEFI模式时,校验UEFI模式是否与PCIE设备支持的启动模式一致。假设PCIE设备支持的启动模式为Legacy模式,则PCIE设备调整后的启动模式与PCIE设备支持的启动模式不一致,确定PCIE设备为目标PCIE设备,并通过弹窗显示目标PCIE设备不支持UEFI模式的提示信息。
在本实施例中,可以在PCIE设备调整后的启动模式与PCIE设备支持的启动模式不一致的情况下,及时提示服务器运维人员系统不支持PCIE设备调整后的启动模式。
在一种示例实施例中,该方法还包括:通过PCIE协议获取所有下行端口的信息;基于所有下行端口的信息生成各PCIE设备的槽位信息链表;基于各PCIE设备的槽位信息链表和各PCIE设备支持的启动模式,生成目标数据结构表,以使用户导出目标数据结构表,并基于目标数据结构表查看各PCIE设备支持的启动模式。
具体地,目标数据结构表可以为SMBIOS Type 9数据结构表。SMBIOS是主板或系统制造者以标准格式显示产品管理信息所需遵循的统一规范,Type为类型。
通过PCIE协议获取所有下行端口(DownStream Port)的信息;基于所有下行端口的信息生成各PCIE设备的槽位信息链表;扩展SMBIOS Type 9数据结构表,额外增加各PCIE设备支持的启动模式。服务器运维人员可以导出SMBIOS Type 9数据结构表,查看各PCIE设备支持的启动模式。
在本实施例中,可以扩展目标数据结构表,额外增加各PCIE设备支持的启动模式,使得服务器运维人员可以导出目标数据结构表,查看各PCIE设备支持的启动模式。因此,可以通过带内方式查看各PCIE设备支持的启动模式。
在一种示例实施例中,该方法还包括:通过红鱼带外接口将预设格式的文件发送给BMC芯片,以使BMC芯片基于预设格式的文件在BMC网络界面的设备清单下展示各PCIE设备支持的启动模式。
具体地,预留红鱼(redfish)带外接口,通过红鱼带外接口将cJSON文件发送给BMC芯片。BMC芯片从cJSON文件中查询相应字段,确定各PCIE设备支持的启动模式,然后在BMC网络界面的设备清单下展示各PCIE设备支持的启动模式。
请参照图2,图2是本申请实施例提供的PCIE设备启动模式的展示方法的流程示意图之二。该方法应用于BMC芯片,如图2所示,该方法可以包括以下步骤:
步骤201、接收BIOS芯片发送的预设格式的文件;预设格式的文件是基于各PCIE设备的设备信息生成的,PCIE设备的设备信息包括预设全局变量,预设全局变量存储有PCIE设备的配置空间中的功能列表的第四位和PCIE功能位的第七位的与运算结果;
步骤202、基于预设格式的文件在BMC网络界面的设备清单下展示各PCIE设备支持的启动模式。
在步骤201中,示例性地,预设全局变量可以为DeviceSupportBootModeValue。声明全局变量DeviceSupportBootModeValue,BIOS芯片将PCIE设备的配置空间中的功能列表的第四位和PCIE功能位的第七位的与运算结果赋值给全局变量DeviceSupportBootModeValue。预设格式的文件可以为cJSON文件,将各PCIE设备的包含全局变量DeviceSupportBootModeValue的设备信息创建成cJSON文件。BIOS芯片将cJSON文件发送给BMC芯片,BMC芯片接收BIOS芯片发送的cJSON文件。
在步骤202中,BMC芯片基于cJSON文件在BMC网络界面的设备清单下展示各PCIE设备支持的启动模式。
可选地,步骤202可以包括:对预设格式的文件进行解析,得到各PCIE设备的设备信息;针对每个PCIE设备,从PCIE设备的设备信息中提取预设全局变量中的与运算结果;基于与运算结果确定PCIE设备支持的启动模式;在BMC网络界面的设备清单下展示各PCIE设备支持的启动模式。
具体地,BMC芯片对cJSON文件进行解析,得到各PCIE设备的设备信息,从PCIE设备的设备信息中提取全局变量DeviceSupportBootModeValue中的与运算结果。在与运算结果为1的情况下,确定PCIE设备支持的启动模式为UEFI模式和Legacy模式。在与运算结果为0的情况下,确定PCIE设备支持的启动模式为Legacy模式。在BMC网络界面的设备清单下展示各PCIE设备支持的启动模式。
在本实施例中,BMC芯片接收BIOS芯片发送的预设格式的文件,基于cJSON文件可以在BMC网络界面的设备清单下展示各PCIE设备支持的启动模式,使得服务器运维人员可以简单、快捷、直观地判断当前在位PCIE设备所支持的启动模式,从而决策最合适的启动模式,避免选择不合适的启动模式而导致PCIE设备不识别、掉盘、掉卡、系统丢失等问题。
需要说明的是,本申请实施例提供的PCIE设备启动模式的展示方法,执行主体可以为PCIE设备启动模式的展示装置,或者该PCIE设备启动模式的展示装置中的用于执行PCIE设备启动模式的展示方法的控制模块。本申请实施例中以PCIE设备启动模式的展示装置执行PCIE设备启动模式的展示方法为例,说明本申请实施例提供的PCIE设备启动模式的展示装置。
需要说明的是,本申请实施例中,上述各个方法附图所示的PCIE设备启动模式的展示方法均是以结合本申请实施例中的一个附图为例示例性的说明的。具体实现时,上述各个方法附图所示的PCIE设备启动模式的展示方法还可以结合上述实施例中示意的其它可以结合的任意附图实现,此处不再赘述。
下面对本申请提供的PCIE设备启动模式的展示装置进行描述,下文描述的与上文描述的PCIE设备启动模式的展示方法可相互对应参照。
请参照图3,图3是本申请实施例提供的PCIE设备启动模式的展示装置的结构示意图之一。如图3所示,该装置可以包括:
查询模块301,用于在服务器上电后的BIOS初始化设备阶段,查询所有根桥设备;
确定模块302,用于基于每个根桥设备确定根桥设备下的PCIE设备;
读取模块303,用于针对每个PCIE设备,在PCIE设备在位的情况下,读取PCIE设备的配置空间中的功能列表的第四位和PCIE功能位的第七位;
第一展示模块304,用于基于功能列表的第四位和PCIE功能位的第七位,在BIOS设备选项下展示PCIE设备支持的启动模式。
可选地,第一展示模块304包括:
与运算单元,用于将功能列表的第四位和PCIE功能位的第七位进行与运算,得到与运算结果;
赋值单元,用于将与运算结果赋值给预设全局变量;
生成单元,用于基于各PCIE设备的设备信息生成预设格式的文件;设备信息包括预设全局变量;
第一创建单元,用于在BIOS设备选项下,基于预设格式的文件中的各PCIE设备的设备信息,创建各PCIE设备的拓扑结构;
第二创建单元,用于在各PCIE设备的拓扑结构下创建每个PCIE设备的设备支持的启动模式的BIOS选项;
模式确定单元,用于基于每个PCIE设备的设备支持的启动模式的BIOS选项下的预设全局变量的值,确定PCIE设备支持的启动模式;
展示单元,用于在每个PCIE设备的设备支持的启动模式的BIOS选项下,展示PCIE设备支持的启动模式。
可选地,模式确定单元具体用于:
在PCIE设备的设备支持的启动模式的BIOS选项下的预设全局变量的值为1的情况下,确定PCIE设备支持的启动模式为UEFI模式和Legacy模式;
在PCIE设备的设备支持的启动模式的BIOS选项下的预设全局变量的值为0的情况下,确定PCIE设备支持的启动模式为Legacy模式。
可选地,该装置还包括:
校验模块,用于在调整PCIE设备的启动模式为目标启动模式的情况下,校验目标启动模式是否与PCIE设备支持的启动模式一致;
存储模块,用于在目标启动模式与PCIE设备支持的启动模式一致的情况下,将目标启动模式存储到非易失性随机访问存储器的动态区域中,以使PCIE设备在下次启动时使用目标启动模式进行启动。
可选地,该装置还包括:
设备确定模块,用于在目标启动模式与PCIE设备支持的启动模式不一致的情况下,确定PCIE设备为目标PCIE设备;
弹窗提示模块,用于通过弹窗显示目标PCIE设备不支持目标启动模式的提示信息。
可选地,读取模块303具体用于:通过PCIE设备的功能列表指针,读取功能列表的第四位和PCIE功能位的第七位。
可选地,该装置还包括:
信息获取模块,用于通过PCIE协议获取所有下行端口的信息;
链表生成模块,用于基于所有下行端口的信息生成各PCIE设备的槽位信息链表;
结构表生成模块,用于基于各PCIE设备的槽位信息链表和各PCIE设备支持的启动模式,生成目标数据结构表,以使用户导出目标数据结构表,并基于目标数据结构表查看各PCIE设备支持的启动模式。
可选地,该装置还包括:
发送模块,用于通过红鱼带外接口将预设格式的文件发送给基板管理控制器BMC芯片,以使BMC芯片基于预设格式的文件在BMC网络界面的设备清单下展示各PCIE设备支持的启动模式。
请参照图4,图4是本申请实施例提供的PCIE设备启动模式的展示装置的结构示意图之二。如图4所示,该装置可以包括:
接收模块401,用于接收BIOS芯片发送的预设格式的文件;预设格式的文件是基于各PCIE设备的设备信息生成的,PCIE设备的设备信息包括预设全局变量,预设全局变量存储有PCIE设备的配置空间中的功能列表的第四位和PCIE功能位的第七位的与运算结果;
第二展示模块402,用于基于预设格式的文件在BMC网络界面的设备清单下展示各PCIE设备支持的启动模式。
可选地,第二展示模块402具体用于:
对预设格式的文件进行解析,得到各PCIE设备的设备信息;
针对每个PCIE设备,从PCIE设备的设备信息中提取预设全局变量中的与运算结果;
基于与运算结果确定PCIE设备支持的启动模式;
在BMC网络界面的设备清单下展示各PCIE设备支持的启动模式。
图5示例了一种BIOS芯片的实体结构示意图,如图5所示,该BIOS芯片可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行PCIE设备启动模式的展示方法,该方法包括:在服务器上电后的BIOS初始化设备阶段,查询所有根桥设备;基于每个根桥设备确定根桥设备下的PCIE设备;针对每个PCIE设备,在PCIE设备在位的情况下,读取PCIE设备的配置空间中的功能列表的第四位和PCIE功能位的第七位;基于功能列表的第四位和PCIE功能位的第七位,在BIOS设备选项下展示PCIE设备支持的启动模式。
图6示例了一种BMC芯片的实体结构示意图,如图6所示,该BMC芯片可以包括:处理器610、通信接口620、存储器630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行PCIE设备启动模式的展示方法,该方法包括:接收BIOS芯片发送的预设格式的文件;预设格式的文件是基于各PCIE设备的设备信息生成的,PCIE设备的设备信息包括预设全局变量,预设全局变量存储有PCIE设备的配置空间中的功能列表的第四位和PCIE功能位的第七位的与运算结果;基于预设格式的文件在BMC网络界面的设备清单下展示各PCIE设备支持的启动模式。
此外,上述的任一存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本申请还提供一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的PCIE设备启动模式的展示方法,此处不再赘述。
又一方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的PCIE设备启动模式的展示方法,此处不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (15)
1.一种高速串行计算机扩展总线PCIE设备启动模式的展示方法,其特征在于,应用于基本输入输出系统BIOS芯片,所述方法包括:
在服务器上电后的BIOS初始化设备阶段,查询所有根桥设备;
基于每个所述根桥设备确定所述根桥设备下的PCIE设备;
针对每个所述PCIE设备,在所述PCIE设备在位的情况下,读取所述PCIE设备的配置空间中的功能列表的第四位和PCIE功能位的第七位;
基于所述功能列表的第四位和所述PCIE功能位的第七位,在BIOS设备选项下展示所述PCIE设备支持的启动模式。
2.根据权利要求1所述的PCIE设备启动模式的展示方法,其特征在于,所述基于所述功能列表的第四位和所述PCIE功能位的第七位,在BIOS设备选项下展示所述PCIE设备支持的启动模式,包括:
将所述功能列表的第四位和所述PCIE功能位的第七位进行与运算,得到与运算结果;
将所述与运算结果赋值给预设全局变量;
基于各所述PCIE设备的设备信息生成预设格式的文件;所述设备信息包括所述预设全局变量;
在所述BIOS设备选项下,基于所述预设格式的文件中的各所述PCIE设备的设备信息,创建各所述PCIE设备的拓扑结构;
在各所述PCIE设备的拓扑结构下创建每个所述PCIE设备的设备支持的启动模式的BIOS选项;
基于每个所述PCIE设备的所述设备支持的启动模式的BIOS选项下的所述预设全局变量的值,确定所述PCIE设备支持的启动模式;
在每个所述PCIE设备的所述设备支持的启动模式的BIOS选项下,展示所述PCIE设备支持的启动模式。
3.根据权利要求2所述的PCIE设备启动模式的展示方法,其特征在于,所述基于每个所述PCIE设备的所述设备支持的启动模式的BIOS选项下的所述预设全局变量的值,确定所述PCIE设备支持的启动模式,包括:
在所述PCIE设备的所述设备支持的启动模式的BIOS选项下的所述预设全局变量的值为1的情况下,确定所述PCIE设备支持的启动模式为统一的可扩展固件接口UEFI模式和传统Legacy模式;
在所述PCIE设备的所述设备支持的启动模式的BIOS选项下的所述预设全局变量的值为0的情况下,确定所述PCIE设备支持的启动模式为Legacy模式。
4.根据权利要求1或2所述的PCIE设备启动模式的展示方法,其特征在于,还包括:
在调整所述PCIE设备的启动模式为目标启动模式的情况下,校验所述目标启动模式是否与所述PCIE设备支持的启动模式一致;
在所述目标启动模式与所述PCIE设备支持的启动模式一致的情况下,将所述目标启动模式存储到非易失性随机访问存储器的动态区域中,以使所述PCIE设备在下次启动时使用所述目标启动模式进行启动。
5.根据权利要求4所述的PCIE设备启动模式的展示方法,其特征在于,还包括:
在所述目标启动模式与所述PCIE设备支持的启动模式不一致的情况下,确定所述PCIE设备为目标PCIE设备;
通过弹窗显示所述目标PCIE设备不支持所述目标启动模式的提示信息。
6.根据权利要求1或2所述的PCIE设备启动模式的展示方法,其特征在于,所述读取所述PCIE设备的配置空间中的功能列表的第四位和PCIE功能位的第七位,包括:
通过所述PCIE设备的功能列表指针,读取所述功能列表的第四位和所述PCIE功能位的第七位。
7.根据权利要求1或2所述的PCIE设备启动模式的展示方法,其特征在于,还包括:
通过PCIE协议获取所有下行端口的信息;
基于所述所有下行端口的信息生成各所述PCIE设备的槽位信息链表;
基于各所述PCIE设备的槽位信息链表和各所述PCIE设备支持的启动模式,生成目标数据结构表,以使用户导出所述目标数据结构表,并基于所述目标数据结构表查看各所述PCIE设备支持的启动模式。
8.根据权利要求2所述的PCIE设备启动模式的展示方法,其特征在于,还包括:
通过红鱼带外接口将所述预设格式的文件发送给基板管理控制器BMC芯片,以使所述BMC芯片基于所述预设格式的文件在BMC网络界面的设备清单下展示各所述PCIE设备支持的启动模式。
9.一种PCIE设备启动模式的展示方法,其特征在于,应用于BMC芯片,所述方法包括:
接收BIOS芯片发送的预设格式的文件;所述预设格式的文件是基于各PCIE设备的设备信息生成的,所述PCIE设备的设备信息包括预设全局变量,所述预设全局变量存储有所述PCIE设备的配置空间中的功能列表的第四位和PCIE功能位的第七位的与运算结果;
基于所述预设格式的文件在BMC网络界面的设备清单下展示各所述PCIE设备支持的启动模式。
10.根据权利要求9所述的PCIE设备启动模式的展示方法,其特征在于,所述基于所述预设格式的文件在BMC网络界面的设备清单下展示各所述PCIE设备支持的启动模式,包括:
对所述预设格式的文件进行解析,得到各所述PCIE设备的设备信息;
针对每个所述PCIE设备,从所述PCIE设备的设备信息中提取所述预设全局变量中的所述与运算结果;
基于所述与运算结果确定所述PCIE设备支持的启动模式;
在所述BMC网络界面的设备清单下展示各所述PCIE设备支持的启动模式。
11.一种PCIE设备启动模式的展示装置,其特征在于,包括:
查询模块,用于在服务器上电后的BIOS初始化设备阶段,查询所有根桥设备;
确定模块,用于基于每个所述根桥设备确定所述根桥设备下的PCIE设备;
读取模块,用于针对每个所述PCIE设备,在所述PCIE设备在位的情况下,读取所述PCIE设备的配置空间中的功能列表的第四位和PCIE功能位的第七位;
第一展示模块,用于基于所述功能列表的第四位和所述PCIE功能位的第七位,在BIOS设备选项下展示所述PCIE设备支持的启动模式。
12.一种PCIE设备启动模式的展示装置,其特征在于,包括:
接收模块,用于接收BIOS芯片发送的预设格式的文件;所述预设格式的文件是基于各PCIE设备的设备信息生成的,所述PCIE设备的设备信息包括预设全局变量,所述预设全局变量存储有所述PCIE设备的配置空间中的功能列表的第四位和PCIE功能位的第七位的与运算结果;
第二展示模块,用于基于所述预设格式的文件在BMC网络界面的设备清单下展示各所述PCIE设备支持的启动模式。
13.一种BIOS芯片,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至8任一项所述的PCIE设备启动模式的展示方法的步骤。
14.一种BMC芯片,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求9或10所述的PCIE设备启动模式的展示方法的步骤。
15.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的PCIE设备启动模式的展示方法的步骤,或实现如权利要求9或10所述的PCIE设备启动模式的展示方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311608727.3A CN117311832B (zh) | 2023-11-29 | 2023-11-29 | Pcie设备启动模式的展示方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311608727.3A CN117311832B (zh) | 2023-11-29 | 2023-11-29 | Pcie设备启动模式的展示方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117311832A CN117311832A (zh) | 2023-12-29 |
CN117311832B true CN117311832B (zh) | 2024-02-20 |
Family
ID=89255695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311608727.3A Active CN117311832B (zh) | 2023-11-29 | 2023-11-29 | Pcie设备启动模式的展示方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117311832B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021139355A1 (zh) * | 2020-07-20 | 2021-07-15 | 平安科技(深圳)有限公司 | 用于数据采集的内存操作系统的启动方法及装置 |
CN115658582A (zh) * | 2022-10-13 | 2023-01-31 | 超聚变数字技术有限公司 | 一种pcie设备扫描方法及服务器 |
CN115794690A (zh) * | 2022-12-26 | 2023-03-14 | 苏州浪潮智能科技有限公司 | 一种基于服务器中外接设备的处理方法及装置 |
-
2023
- 2023-11-29 CN CN202311608727.3A patent/CN117311832B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021139355A1 (zh) * | 2020-07-20 | 2021-07-15 | 平安科技(深圳)有限公司 | 用于数据采集的内存操作系统的启动方法及装置 |
CN115658582A (zh) * | 2022-10-13 | 2023-01-31 | 超聚变数字技术有限公司 | 一种pcie设备扫描方法及服务器 |
CN115794690A (zh) * | 2022-12-26 | 2023-03-14 | 苏州浪潮智能科技有限公司 | 一种基于服务器中外接设备的处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117311832A (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105404525B (zh) | 管理计算机系统中的基本输入输出系统配置的方法及装置 | |
ES2724523T3 (es) | Método de enumeración de dispositivo USB que incluye detectar un tipo de sistema operativo de anfitrión USB | |
US8874953B2 (en) | System and method of cloud testing and remote monitoring for integrated circuit components in system validation | |
US7757015B2 (en) | Device, method and computer program product readable medium for determining the identity of a component | |
TW201729123A (zh) | 遠程地啟動部署程式的方法與伺服器 | |
EP2472402A1 (en) | Remote management systems and methods for mapping operating system and management controller located in a server | |
CN110879712A (zh) | 一种云数据中心物理主机装机方法及相关装置 | |
US20160011879A1 (en) | Preconfiguring hardware and speeding up server discovery prior to bios boot | |
US20190020540A1 (en) | Mechanism for hardware configuration and software deployment | |
US7921230B2 (en) | USB devices pre-configuration for KVM switch | |
KR20080010341A (ko) | 하드웨어 플랫폼 클래스들의 식별을 가속하기 위한 시스템및 방법 | |
CN111124508A (zh) | 一种调整网卡pxe启动顺序的方法和装置 | |
CN107861790A (zh) | 虚拟机磁盘空间扩展方法、装置、宿主机及可读存储介质 | |
CN106873970A (zh) | 一种操作系统的安装方法和装置 | |
WO2017020460A1 (zh) | 一种集成插件的方法和装置 | |
CN117311832B (zh) | Pcie设备启动模式的展示方法、装置、设备及介质 | |
CN117194306A (zh) | 设备信息显示方法及系统 | |
CN108985402B (zh) | 一种raid卡信息获取方法及相关装置 | |
CN115221092A (zh) | Pci-e卡可分配的总线确定方法、装置、设备及存储介质 | |
CN116112412A (zh) | 一种虚拟网卡绑定冗余功能测试方法、系统、装置及介质 | |
CN112241141B (zh) | Plc控制系统的硬件配置方法、系统、设备及介质 | |
CN110327626B (zh) | 虚拟服务器创建方法及装置 | |
CN111142954B (zh) | 一种开机控制方法、装置及计算机可读存储介质 | |
CN109783031B (zh) | 用于RAID卡的盘符和slot号校验方法、装置、终端及存储介质 | |
CN109634685A (zh) | Pch万兆以太网的pxe功能的启停方法及相关装置 |
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 |