CN114003534A - Pcie设备信息上报bmc的方法、装置、终端及存储介质 - Google Patents
Pcie设备信息上报bmc的方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN114003534A CN114003534A CN202111154828.9A CN202111154828A CN114003534A CN 114003534 A CN114003534 A CN 114003534A CN 202111154828 A CN202111154828 A CN 202111154828A CN 114003534 A CN114003534 A CN 114003534A
- Authority
- CN
- China
- Prior art keywords
- information
- bmc
- pcie
- reporting
- linked list
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000002093 peripheral effect Effects 0.000 title description 4
- 230000002457 bidirectional effect Effects 0.000 claims abstract description 62
- 238000012360 testing method Methods 0.000 claims abstract description 13
- 238000012986 modification Methods 0.000 claims description 36
- 230000004048 modification Effects 0.000 claims description 36
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- 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/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- 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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开一种PCIE设备信息上报BMC的方法、装置、终端及存储介质,BIOS在服务器开机后加电自检阶段扫描PCIE设备;初始化双向链表,并返回指向双向链表的头节点;识别主板直连及转接卡上的PCIE设备;依次针对每个有效的PCIE设备进行信息解析,包括查询当前PCIE设备的上级桥设备,从桥设备信息中解析出PCIE设备信息、MMIO开始信息和MMIO结束信息,并将解析出的信息存放到双向链表中;将双向链表中的信息上报给BMC。本发明基于PCIE设备的上级桥设备进行信息上报,从而将MMIO信息上报给BMC,使BMC正确获取PCIE设备的MMIO资源,且在PCIE设备出错时,可根据地址和MMIO信息定位到具体设备,便于BMC报告具体出错地址,既不影响客户的使用,又大大节省了时间。
Description
技术领域
本发明涉及PCIE设备信息上报BMC领域,具体涉及一种PCIE设备信息上报BMC的方法、装置、终端及存储介质。
背景技术
随着服务器需求越来越多样化, PCIE设备的引入也出现了多样化,一台服务器搭配五六个PCIE设备也是非常普遍的事情。为了方便客户查看PCIE设备的信息,在开机过程中,BIOS会把PCIE设备的相关信息传递给BMC,目前的设计方案是,在开机过程中,对于基本信息 Bus、 Device、 Function(功能)及设备的位置、型号等传递给BMC,还会把BAR 空间的相应信息传递给BMC。但是目前的设计是把该设备的第一个Function资源传递给BMC,而有的PCIE设备有两个function或是四个function,这导致服务器出现以下问题:1)不能正确获取PCIE设备的MMIO资源信息;2)BMC不能报出具体的设备信息,只会报出具体的出错地址。
发明内容
为解决上述问题,本发明提供一种PCIE设备信息上报BMC的方法、装置、终端及存储介质,基于PCIE设备的上级桥设备进行信息上报,从而将MMIO信息上报给BMC,便于BMC报告具体出错地址。
第一方面,本发明的技术方案提供一种PCIE设备信息上报BMC的方法,运行于BIOS,包括以下步骤:
服务器开机后加电自检阶段扫描PCIE设备;
初始化双向链表,并返回指向双向链表的头节点;
识别主板直连及转接卡上的PCIE设备;
依次针对每个有效的PCIE设备进行信息解析,包括查询当前PCIE设备的上级桥设备,从桥设备信息中解析出PCIE设备信息、MMIO开始信息和MMIO结束信息,并将解析出的信息存放到双向链表中;
将双向链表中的信息上报给BMC。
进一步地,初始化双向链表之前还包括以下步骤:
通过IPMI命令发送修改上报逻辑请求至BMC,并等待接收BMC的返回结果;
若BMC同意修改,则执行初始化双向链表步骤;若BMC不同意修改,则保持传统上报逻辑进行PCIE设备信息上报。
进一步地,依次针对每个有效的PCIE设备进行信息解析之前还包括以下步骤:
剔除掉无需上报信息的PCIE设备。
进一步地,依次针对每个有效的PCIE设备进行信息解析,具体包括:
针对剩余PCIE设备,依次检测当前PCIE设备是否有效;
若有效则进行信息解析,否则对下一个PCIE设备进行检测。
进一步地,将双向链表中的信息上报给BMC,具体包括:
检测双向链表是否为空;
若为空,则结束上报程序;
否则,根据与BMC约定的IPMI命令格式,依次将双向链表中的每条信息发送给BMC,并释放双向链表中的资源。
第二方面,本发明的技术方案提供一种PCIE设备信息上报BMC的方法,运行于BMC,包括以下步骤:
接收BIOS发送的修改上报逻辑请求,若同意修改,则返回同意;若不同意修改,则返回拒绝;
接收BIOS发送来的双向链表内的信息,并解析出各字段信息存至日志。
第三方面,本发明的技术方案提供一种PCIE设备信息上报BMC的装置,配置于BIOS,包括,
扫描模块:服务器开机后加电自检阶段扫描PCIE设备;
链表初始化模块:初始化双向链表,并返回指向双向链表的头节点;
识别模块:识别主板直连及转接卡上的PCIE设备;
信息解析模块:依次针对每个有效的PCIE设备进行信息解析,包括查询当前PCIE设备的上级桥设备,从桥设备信息中解析出PCIE设备信息、MMIO开始信息和MMIO结束信息,并将解析出的信息存放到双向链表中;
信息上报模块:将双向链表中的信息上报给BMC。
第四方面,本发明的技术方案提供一种PCIE设备信息上报BMC的装置,配置于BMC,包括,
修改逻辑请求接收模块:接收BIOS发送的修改上报逻辑请求,若同意修改,则返回同意;若不同意修改,则返回拒绝;
设备信息接收模块:接收BIOS发送来的双向链表内的信息,并解析出各字段信息存至日志。
第五方面,本发明的技术方案提供一种终端,包括:
存储器,用于存储PCIE设备信息上报BMC程序;
处理器,用于执行所述PCIE设备信息上报BMC程序时实现如上述运行于BIOS任一项所述PCIE设备信息上报BMC方法的步骤。
第六方面,本发明的技术方案提供一种可读存储介质,所述可读存储介质上存储有PCIE设备信息上报BMC程序,所述PCIE设备信息上报BMC程序被处理器执行时实现如上述运行于BIOS任一项所述PCIE设备信息上报BMC方法的步骤。
本发明提供的一种PCIE设备信息上报BMC的方法、装置、终端及存储介质,相对于现有技术,具有以下有益效果:从PCIE设备的上级桥设备信息中解析出PCIE设备信息、MMIO开始信息和MMIO结束信息,并将解析出的信息存至双向链表,经双向链表上报给BMC。本发明基于PCIE设备的上级桥设备进行信息上报,从而将MMIO信息上报给BMC,使BMC正确获取PCIE设备的MMIO资源,且在PCIE设备出错时,可根据地址和MMIO信息定位到具体设备,便于BMC报告具体出错地址,既不影响客户的使用,又大大节省了时间。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种PCIE设备信息上报BMC的方法流程示意图。
图2为本发明实施例二提供的一种PCIE设备信息上报BMC的方法流程示意图。
图3为本发明实施例三提供的一种PCIE设备信息上报BMC的方法流程示意图。
图4为本发明实施例四提供的一种PCIE设备信息上报BMC的方法流程示意图。
图5为本发明实施例五提供的一种PCIE设备信息上报BMC的装置结构示意框图。
图6为本发明实施例六提供的一种PCIE设备信息上报BMC的装置结构示意框图。
图7为本发明实施例七提供的一种终端的结构示意图。
具体实施方式
以下对本发明涉及的部分英文术语进行解释。
PCIE:peripheral component interconnect express,是一种高速串行计算机扩展总线标准。
BMC: Baseboard Manager Controller,基板管理控制器。
MMIO:Memory mapping I/O,即内存映射I/O,它是PCI规范的一部分,I/O设备被放置在内存空间而不是I/O空间。从处理器的角度看,内存映射I/O后***设备访问起来和内存一样。这样访问PCI设备就可以使用读写内存一样的汇编指令完成,简化了程序设计的难度和接口的复杂性。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着服务器需求越来越多样化, PCIE设备的引入也出现了多样化,一台服务器搭配五六个PCIE设备也是非常普遍的事情。为了方便客户查看PCIE设备的信息,在开机过程中,BIOS会把PCIE设备的相关信息传递给BMC,目前的设计方案是,在开机过程中,对于基本信息 Bus、 Device、 Function(功能)及设备的位置、型号等传递给BMC,还会把BAR 空间的相应信息传递给BMC。但是目前的设计是把该设备的第一个Function资源传递给BMC,而有的PCIE设备有两个function或是四个function,这导致服务器出现以下问题:1)不能正确获取PCIE设备的MMIO资源信息;2)BMC不能报出具体的设备信息,只会报出具体的出错地址。
因此,本发明提供一种PCIE设备信息上报BMC的方案,基于PCIE设备的上级桥设备进行信息上报,从而将MMIO信息上报给BMC,便于BMC报告具体出错地址。
实施例一
本实施例一提供一种PCIE设备信息上报BMC的方法,运行于BIOS,实现将MMIO信息上报给BMC。
如图1所示为本实施例一提供的一种PCIE设备信息上报BMC的方法流程示意图,包括以下步骤。
S101,服务器开机后加电自检阶段扫描PCIE设备。
服务器开机后进行加电自检(即POST阶段),在加电自检过程中进行PCIE设备扫描,进行下述步骤进行信息上报。
S102,初始化双向链表,并返回指向双向链表的头节点。
本实施例通过双向链表存储信息,通过双向链表将信息上报给BMC。
S103,识别主板直连及转接卡上的PCIE设备。
其中转接卡即Raiser卡。
需要说明的是,本步骤会识别到PCIE设备,但有些PCIE设备是无需上报信息的,因此具体实施时,识别后剔除掉无需上报信息的PCIE设备,提高上报效率。
S104,依次针对每个有效的PCIE设备进行信息解析,包括查询当前PCIE设备的上级桥设备,从桥设备信息中解析出PCIE设备信息、MMIO开始信息和MMIO结束信息,并将解析出的信息存放到双向链表中。
对每个有效的PCIE设备进行信息解析,信息解析包括查询上级桥设备(即Bridgeresource),从桥设备信息中解析出相关信息,然后将解析出的信息存放到双向链表中。
其中从桥设备信息中解析出相关信息时,根据PCIE协议进行解析。
需要说明的是,具体实施时,已剔除掉无需上报信息的PCIE设备,因此针对剩余PCIE设备,依次检测当前PCIE设备是否有效,若有效则进行信息解析,否则对下一个PCIE设备进行检测。
其中上报的PCIE设备信息如传统上报方式,包括基本信息 Bus、 Device及设备的位置、型号等。
S105,将双向链表中的信息上报给BMC。
需要说明的是,将所有需要上传信息的PCIE设备轮询解析完之后,再将双向链表中的信息上报给BMC。上报给BMC的信息包括PCIE设备信息、MMIO开始信息和MMIO结束信息,BMC获知PCIE设备的MMIO信息,在PCIE设备出错时,根据PCIE设备地址和MMIO信息就可以定位到具体的设备。
本实施例一提供的一种PCIE设备信息上报BMC的方法,从PCIE设备的上级桥设备信息中解析出PCIE设备信息、MMIO开始信息和MMIO结束信息,并将解析出的信息存至双向链表,经双向链表上报给BMC。本发明基于PCIE设备的上级桥设备进行信息上报,从而将MMIO信息上报给BMC,使BMC正确获取PCIE设备的MMIO资源,且在PCIE设备出错时,可根据地址和MMIO信息定位到具体设备,便于BMC报告具体出错地址,既不影响客户的使用,又大大节省了时间。
实施例二
本实施例二提供的一种PCIE设备信息上报BMC的方法,提供两种上报逻辑,一种是传统上报逻辑,一种是实施例一提供方法的上报逻辑,用户可根据需要选择相应的上报逻辑。
如图2所示为本实施例二提供的一种PCIE设备信息上报BMC的方法流程示意图,包括以下步骤。
S201,服务器开机后加电自检阶段扫描PCIE设备。
S202,通过IPMI命令发送修改上报逻辑请求至BMC,并等待接收BMC的返回结果。
修改上报逻辑是指将传统上报逻辑修改为实施例一所提供的上报逻辑。
S203,若BMC同意修改,则执行步骤S204;若BMC不同意修改,则保持传统上报逻辑进行PCIE设备信息上报。
BMC根据需求选择同意修改或不同意修改,在不同意修改时,BIOS根据传统上报逻辑进行PCIE设备信息的上报,即在开机过程中,对于基本信息 Bus、 Device、 Function及设备的位置、型号等传递给BMC,还会把BAR 空间的相应信息传递给BMC。
S204,初始化双向链表,并返回指向双向链表的头节点。
S205,识别主板直连及转接卡上的PCIE设备。
S206,依次针对每个有效的PCIE设备进行信息解析,包括查询当前PCIE设备的上级桥设备,从桥设备信息中解析出PCIE设备信息、MMIO开始信息和MMIO结束信息,并将解析出的信息存放到双向链表中。
S207,将双向链表中的信息上报给BMC。
本实施例二提供的一种PCIE设备信息上报BMC的方法,供用户选择两者上报逻辑,使用本实施例提供的上报逻辑时从PCIE设备的上级桥设备信息中解析出PCIE设备信息、MMIO开始信息和MMIO结束信息,并将解析出的信息存至双向链表,经双向链表上报给BMC。本发明基于PCIE设备的上级桥设备进行信息上报,从而将MMIO信息上报给BMC,使BMC正确获取PCIE设备的MMIO资源,且在PCIE设备出错时,可根据地址和MMIO信息定位到具体设备,便于BMC报告具体出错地址,既不影响客户的使用,又大大节省了时间。
实施例三
本实施例三提供一种PCIE设备信息上报BMC的方法,在将双向链表中的信息上报给BMC时,先检测双向链表是否为空,非空时上报,上报时将表内信息依次发送给BMC。
具体地,如图3所示为本实施例三提供的一种PCIE设备信息上报BMC的方法流程示意图,包括以下步骤。
S301,服务器开机后加电自检阶段扫描PCIE设备。
S302,通过IPMI命令发送修改上报逻辑请求至BMC,并等待接收BMC的返回结果。
修改上报逻辑是指将传统上报逻辑修改为实施例一所提供的上报逻辑。
S303,若BMC同意修改,则执行步骤S304;若BMC不同意修改,则保持传统上报逻辑进行PCIE设备信息上报。
BMC根据需求选择同意修改或不同意修改,在不同意修改时,BIOS根据传统上报逻辑进行PCIE设备信息的上报,即在开机过程中,对于基本信息 Bus、 Device、 Function及设备的位置、型号等传递给BMC,还会把BAR 空间的相应信息传递给BMC。
S304,初始化双向链表,并返回指向双向链表的头节点。
S305,识别主板直连及转接卡上的PCIE设备。
S306,依次针对每个有效的PCIE设备进行信息解析,包括查询当前PCIE设备的上级桥设备,从桥设备信息中解析出PCIE设备信息、MMIO开始信息和MMIO结束信息,并将解析出的信息存放到双向链表中。
S307,检测双向链表是否为空。
S308,若为空,则结束上报程序;否则,根据与BMC约定的IPMI命令格式,依次将双向链表中的每条信息发送给BMC,并释放双向链表中的资源。
所识别PCIE设备中可能不存在有效的PCIE设备,从而导致双向链表为空,此时直接结束进程即可,无信息上报。
预先与BMC约定IPMI命令格式,双向链表非空时,将双向链表中的信息逐条上报给BMC。上报之后,将信息从双向链表中删除。
本实施例三提供的一种PCIE设备信息上报BMC的方法,供用户选择两者上报逻辑,使用本实施例提供的上报逻辑时从PCIE设备的上级桥设备信息中解析出PCIE设备信息、MMIO开始信息和MMIO结束信息,并将解析出的信息存至双向链表,经双向链表上报给BMC。本发明基于PCIE设备的上级桥设备进行信息上报,从而将MMIO信息上报给BMC,使BMC正确获取PCIE设备的MMIO资源,且在PCIE设备出错时,可根据地址和MMIO信息定位到具体设备,便于BMC报告具体出错地址,既不影响客户的使用,又大大节省了时间。
实施例四
本实施例四提供一种PCIE设备信息上报BMC的方法,运行于BMC,响应上述运行于BIOS的方法,完成请求回应和信息接收。
如图4所示为本实施例四提供的一种PCIE设备信息上报BMC的方法流程示意图,包括以下步骤。
S401,接收BIOS发送的修改上报逻辑请求,若同意修改,则返回同意;若不同意修改,则返回拒绝;
S402,接收BIOS发送来的双向链表内的信息,并解析出各字段信息存至日志。
BMC根据用户需求或设定选择是否同意修改上报逻辑,在接收到BIOS发送来的双向链表内的信息时,对信息进行解析,然后将解析后的数据保存到日志,供用户查看。
本实施例四提供的一种PCIE设备信息上报BMC的方法,响应上述运行于BIOS的方法,正确获取PCIE设备的MMIO资源,且在PCIE设备出错时,可根据地址和MMIO信息定位到具体设备,便于报告具体出错地址,既不影响客户的使用,又大大节省了时间。
实施例五
本实施例五提供一种PCIE设备信息上报BMC的装置,配置于BIOS,用于实现前述实施例一、二和三的PCIE设备信息上报BMC方法。
如图5所示为本实施例五提供的一种PCIE设备信息上报BMC的装置结构示意框图,包括以下功能模块。
扫描模块:服务器开机后加电自检阶段扫描PCIE设备;
链表初始化模块:初始化双向链表,并返回指向双向链表的头节点;
识别模块:识别主板直连及转接卡上的PCIE设备;
信息解析模块:依次针对每个有效的PCIE设备进行信息解析,包括查询当前PCIE设备的上级桥设备,从桥设备信息中解析出PCIE设备信息、MMIO开始信息和MMIO结束信息,并将解析出的信息存放到双向链表中;
信息上报模块:将双向链表中的信息上报给BMC。
本实施例的PCIE设备信息上报BMC的装置用于实现前述的PCIE设备信息上报BMC的方法,因此该装置中的具体实施方式可见前文中的PCIE设备信息上报BMC的方法的实施例部分,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
另外,由于本实施例的PCIE设备信息上报BMC的装置用于实现前述的PCIE设备信息上报BMC的方法,因此其作用与上述方法的作用相对应,这里不再赘述。
实施例六
本实施例六提供一种PCIE设备信息上报BMC的装置,配置于BMC,用于实现前述实施例四的PCIE设备信息上报BMC方法。
如图6所示为本实施例六提供的一种PCIE设备信息上报BMC的装置结构示意框图,包括以下功能模块。
修改逻辑请求接收模块:接收BIOS发送的修改上报逻辑请求,若同意修改,则返回同意;若不同意修改,则返回拒绝;
设备信息接收模块:接收BIOS发送来的双向链表内的信息,并解析出各字段信息存至日志。
本实施例的PCIE设备信息上报BMC的装置用于实现前述的PCIE设备信息上报BMC的方法,因此该装置中的具体实施方式可见前文中的PCIE设备信息上报BMC的方法的实施例部分,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
另外,由于本实施例的PCIE设备信息上报BMC的装置用于实现前述的PCIE设备信息上报BMC的方法,因此其作用与上述方法的作用相对应,这里不再赘述。
实施例七
图7为本发明实施例提供的一种终端装置700的结构示意图,包括:处理器710、存储器720及通信单元730。所述处理器710用于实现存储器720中保存的PCIE设备信息上报BMC程序时实现以下步骤:
服务器开机后加电自检阶段扫描PCIE设备;
初始化双向链表,并返回指向双向链表的头节点;
识别主板直连及转接卡上的PCIE设备;
依次针对每个有效的PCIE设备进行信息解析,包括查询当前PCIE设备的上级桥设备,从桥设备信息中解析出PCIE设备信息、MMIO开始信息和MMIO结束信息,并将解析出的信息存放到双向链表中;
将双向链表中的信息上报给BMC。
本发明从PCIE设备的上级桥设备信息中解析出PCIE设备信息、MMIO开始信息和MMIO结束信息,并将解析出的信息存至双向链表,经双向链表上报给BMC。本发明基于PCIE设备的上级桥设备进行信息上报,从而将MMIO信息上报给BMC,使BMC正确获取PCIE设备的MMIO资源,且在PCIE设备出错时,可根据地址和MMIO信息定位到具体设备,便于BMC报告具体出错地址,既不影响客户的使用,又大大节省了时间。
在一些具体实施例中,所述处理器710执行存储器720中保存的PCIE设备信息上报BMC子程序时,具体可以实现:通过IPMI命令发送修改上报逻辑请求至BMC,并等待接收BMC的返回结果;若BMC同意修改,则执行初始化双向链表步骤;若BMC不同意修改,则保持传统上报逻辑进行PCIE设备信息上报。
在一些具体实施例中,所述处理器710执行存储器720中保存的PCIE设备信息上报BMC子程序时,具体可以实现:剔除掉无需上报信息的PCIE设备。
在一些具体实施例中,所述处理器710执行存储器720中保存的PCIE设备信息上报BMC子程序时,具体可以实现:针对剩余PCIE设备,依次检测当前PCIE设备是否有效;若有效则进行信息解析,否则对下一个PCIE设备进行检测。
在一些具体实施例中,所述处理器710执行存储器720中保存的PCIE设备信息上报BMC子程序时,具体可以实现:检测双向链表是否为空;若为空,则结束上报程序;否则,根据与BMC约定的IPMI命令格式,依次将双向链表中的每条信息发送给BMC,并释放双向链表中的资源。
其中,该终端装置700可以包括:处理器710、存储器720及通信单元730。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器720可以用于存储处理器710的执行指令,存储器720可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器720中的执行指令由处理器710执行时,使得终端700能够执行以下上述方法实施例中的部分或全部步骤。
处理器710为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC) 组成,例如可以由单颗封装的IC 所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器710可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元730,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
实施例八
本发明还提供一种计算机存储介质,这里所说的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random accessmemory,简称:RAM)等。
计算机存储介质存储有PCIE设备信息上报BMC程序,所述PCIE设备信息上报BMC程序被处理器执行时实现以下步骤:
服务器开机后加电自检阶段扫描PCIE设备;
初始化双向链表,并返回指向双向链表的头节点;
识别主板直连及转接卡上的PCIE设备;
依次针对每个有效的PCIE设备进行信息解析,包括查询当前PCIE设备的上级桥设备,从桥设备信息中解析出PCIE设备信息、MMIO开始信息和MMIO结束信息,并将解析出的信息存放到双向链表中;
将双向链表中的信息上报给BMC。
本发明从PCIE设备的上级桥设备信息中解析出PCIE设备信息、MMIO开始信息和MMIO结束信息,并将解析出的信息存至双向链表,经双向链表上报给BMC。本发明基于PCIE设备的上级桥设备进行信息上报,从而将MMIO信息上报给BMC,使BMC正确获取PCIE设备的MMIO资源,且在PCIE设备出错时,可根据地址和MMIO信息定位到具体设备,便于BMC报告具体出错地址,既不影响客户的使用,又大大节省了时间。
在一些具体实施例中,所述可读存储介质中存储的PCIE设备信息上报BMC子程序被处理器执行时,具体可以实现:通过IPMI命令发送修改上报逻辑请求至BMC,并等待接收BMC的返回结果;若BMC同意修改,则执行初始化双向链表步骤;若BMC不同意修改,则保持传统上报逻辑进行PCIE设备信息上报。
在一些具体实施例中,所述可读存储介质中存储的PCIE设备信息上报BMC子程序被处理器执行时,具体可以实现:剔除掉无需上报信息的PCIE设备。
在一些具体实施例中,所述可读存储介质中存储的PCIE设备信息上报BMC子程序被处理器执行时,具体可以实现:针对剩余PCIE设备,依次检测当前PCIE设备是否有效;若有效则进行信息解析,否则对下一个PCIE设备进行检测。
在一些具体实施例中,所述可读存储介质中存储的PCIE设备信息上报BMC子程序被处理器执行时,具体可以实现:检测双向链表是否为空;若为空,则结束上报程序;否则,根据与BMC约定的IPMI命令格式,依次将双向链表中的每条信息发送给BMC,并释放双向链表中的资源。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。
Claims (10)
1.一种PCIE设备信息上报BMC的方法,其特征在于,运行于BIOS,包括以下步骤:
服务器开机后加电自检阶段扫描PCIE设备;
初始化双向链表,并返回指向双向链表的头节点;
识别主板直连及转接卡上的PCIE设备;
依次针对每个有效的PCIE设备进行信息解析,包括查询当前PCIE设备的上级桥设备,从桥设备信息中解析出PCIE设备信息、MMIO开始信息和MMIO结束信息,并将解析出的信息存放到双向链表中;
将双向链表中的信息上报给BMC。
2.根据权利要求1所述的PCIE设备信息上报BMC的方法,其特征在于,初始化双向链表之前还包括以下步骤:
通过IPMI命令发送修改上报逻辑请求至BMC,并等待接收BMC的返回结果;
若BMC同意修改,则执行初始化双向链表步骤;若BMC不同意修改,则保持传统上报逻辑进行PCIE设备信息上报。
3.根据权利要求1所述的PCIE设备信息上报BMC的方法,其特征在于,依次针对每个有效的PCIE设备进行信息解析之前还包括以下步骤:
剔除掉无需上报信息的PCIE设备。
4.根据权利要求3所述的PCIE设备信息上报BMC的方法,其特征在于,依次针对每个有效的PCIE设备进行信息解析,具体包括:
针对剩余PCIE设备,依次检测当前PCIE设备是否有效;
若有效则进行信息解析,否则对下一个PCIE设备进行检测。
5.根据权利要求1所述的PCIE设备信息上报BMC的方法,其特征在于,将双向链表中的信息上报给BMC,具体包括:
检测双向链表是否为空;
若为空,则结束上报程序;
否则,根据与BMC约定的IPMI命令格式,依次将双向链表中的每条信息发送给BMC,并释放双向链表中的资源。
6.一种PCIE设备信息上报BMC的方法,其特征在于,运行于BMC,包括以下步骤:
接收BIOS发送的修改上报逻辑请求,若同意修改,则返回同意;若不同意修改,则返回拒绝;
接收BIOS发送来的双向链表内的信息,并解析出各字段信息存至日志。
7.一种PCIE设备信息上报BMC的装置,其特征在于,配置于BIOS,包括,
扫描模块:服务器开机后加电自检阶段扫描PCIE设备;
链表初始化模块:初始化双向链表,并返回指向双向链表的头节点;
识别模块:识别主板直连及转接卡上的PCIE设备;
信息解析模块:依次针对每个有效的PCIE设备进行信息解析,包括查询当前PCIE设备的上级桥设备,从桥设备信息中解析出PCIE设备信息、MMIO开始信息和MMIO结束信息,并将解析出的信息存放到双向链表中;
信息上报模块:将双向链表中的信息上报给BMC。
8.一种PCIE设备信息上报BMC的装置,其特征在于,配置于BMC,包括,
修改逻辑请求接收模块:接收BIOS发送的修改上报逻辑请求,若同意修改,则返回同意;若不同意修改,则返回拒绝;
设备信息接收模块:接收BIOS发送来的双向链表内的信息,并解析出各字段信息存至日志。
9.一种终端,其特征在于,包括:
存储器,用于存储PCIE设备信息上报BMC程序;
处理器,用于执行所述PCIE设备信息上报BMC程序时实现如权利要求1-5任一项所述PCIE设备信息上报BMC方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有PCIE设备信息上报BMC程序,所述PCIE设备信息上报BMC程序被处理器执行时实现如权利要求1-5任一项所述PCIE设备信息上报BMC方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111154828.9A CN114003534A (zh) | 2021-09-29 | 2021-09-29 | Pcie设备信息上报bmc的方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111154828.9A CN114003534A (zh) | 2021-09-29 | 2021-09-29 | Pcie设备信息上报bmc的方法、装置、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114003534A true CN114003534A (zh) | 2022-02-01 |
Family
ID=79922121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111154828.9A Withdrawn CN114003534A (zh) | 2021-09-29 | 2021-09-29 | Pcie设备信息上报bmc的方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114003534A (zh) |
-
2021
- 2021-09-29 CN CN202111154828.9A patent/CN114003534A/zh not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112737836B (zh) | PCIe外插卡的带宽分配方法、装置、设备及存储介质 | |
CN113111025B (zh) | Pci设备映射方法、装置、设备及存储介质 | |
CN114003538A (zh) | 一种智能网卡的识别方法及智能网卡 | |
US20170249165A1 (en) | Usb wireless network card configuration methods, host, usb wireless network card and communication system | |
CN111262753B (zh) | 一种numa节点个数自动配置方法方法、***、终端及存储介质 | |
CN113626276B (zh) | 服务器hba卡型号的识别方法、***、终端及存储介质 | |
CN111966380A (zh) | 一种bmc固件升级方法、***、终端及存储介质 | |
CN110209605B (zh) | Pcie总线网卡的寄存器读写方法和计算设备 | |
CN114860271A (zh) | 一种pxe启动方法、***、装置及可读存储介质 | |
CN110413554B (zh) | 热插拔***及热插拔方法 | |
CN106933575B (zh) | 一种带外识别服务器资产信息的***及方法 | |
CN114003534A (zh) | Pcie设备信息上报bmc的方法、装置、终端及存储介质 | |
CN115878327A (zh) | 总线预留方法、装置、服务器、电子设备和存储介质 | |
CN109450682B (zh) | 一种ib网卡连通配置方法、装置、终端及存储介质 | |
CN114691223A (zh) | 一种通过网络传输bios日志的方法及装置 | |
CN113849267A (zh) | 显卡虚拟显示方法、***、终端及存储介质 | |
CN114253573A (zh) | PCIe设备固件批量升级方法、***、终端及存储介质 | |
CN108710508B (zh) | 一种处理方法、装置及电子设备 | |
CN112580086A (zh) | 配置文件的访问保护方法、装置、设备以及存储介质 | |
CN114579381B (zh) | 磁盘阵列远程调试方法、***、终端及存储介质 | |
CN111327722B (zh) | 静态ip与动态ip的冲突检测方法、***、终端及存储介质 | |
CN114860343B (zh) | 加速卡速率调整方法、***、终端及存储介质 | |
CN112486578B (zh) | 一种bmc动态加载传感器的方法、***、终端及存储介质 | |
CN112000480B (zh) | 提升ssd全盘扫描效率的方法、装置、设备及介质 | |
CN109257211A (zh) | 云手机批量初始化方法与*** |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220201 |