CN112667544A - 一种控制主板插槽使能的方法、装置、系统及介质 - Google Patents
一种控制主板插槽使能的方法、装置、系统及介质 Download PDFInfo
- Publication number
- CN112667544A CN112667544A CN202011505015.5A CN202011505015A CN112667544A CN 112667544 A CN112667544 A CN 112667544A CN 202011505015 A CN202011505015 A CN 202011505015A CN 112667544 A CN112667544 A CN 112667544A
- Authority
- CN
- China
- Prior art keywords
- pcie slot
- gpio pin
- bmc
- slot
- pcie
- 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 27
- 230000001960 triggered effect Effects 0.000 claims abstract description 5
- 238000004590 computer program Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 abstract description 51
- 230000007547 defect Effects 0.000 abstract description 3
- 238000007726 management method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种控制主板插槽使能的方法,包括建立事件函数以及事件函数的触发条件,根据事件函数的触发条件建立开关;将BMC中的GPIO引脚与CPU中的GPIO引脚连接;将BMC中GPIO引脚的电平状态与主板中PCIe插槽绑定;在事件函数中配置PCIe插槽绑定的BMC中GPIO引脚与CPU中网络管理器端口控制的PCIe插槽寄存器的对应关系;在事件函数中建立PCIe插槽函数,执行PCIe插槽的开关;当开关开启时,BMC中GPIO电平状态为高电平,触发事件函数,PCIe插槽使能;本发明能够解决远程操作PCIe插槽后必须重新启动的缺点,在系统操作下运行不会占用内存以及IO资源。
Description
技术领域
本发明涉及系统固件领域,特别是涉及一种控制主板插槽使能的方法、装置、系统及介质。
背景技术
现有在系统下的BMC WEB控制PCIe插槽使能与否的方式是:BMC通过发送需求命令给bios,bios只有在重新启动后才能执行BMC发送过来的命令请求。
现有的技术方案缺点是不能实时的实现BMC的请求,而且服务器产品开机时间都较长,在等待服务器重启过后,才能使PCIe插槽使能。
发明内容
本发明主要解决的技术问题是提供一种控制主板插槽使能的方法、装置、系统及介质,能够运用BMC和CPU常用的一些GPIO相连,结合BMC远程操控的优点,和AMD CPU SMN网络管理芯片可以通过地址端口和数据端口控制对应端口寄存器的特点,解决在系统运行的时候,BMC发送控制PCIe插槽不能实时生效,需要bios再次重启生效的问题。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种控制主板插槽使能的方法,包括:
建立事件函数以及事件函数的触发条件,根据事件函数的触发条件建立开关;
将BMC中的GPIO引脚与CPU中的GPIO引脚连接;将BMC中GPIO引脚的电平状态与主板中PCIe插槽绑定;
在事件函数中配置PCIe插槽绑定的BMC中GPIO引脚与CPU中网络管理器端口控制的PCIe插槽寄存器的对应关系;在事件函数中建立PCIe插槽函数,执行PCIe插槽的开关;
当开关开启,触发事件函数,PCIe插槽使能。
进一步,所述BMC中的GPIO引脚包括普通GPIO引脚、触发GPIO引脚和使能GPIO引脚。
进一步,所述普通GPIO引脚与PCIe插槽连接,普通GPIO引脚的电平状态与PCIe插槽的地址值对应;
所述触发GPIO引脚与PCIe插槽连接,根据触发GPIO引脚的电平状态触发事件函数;
所述使能GPIO引脚与PCIe插槽连接,根据使能GPIO引脚的电平状态控制PCIe插槽使能。
进一步,所述配置PCIe插槽绑定的BMC中GPIO引脚与CPU中网络管理器端口控制的PCIe插槽寄存器的对应关系包括以下步骤:
查询主板中PCIe插槽对应的网络管理器的端口控制的PCIe插槽寄存器;
根据BMC中GPIO引脚的电平状态与主板中PCIe插槽绑定的信息,将网络管理器的端口控制的PCIe插槽寄存器与BMC中GPIO引脚的电平状态绑定。
进一步,所述PCIe插槽函数为读取普通GPIO引脚电平状态和读取使能GPIO引脚电平状态;根据普通GPIO引脚电平状态匹配PCIe插槽地址,找到PCIe插槽,根据使能GPIO引脚电平状态执行PCIe插槽的开关。
进一步,所述BMC中的GPIO引脚为输出引脚;所述CPU中的GPIO引脚为输入引脚。
一种控制主板插槽使能的装置,包括:CPU、BMC、PCIe插槽、网络管理器和PCIe插槽寄存器;所述CPU中GPIO引脚与所述BMC中GPIO引脚连接;所述BMC中GPIO引脚和所述CPU中GPIO引脚分别连接所述PCIe插槽;所述CPU中设有网络管理器;所述网络管理器的端口连接PCIe插槽寄存器并与所述PCIe插槽对应。
一种控制主板插槽使能的系统,包括:匹配模块、分类模块和函数模块;
所述匹配模块将BMC中GPIO引脚的电平状态与主板中PCIe插槽绑定;
所述分类模块将BMC中的GPIO引脚分为普通GPIO引脚、触发GPIO引脚和使能GPIO引脚;
所述函数模块中设有事件函数,并在事件函数中配置PCIe插槽绑定的BMC中GPIO引脚与CPU中网络管理器端口控制的PCIe插槽寄存器的对应关系,用于PCIe插槽的使能;所述函数模块中还设有PCIe插槽函数模块,用于执行PCIe插槽的开关。
进一步,所述PCIe插槽函数模块读取普通GPIO引脚电平状态和读取使能GPIO引脚电平状态;根据普通GPIO引脚电平状态匹配PCIe插槽地址,找到PCIe插槽,根据使能GPIO引脚电平状态执行PCIe插槽的开关。
一种控制主板插槽使能的存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行上述所述的一种控制主板插槽使能的方法的步骤。
本发明的有益效果是:本发明运用BMC和CPU常用的一些GPIO相连,结合BMC远程操控的优点和AMD CPU SMN可以通过地址端口和数据端口控制对应端口寄存器的特点,解决了远程操作PCIe插槽后必须重新启动的缺点,且在系统操作下运行不会占用内存以及IO资源。
附图说明
图1是本发明一种控制主板插槽使能的方法一较佳实施例的流程图;
图2是本发明一种控制主板插槽使能的装置架构示意图;
图3是本发明一种控制主板插槽使能的系统架构示意图。
具体实施方式
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
本发明实施例包括:
第一方面,见图1,一种控制主板插槽使能的方法,包括:
将BMC芯片的6个GPIO pin脚与AMD CPU的GPIO pin脚相联系;
一个BMC芯片当中的6个GPIO引脚,通过硬件相互联系,联系的意思就是硬件上把这他们的BMC cpu的GPIO引脚相接,比如使用I2C总线,或者其他扩展线;
BMC芯片的6个GPIO pin脚分为普通GPIO,触发SMI的GPIO和使能GPIO;
GPIO是可以设置为输出输入的,可以触发SMI等多种属性的引脚,这是所有GPIO引脚的芯片都具有的功能,属性可以通过编写软件控制GPIO的属性,是作为输入还是输出的,把BMC的GPIO引脚设置为输出属性,CPU的GPIO引脚软件设置为输入属性。
其中普通GPIO为四个分别命名为A0,A1,A2,A3;触发SMI的GPIO pin命名为B0,使能GPIO pin命名为C0;
根据四个普通GPIO pin脚电平状态,设置BMC WEB PCIe插槽选项界面的地址值,并与主板中PCIe插槽数量相对应,例如主板中只有四个PCIe插槽,则四个地址值0000,0001,0010,0100分别对应四个PCIe插槽,第一插槽,第二插槽,第三插槽和第四插槽;
若主板中有8个PCIe插槽,则八个地址为0000,0001,0010,0100,1000,1001,1010,1100;分别对应八个PCIe插槽,第一插槽至第八插槽;
根据AMD的说明书,查询主板中PCIe插槽对应的SMN网络管理器的地址端口和数据端口的寄存器;
在BIOS中根据EDK II库函数中的事件函数的要点,在事件函数中配置触发SMI的GPIO,根据说明书查找所有GPIO的顺序编号,并找到触发SMI的GPIO的编号,配置触发的条件;当BMC发出的信号为高电平,则触发SMI的GPIO;
顺序编号可以在GPIO芯片说明书中查找;
根据EDK II库函数中的事件函数可以配置当GPIO的电位是低的时候触发,还是高的时候触发的条件,触发的后想要执行的操作是什么,填写完毕后,这个EDK II库函数中的事件函数就会记录下来保存到指定的内存区域;
其中EDK II(UEFI协会组织发布的一个开发包)会有专门的一块内存区域,把这些事件函数记录下来,达到触发条件的时候就会触发。
开机过程中,BIOS会执行这些事件函数;
BMC端关联与PCIe插槽对应的普通GPIO电平,因为BMC的GPIO与CPU的GPIO相关联,且已经设置BMC WEB PCIe插槽选项界面的地址值,并与主板中PCIe插槽数量相对应,所以针对第一个PCIe插槽,BMC设置GPIO为第一插槽对应的地址以此类推,将主板中所有PCIe插槽与BMC中GPIO状态对应;
BMC中使能GPIO与PCIe插槽关联,使能GPIO控制每个PCIe插槽使能,将使能GPIO与PCIe插槽连接。
在事件函数中建立PCIe插槽函数;PCIe插槽函数为每次只能执行一个PCIe插槽的开关;PCIe插槽函数为读取4个普通GPIO的引脚的电位,根据引脚电位确定PCIe的插槽以及对应的SMN网络管理器的地址端口和数据端口;
读取使能GPIO C0的电位,若C0电位为高电平,则使能PCIe插槽,若C0电位为低电平,则关闭PCIe插槽。
读取4个GPIO(A0,A1,A2,A3)的电平状态为0000,通过代码可以做出判断,当为0000时候控制第一个PCIe槽的开关寄存器,0001的时候控制第二个PCIe槽的开关寄存器,以此类推。
设置if条件的控制总开关,总开关用于触发SMI的GPIO;
BMC的WEB界面有一些按钮,这些按钮实际是会关联代码的,这些按钮就相当于if条件,当BMC发出信号为高电平时,则满足if条件,触发SMI的GPIO;只有触发了SMI的GPIO,才能执行PCIe插槽函数;
触发SMI事件后,将控制PCIe插槽操作传递给BIOS端;
由于开机阶段bios端已经注册了事件函数相应的触发条件,因为BMC与CPU的GPIO已经通过扩展线连接在一起,所以CPU的GPIO就能抓到相应BMC端电平的变化。而且在BIOS端也已经在开机阶段注册了事件函数,这个事件函数已经把PCIe插槽的对应关系和开关状态配置了;
因为使用的AMD SMN机制控制的PCIe端口寄存器机制,不会占用系统的内存和IO端口资源,不会影响其他功能的使用。当我们打开控制的总开关,执行PCIe插槽的操作,通过BMC web界面发送相关命令的时候,就可以控制相应的PCIe插槽了。
见图2,第二方面,基于与前述实施例中一种控制主板插槽使能的方法同样的发明构思,本说明书实施例还提供一种控制主板插槽使能的装置,包括CPU、BMC、主板、PCIe插槽、网络管理器和PCIe插槽寄存器;所述主板中设有CPU、BMC、PCIe插槽寄存器和若干PCIe插槽;所述CPU中GPIO引脚与所述BMC中GPIO引脚连接;所述BMC中GPIO引脚和所述CPU中GPIO引脚分别连接所述PCIe插槽;所述CPU中设有网络管理器;所述网络管理器的端口连接PCIe插槽寄存器并与所述PCIe插槽对应。
见图3,第三方面,基于与前述实施例中一种控制主板插槽使能的方法同样的发明构思,本说明书实施例还提供一种控制主板插槽使能的系统,包括:匹配模块、分类模块和函数模块;
匹配模块将BMC中GPIO引脚的电平状态与主板中PCIe插槽绑定;
分类模块将BMC中的GPIO引脚分为普通GPIO引脚、触发GPIO引脚和使能GPIO引脚;
函数模块中设有事件函数,并在事件函数中配置PCIe插槽BMC中GPIO引脚以及CPU中网络管理器端口控制的PCIe插槽寄存器的对应关系,以及设有PCIe插槽函数模块,执行PCIe插槽的开关。
PCIe插槽函数模块读取普通GPIO引脚电平状态和读取使能GPIO引脚电平状态;根据普通GPIO引脚电平状态匹配PCIe插槽地址,找到PCIe插槽,根据使能GPIO引脚电平状态执行PCIe插槽的开关。
基于与前述实施例中一种控制主板插槽使能的方法同样的发明构思,本说明书实施例还提供一种控制主板插槽使能的存储介质,其上存储有计算机程序,所述计算机程序被处理器执行上述的一种控制主板插槽使能的方法的步骤。
其中,SMN网络管理器功能包括:低功耗、带外(OOB)管理服务、能力许可服务(CLS)、防盗保护、受保护的音频视频路径(PAVP);
在系统初始化时,SMN从系统闪存中加载其代码。这允许SMN在主操作系统启动之前启动。对于运行时数据存储,SMN可以访问受保护的系统内存区域。
SMN的基本功能是它的电源状态与主机OS电源状态无关。当微处理器和系统的许多其他组件处于更深层次的休眠状态时,此功能允许它出现。因此,只要将电源应用于系统,SMN就可以是一个完全功能的组件。此功能允许它从it管理控制台响应OOB命令,而不必唤醒系统的其余部分。因此,功耗大大降低。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种控制主板插槽使能的方法,其特征在于,包括:
建立事件函数以及事件函数的触发条件,根据事件函数的触发条件建立开关;
将BMC中的GPIO引脚与CPU中的GPIO引脚连接;将BMC中GPIO引脚的电平状态与主板中PCIe插槽绑定;
在事件函数中配置PCIe插槽绑定的BMC中GPIO引脚与CPU中网络管理器端口控制的PCIe插槽寄存器的对应关系;在事件函数中建立PCIe插槽函数,执行PCIe插槽的开关;
当开关开启,触发事件函数,PCIe插槽使能。
2.根据权利要求1所述的一种控制主板插槽使能的方法,其特征在于:所述BMC中的GPIO引脚包括普通GPIO引脚、触发GPIO引脚和使能GPIO引脚。
3.根据权利要求2所述的一种控制主板插槽使能的方法,其特征在于:所述普通GPIO引脚与PCIe插槽连接,普通GPIO引脚的电平状态与PCIe插槽的地址值对应;
所述触发GPIO引脚与PCIe插槽连接,根据触发GPIO引脚的电平状态触发事件函数;
所述使能GPIO引脚与PCIe插槽连接,根据使能GPIO引脚的电平状态控制PCIe插槽使能。
4.根据权利要求2所述的一种控制主板插槽使能的方法,其特征在于:所述配置PCIe插槽绑定的BMC中GPIO引脚与CPU中网络管理器端口控制的PCIe插槽寄存器的对应关系包括以下步骤:
查询主板中PCIe插槽对应的网络管理器的端口控制的PCIe插槽寄存器;
根据BMC中GPIO引脚的电平状态与主板中PCIe插槽绑定的信息,将网络管理器的端口控制的PCIe插槽寄存器与BMC中GPIO引脚的电平状态绑定。
5.根据权利要求4所述的一种控制主板插槽使能的方法,其特征在于:所述PCIe插槽函数为读取普通GPIO引脚电平状态和读取使能GPIO引脚电平状态;根据普通GPIO引脚电平状态匹配PCIe插槽地址,找到PCIe插槽,根据使能GPIO引脚电平状态执行PCIe插槽的开关。
6.根据权利要求1所述的一种控制主板插槽使能的方法,其特征在于:所述BMC中的GPIO引脚为输出引脚;所述CPU中的GPIO引脚为输入引脚。
7.一种控制主板插槽使能的装置,其特征在于,包括:CPU、BMC、PCIe插槽、网络管理器和PCIe插槽寄存器;所述CPU中GPIO引脚与所述BMC中GPIO引脚连接;所述BMC中GPIO引脚和所述CPU中GPIO引脚分别连接所述PCIe插槽;所述CPU中设有网络管理器;所述网络管理器的端口连接PCIe插槽寄存器并与所述PCIe插槽对应。
8.一种控制主板插槽使能的系统,其特征在于,包括:匹配模块、分类模块和函数模块;
所述匹配模块将BMC中GPIO引脚的电平状态与主板中PCIe插槽绑定;
所述分类模块将BMC中的GPIO引脚分为普通GPIO引脚、触发GPIO引脚和使能GPIO引脚;
所述函数模块中设有事件函数,并在事件函数中配置PCIe插槽绑定的BMC中GPIO引脚与CPU中网络管理器端口控制的PCIe插槽寄存器的对应关系,用于PCIe插槽的使能;所述函数模块中还设有PCIe插槽函数模块,用于执行PCIe插槽的开关。
9.根据权利要求8所述的一种控制主板插槽使能的系统,其特征在于:所述PCIe插槽函数模块读取普通GPIO引脚电平状态和读取使能GPIO引脚电平状态;根据普通GPIO引脚电平状态匹配PCIe插槽地址,找到PCIe插槽,根据使能GPIO引脚电平状态执行PCIe插槽的开关。
10.一种控制主板插槽使能的存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行上述权利要求1-6任一项所述的一种控制主板插槽使能的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011505015.5A CN112667544A (zh) | 2020-12-18 | 2020-12-18 | 一种控制主板插槽使能的方法、装置、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011505015.5A CN112667544A (zh) | 2020-12-18 | 2020-12-18 | 一种控制主板插槽使能的方法、装置、系统及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112667544A true CN112667544A (zh) | 2021-04-16 |
Family
ID=75406608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011505015.5A Withdrawn CN112667544A (zh) | 2020-12-18 | 2020-12-18 | 一种控制主板插槽使能的方法、装置、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112667544A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114328314A (zh) * | 2021-12-31 | 2022-04-12 | 华勤通讯香港有限公司 | 一种位址自动获取方法、装置、终端设备及存储介质 |
-
2020
- 2020-12-18 CN CN202011505015.5A patent/CN112667544A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114328314A (zh) * | 2021-12-31 | 2022-04-12 | 华勤通讯香港有限公司 | 一种位址自动获取方法、装置、终端设备及存储介质 |
CN114328314B (zh) * | 2021-12-31 | 2024-05-28 | 华勤通讯香港有限公司 | 一种位址自动获取方法、装置、终端设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100990188B1 (ko) | Mmc/sd 기기로부터 호스트 기기를 부팅시키는 방법, mmc/sd 기기로부터 부팅 가능한 호스트 기기 및 호스트 기기가 부팅되는 mmc/sd 기기 방법 | |
US7430662B2 (en) | Techniques for initializing a device on an expansion card | |
US9158628B2 (en) | Bios failover update with service processor having direct serial peripheral interface (SPI) access | |
US9052916B2 (en) | System ROM with an embedded disk image | |
WO2016074127A1 (zh) | 计算机设备及计算机设备内存启动的方法 | |
CN109426613B (zh) | 在uefi中检索调试数据的方法及其电脑系统 | |
WO2011116621A1 (zh) | 电子设备、可配置的部件及其配置信息存储方法 | |
JP2004334486A (ja) | ブートコードを用いた起動システム、及び起動方法 | |
JP2003521778A (ja) | 装置の列挙のための仮想rom | |
US11704198B2 (en) | Method and apparatus for providing recovery from a computing device boot up error | |
US8495349B2 (en) | Generating a primary BIOS code memory address and a recovery BIOS code memory address, where the recovery BIOS service code is loaded when the primary BIOS code fails to execute | |
CN109426527B (zh) | 在uefi固件及作业系统间分享蓝牙数据的电脑系统及其方法 | |
JPH07271711A (ja) | コンピュータシステム | |
US7484083B1 (en) | Method, apparatus, and computer-readable medium for utilizing BIOS boot specification compliant devices within an extensible firmware interface environment | |
US8499142B1 (en) | UEFI boot loader for loading non-UEFI compliant operating systems | |
CN112667544A (zh) | 一种控制主板插槽使能的方法、装置、系统及介质 | |
CN116627472A (zh) | 高速外围组件设备的固件程序升级方法及服务器 | |
US9778936B1 (en) | Booting a computing system into a manufacturing mode | |
WO2022199622A1 (zh) | 一种电子设备的启动程序的运行方法和电子设备 | |
CN115291951A (zh) | Uefi启动方法、装置、电子设备以及存储介质 | |
US20060155978A1 (en) | Method for initialising programmable systems | |
TWI840849B (zh) | 計算系統、電腦實施方法及電腦程式產品 | |
CN110941452B (zh) | 一种配置方法、bios芯片和电子设备 | |
US20230350755A1 (en) | Coordinated operating system rollback | |
TW202338602A (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 |
Application publication date: 20210416 |
|
WW01 | Invention patent application withdrawn after publication |