CN107783920A - 用于在软件驱动器与基板管理控制器之间通信的系统、方法和计算机程序 - Google Patents

用于在软件驱动器与基板管理控制器之间通信的系统、方法和计算机程序 Download PDF

Info

Publication number
CN107783920A
CN107783920A CN201710687149.5A CN201710687149A CN107783920A CN 107783920 A CN107783920 A CN 107783920A CN 201710687149 A CN201710687149 A CN 201710687149A CN 107783920 A CN107783920 A CN 107783920A
Authority
CN
China
Prior art keywords
bmc
software driver
details
mmio
software
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.)
Granted
Application number
CN201710687149.5A
Other languages
English (en)
Other versions
CN107783920B (zh
Inventor
S·N·邓哈姆
S·科查尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Global Technologies International Ltd
Original Assignee
Lenovo Enterprise Solutions Singapore Pte Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lenovo Enterprise Solutions Singapore Pte Ltd filed Critical Lenovo Enterprise Solutions Singapore Pte Ltd
Publication of CN107783920A publication Critical patent/CN107783920A/zh
Application granted granted Critical
Publication of CN107783920B publication Critical patent/CN107783920B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus 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

Abstract

根据一个实施例,被实施在有形计算机可读介质上的计算机程序包括用于获取基板管理控制器(BMC)访问细节的计算机代码,用于利用BMC访问细节在软件驱动器和BMC之间建立通信机制的计算机代码,以及用于利用通信机制在软件驱动器和BMC之间发送请求的计算机代码。

Description

用于在软件驱动器与基板管理控制器之间通信的系统、方法 和计算机程序
技术领域
本发明涉及系统数据通信,更具体地涉及使能系统组件之间的高效通信。
背景技术
一些基于软件的驱动器可能期望向更高级别的系统管理软件报告系统管理信息以及执行它们的预期任务。可以使用基于带内OS的方法来实现该信息(诸如状态和警报)的报告。然而,至少出于效率和安全性原因,非常期望使用带外(OOB)方法来完成这些系统管理操作。
发明内容
根据一个实施例,被实施在有形计算机可读介质上的计算机程序包括用于获取基板管理控制器(BMC)访问细节的计算机代码,用于利用BMC访问细节在软件驱动器和BMC之间建立通信机制的计算机代码,以及用于利用通信机制在软件驱动器和BMC之间发送请求的计算机代码。
根据另一实施例的方法包括获取基板管理控制器(BMC)访问细节,利用BMC访问细节在软件驱动器和BMC之间建立通信机制,以及利用通信机制在软件驱动器和BMC之间发送请求。
根据另一实施例的系统包括处理器,用于获取基板管理控制器(BMC)访问细节,利用BMC访问细节在软件驱动器和BMC之间建立通信机制,以及在软件驱动器和BMC之间传递请求,包括将通信协议内容放置在由BMC和软件驱动器共享的存储器映射输入/输出(MMIO)窗口区域中,中断BMC或软件驱动器,以及使用来自由BMC和软件驱动器共享的MMIO窗口区域的通信协议内容在软件驱动器和BMC之间传递消息。
附图说明
图1示出了根据一个可能的实施例的网络架构。
图2示出了根据一个实施例的示例性系统。
图3示出了根据一个实施例的用于在软件驱动器和基板管理控制器之间通信的方法。
图4示出了根据一个实施例的使能软件驱动器和基板管理控制器之间的通信的示例性系统。
具体实施方式
以下描述出于说明本发明的一般原理的目的而进行,并不意味着限制本文所要求保护的发明构思。此外,本文描述的特定特征可以与各种可能的组合和排列中的每一种中的其它描述的特征结合使用。
除非本文另有具体定义,否则所有术语将被给予其最广泛的可能解释,包括本说明书所暗示的含义以及本领域技术人员所理解的和/或在词典、论文等中所定义的含义。
还必须注意的是,如在说明书和所附权利要求中所使用的,除非另有指明,单数形式“一”、“一个”和“该”包括复数个指示物。
图1示出了根据一个可能的实施例的网络架构100。如图所示,提供至少一个网络102。在本网络架构100的上下文中,网络102可以采取任何形式,包括但不限于电信网络、局域网(LAN)、无线网络、诸如因特网的广域网(WAN)、对等网络、有线网络等。虽然仅示出了一个网络,但是应当理解,可以提供两个或更多个相似或不同的网络102。
耦合到网络102的是多个设备。例如,为了通信目的,服务器计算机104和终端用户计算机106可以耦合到网络102。这样的终端用户计算机106可以包括台式计算机、膝上型计算机和/或任何其他类型的逻辑。然而,各种其他设备可以耦合到网络102,包括个人数字助理(PDA)设备108、移动电话设备110、电视机112等。
图2示出了根据一个实施例的示例性系统200。作为选项,系统200可以在图1的网络架构100的设备中的任何设备的上下文中实现。当然,系统200可以在任何期望的环境中实现。
如图所示,提供了系统200,其包括连接到通信总线202的至少一个中央处理器201。系统200还包括主存储器204[例如,随机存取存储器(RAM)等]。系统200还包括图形处理器206和显示器208。
系统200还可以包括辅助存储设备210。辅助存储设备210包括例如硬盘驱动器和/或可拆卸存储驱动,代表软盘驱动器、磁带驱动、紧凑盘驱动等。可拆卸存储驱动以公知的方式从可拆卸存储单元读取和/或向可拆卸存储单元写入。
就此而言,计算机程序或计算机控制逻辑算法可以被存储在主存储器204、辅助存储设备210和/或任何其他存储器中。这样的计算机程序在被执行时使得系统200能够执行各种功能(例如,将在下面被阐述)。存储器204、存储设备210、易失性或非易失性存储设备和/或任何其它类型的存储设备是非瞬态计算机可读介质的可能示例。
图3示出了根据一个实施例的用于在软件驱动器和基板管理控制器之间通信的方法300。作为选项,方法300可以在图1-2和图4的细节的上下文中被执行。然而,方法300当然可以在任何期望的环境中被执行。此外,上述定义同样应用于下面的描述。
如操作302所示,基板管理控制器(BMC)访问细节被获取。在一个实施例中,BMC访问细节可以由软件驱动器获取。例如,软件驱动器可以包括向相关联的系统的一个或多个元件提供软件接口的计算机程序。在另一示例中,软件驱动器可以使得能够访问计算设备的一个或多个元件。
另外,在一个实施例中,软件驱动器可以不直接附接到系统内的其自己的硬件元件。在另一实施例中,软件驱动器可以包括伪硬件驱动器。例如,软件驱动器可以向BMC报告系统管理信息、库存信息、状态、警报等中的一项或多项,BMC然后可以由远程高级别软件访问。在另一示例中,软件驱动器可以经由与BMC通信从远程高级别软件接收信息(例如,诸如硬件配置等的配置信息)。
此外,在一个实施例中,BMC可以包括系统内的辅助控制器。例如,BMC可以包括与系统内的中央处理单元(CPU)分离的辅助控制器。在另一示例中,BMC可以包括监视硬件设备(例如,系统等)的物理状态的专用服务处理器。在又一示例中,BMC可以利用硬件内的一个或多个传感器(例如,温度传感器、电压读数等)。
此外,在一个实施例中,BMC访问细节可以在系统初始化期间由统一的可扩展固件接口(UEFI)获取。在另一实施例中,UEFI可以将BMC访问细节写入原始设备制造商(OEM)高级配置和功率接口(ACPI)表。例如,OEM ACPI表可以在系统初始化期间但在操作系统(OS)引导之前由UEFI创建。在另一实施例中,BMC访问细节可以包括多个访问信息。例如,BMC访问细节可以包括PCI-IRQ(PIRQ)中断信息、存储器映射输入/输出(MMIO)窗口细节、BMC硬件设备信息等中的一项或多项。
而且,在一个实施例中,软件驱动器可以从OEM ACPI表获取BMC访问细节。例如,当软件驱动器被加载时,软件驱动器可以从OEM ACPI表获取BMC访问详细信息。
另外,如操作304所示,利用BMC访问细节,软件驱动器和BMC之间的通信机制被建立。在一个实施例中,建立通信机制可以包括由软件驱动器利用BMC访问细节来使能与BMC的通信。例如,利用BMC访问细节,软件驱动器可以获取对BMC的MMIO窗口的访问,使得MMIO窗口可以由BMC和软件驱动器两者共享。在另一示例中,利用BMC访问细节,软件驱动器可以钩住系统内的PIRQ中断(例如,在系统的现场可编程门阵列(FPGA)内等),使得PIRQ中断可以被用于向软件驱动器通知来自BMC的请求。
此外,在一个实施例中,通信机制可以包括软件驱动器与BMC通信的手段以及BMC与软件驱动器通信的手段。在另一实施例中,BMC访问细节可以描述软件驱动器和BMC之间的通信路径。以这种方式,软件驱动器可以利用BMC访问细节来向OS描述BMC,使得软件驱动器能够要求BMC的所有权并正确加载。
此外,如操作306所示,利用通信机制,在软件驱动器和BMC之间发送请求。在一个实施例中,请求可以包括系统管理请求。在另一实施例中,请求可以由BMC发起。例如,BMC可以将通信协议内容放置在与软件驱动器共享的MMIO窗口区域中。在另一示例中,BMC可以通过触发适当的PIRQ来中断软件驱动器。在另一示例中,BMC可以使用来自共享的MMIO窗口区域的通信协议内容将请求和响应数据传递到软件驱动器。
而且,在一个实施例中,请求可以由软件驱动器发起。例如,软件驱动器可以将通信协议内容放置在与BMC共享的MMIO窗口区域中。在另一示例中,软件驱动器可以利用门铃位来中断BMC。在又一示例中,软件驱动器可以使用来自共享的MMIO窗口区域的通信协议内容将请求和响应数据传递到BMC。
以这种方式,软件驱动器可以直接与BMC进行通信。这可以消除对BMC的设备驱动器的需要。远程系统管理软件可以与BMC通信OOB以间接与软件驱动器交互。此外,由于没有与主机操作系统的系统管理软件交互,因此较少的管理实用程序开发可以是必要的。此外,也可以避免与主机操作系统交互相关的安全风险。
现在将根据用户的期望阐述关于各种可选架构和使用的更多说明性的信息,其中前述方法可以被实现或可以不被实现。应该强调指出,以下信息出于说明的目的而被阐述,并且不应被解释为以任何方式限制。任何以下特征可以可选地与所描述的其它特征合并或不排除所描述的其它特征。
图4示出了根据一个实施例的使能软件驱动器402和基板管理控制器(BMC)404之间的通信的示例性系统400。如图4所示,系统400包括统一的可扩展固件接口(UEFI)406以及操作系统(OS)高级配置和功率接口(ACPI)表408,其包括原始设备制造商(OEM)高级配置和功率接口(ACPI)表410。
在一个实施例中,在系统400的初始化期间,并且在引导OS之前,UEFI 406可以获得对BMC 404的访问细节。在一个实施例中,对BMC 404的访问细节可以包括与BMC 404通信所必要的信息。表1示出了根据一个实施例的示例性访问细节。当然,应当注意,表1所示的访问细节仅出于说明的目的而被阐述,并且因此不应被解释为以任何方式限制。
表1
·使用PIRQ
这可以指示当发起系统的管理任务时,哪个可共享的PIRQ(A,B,C或D)将被BMC触发以中断软件驱动器402。该PIRQ可以由软件驱动器402钩住。BMC 404可以具有PIRQ 416能力,其可以由现场可编程门阵列(FPGA)412提供。
·MMIO窗口细节
这可以示出用于软件驱动器402和BMC 404之间的信息传递的MMIO窗口414的MMIO地址范围。这可以包括由软件驱动器402从主机存储器地址空间或由BMC 404从BMC存储器地址空间可访问的双端口存储器窗口。其还将指示哪一位将被用作门铃位418以针对发起系统管理任务的软件驱动器402中断BMC 404。另外,可以基于要在软件驱动器402和BMC404之间使用的通信协议来描述更细粒度的窗口子字段(例如信号量位、输入字段、返回数据字段等)。
·BMC硬件设备信息
这可以用于描述包含MMIO窗口414的BMC 404功能的PCI功能细节(例如,地址,PCIID等)。这可能是需要的,以便软件驱动器402要求MMIO窗口402和PIRQ 416的所有权。
另外,在一个实施例中,UEFI 406可以然后将BMC 404访问细节写入OEM ACPI表410。在另一实施例中,软件驱动器402可以然后被加载并且可以从OEM ACPI表410获取BMC404访问细节。在又一实施例中,软件驱动器402然后可以获取对MMIO窗口414的访问并且可以使用从OEM ACPI表410获取的BMC 404访问细节钩住PIRQ 416。
以这种方式,在软件驱动器402初始化期间,软件驱动器402可以获知软件驱动器402和BMC 404之间的通信路径的细节。可以使用异步中断而不是轮询方法来提高性能。软件驱动器402可以访问包含必要通信信息的OEM ACPI表410。在OS引导之前的系统初始化期间,该表可以由UEFI 406创建。UEFI 406可以与BMC 404交互以获取用以填充表的必要信息。
此外,在一个实施例中,BMC 404可以发起与软件驱动器402的通信。例如,BMC 404可以根据建立的通信协议(例如,BMC 404访问细节中详细描述的通信协议等)建立MMIO窗口414。例如,BMC 404可以使用在OEM ACPI表410中列出的MMIO窗口414细节。BMC 404还可以将通信协议内容(例如,系统管理请求等)放置在共享的MMIO窗口414中。
此外,在另一示例中,BMC 404可以请求在FPGA 412处断言PIRQ 416。例如,BMC404可以使用在OEM ACPI表410中列出的PIRQ 416信息。此外,FPGA 412可以包括使用硬件描述语言配置的集成电路。在又一示例中,FPGA 412然后可以断言PIRQ 416以便中断软件驱动器402(例如,经由软件驱动器402处的IRQ钩子420等)。在又一示例中,软件驱动器402然后可以访问共享的MMIO窗口414以获取通信协议内容(例如,系统管理请求等)。
以这种方式,软件驱动器402可以从BMC 404接收通信中断,因为软件驱动器402可以钩住OEM ACPI表410中指示的PIRQ 416。BMC 404可以在将通信协议内容放置在共享的MMIO窗口414中之后触发PIRQ 416。然后使用MMIO窗口414的预定义通信协议可以被用来传递实际请求和响应数据。
而且,在一个实施例中,可以利用所建立的通信协议来执行BMC 404与软件驱动器402之间的进一步交互。在另一实施例中,软件驱动器402可以包括跨多个盘实现软件控制的独立磁盘冗余阵列(RAID)的RAID驱动器。然后,BMC 404请求可以包括用以获取当前RAID配置、卷容量等的请求。在另一实施例中,BMC 404可以向OS应用告警由BMC 404监视的环境事件。例如,BMC 404可以向软件驱动器402发送环境警报状况,然后一个或多个OS应用程序可以经由软件驱动器402访问该警报状况(例如,作为订阅服务的一部分等)。
另外,在一个实施例中,软件驱动器402可以发起与BMC 404的通信。例如,软件驱动器402可以根据所建立的通信协议(例如,在BMC 404访问细节中详细描述的通信协议等)来建立MMIO窗口414。例如,软件驱动器402可以使用在OEM ACPI表410中列出的获取的MMIO窗口414细节。软件驱动器402还可以将通信协议内容(例如,系统管理请求等)放置在共享的MMIO窗口414中。
此外,在另一示例中,软件驱动器402可以设置MMIO窗口414的门铃位418。该更新的门铃位418可能在其环境中对BMC 404造成中断。在又一示例中,BMC 404然后可以访问MMIO窗口414以获得通信协议内容(例如,系统管理请求等)。
以这种方式,软件驱动器402可以在共享的MMIO窗口414中建立必要的数据,并且然后可以设置门铃位418以在其环境中中断BMC 404。然后,BMC 404可以使用共享的MMIO窗口414的预定义的通信协议来处理该请求并返回任何响应数据。
而且,在一个实施例中,BMC 404与软件驱动器402之间的进一步交互可以利用建立的通信协议来执行。例如,BMC 404还可以在MMIO窗口414中使用通信协议来处理请求并返回任何响应数据。在另一实施例中,如果软件驱动器402包括RAID驱动器,则软件驱动器402可以向BMC 404发送警报(例如,配置更新等)。
以这种方式,通过使用带外(OOB)方法,远程系统的管理实用程序可以识别状态和警报,而不需要带内与OS接口。此外,可以需要较少的开发,因为与支持每个主机OS的不同交互相反,只需要与BMC 404的OOB交互。此外,在不需要BMC 404设备驱动器的情况下,可以提供用于软件驱动器402与BMC 404交互的机制。
显然,上述系统和/或方法的各种特征可以以任何方式组合,从以上呈现的描述创建多种组合。
尽管上面已经描述了各种实施例,但是应当理解,它们仅仅已经通过示例而非限制性的方式被呈现。因此,优选实施例的宽度和范围不应受到任何上述示例性实施例的限制,而应仅根据所附权利要求及其等同物来限定。

Claims (20)

1.一种被实施在有形计算机可读介质上的计算机程序,包括:
用于获取基板管理控制器(BMC)访问细节的计算机代码;
用于利用所述BMC访问细节在软件驱动器和所述BMC之间建立通信机制的计算机代码;以及
用于利用所述通信机制在所述软件驱动器和所述BMC之间发送请求的计算机代码。
2.根据权利要求1所述的计算机程序,其中所述请求由所述BMC发起,其中:
所述BMC将通信协议内容放置在与所述软件驱动器共享的存储器映射输入/输出(MMIO)窗口区域中;
所述BMC通过触发PCI-IRQ(PIRQ)来中断所述软件驱动器;并且
所述BMC使用来自与所述软件驱动器共享的所述MMIO窗口区域的所述通信协议内容将所述请求传递到所述软件驱动器。
3.根据权利要求1所述的计算机程序,其中所述请求由所述软件驱动器发起,其中:
所述软件驱动器将通信协议内容放置在与所述BMC共享的存储器映射输入/输出(MMIO)窗口区域中;
所述软件驱动器利用门铃位来中断所述BMC;并且
所述软件驱动器使用来自与所述BMC共享的所述MMIO窗口区域的所述通信协议内容将所述请求传递到所述BMC。
4.根据权利要求1所述的计算机程序,其中所述BMC访问细节包括PCI-IRQ(PIRQ)中断信息、存储器映射输入/输出(MMIO)窗口细节和BMC硬件设备信息。
5.根据权利要求1所述的计算机程序,其中,利用所述BMC访问细节,所述软件驱动器获取对所述BMC的存储器映射输入/输出(MMIO)窗口的访问,使得所述MMIO窗口由所述BMC和所述软件驱动器两者共享。
6.根据权利要求1所述的计算机程序,其中,利用所述BMC访问细节,所述软件驱动器钩住PCI-IRQ(PIRQ)中断,使得所述PIRQ中断被用于向所述软件驱动器通知来自所述BMC的请求。
7.根据权利要求1所述的计算机程序,其中所述BMC访问细节在系统的初始化期间由统一的可扩展固件接口(UEFI)获取。
8.根据权利要求7所述的计算机程序,其中所述UEFI将所述BMC访问细节写入原始设备制造商(OEM)高级配置和功率接口(ACPI)表。
9.根据权利要求8所述的计算机程序,其中当所述软件驱动器被加载时,所述软件驱动器从所述OEM ACPI表获取所述BMC访问细节。
10.一种方法,包括:
获取基板管理控制器(BMC)访问细节;
利用所述BMC访问细节在软件驱动器和所述BMC之间建立通信机制;以及
利用所述通信机制在所述软件驱动器和所述BMC之间发送请求。
11.根据权利要求10所述的方法,其中所述请求由所述BMC发起,其中:
所述BMC将通信协议内容放置在与所述软件驱动器共享的存储器映射输入/输出(MMIO)窗口区域中;
所述BMC通过触发PCI-IRQ(PIRQ)来中断所述软件驱动器;并且
所述BMC使用来自与所述软件驱动器共享的所述MMIO窗口区域的所述通信协议内容将所述请求传递到所述软件驱动器。
12.根据权利要求10所述的方法,其中所述请求由所述软件驱动器发起,其中:
所述软件驱动器将通信协议内容放置在与所述BMC共享的存储器映射输入/输出(MMIO)窗口区域中;
所述软件驱动器利用门铃位来中断所述BMC;并且
所述软件驱动器使用来自与所述BMC共享的所述MMIO窗口区域的所述通信协议内容将所述请求传递到所述BMC。
13.根据权利要求10所述的方法,其中所述BMC访问细节包括PCI-IRQ(PIRQ)中断信息、存储器映射输入/输出(MMIO)窗口细节和BMC硬件设备信息。
14.根据权利要求10所述的方法,其中,利用所述BMC访问细节,所述软件驱动器获取对所述BMC的存储器映射输入/输出(MMIO)窗口的访问,使得所述MMIO窗口由所述BMC和所述软件驱动器两者共享。
15.根据权利要求10所述的方法,其中,利用所述BMC访问细节,所述软件驱动器钩住PCI-IRQ(PIRQ)中断,使得所述PIRQ中断被用于向所述软件驱动器通知来自所述BMC的请求。
16.根据权利要求10所述的方法,其中所述BMC访问细节在系统的初始化期间由统一的可扩展固件接口(UEFI)获取。
17.根据权利要求16所述的方法,其中所述UEFI将所述BMC访问细节写入原始设备制造商(OEM)高级配置和功率接口(ACPI)表。
18.根据权利要求17所述的方法,其中当所述软件驱动器被加载时,所述软件驱动器从所述OEM ACPI表获取所述BMC访问细节。
19.一种系统,包括:
处理器,用于:
获取基板管理控制器(BMC)访问细节;
利用所述BMC访问细节在软件驱动器和所述BMC之间建立通信机制;以及
在所述软件驱动器和所述BMC之间发送请求,包括:
将通信协议内容放置在由所述BMC和所述软件驱动器共享的存储器映射输入/输出(MMIO)窗口区域中;
中断所述BMC或所述软件驱动器;以及
使用来自由所述BMC和所述软件驱动器共享的所述MMIO窗口区域的所述通信协议内容在所述软件驱动器和所述BMC之间传递所述消息。
20.根据权利要求19所述的系统,其中所述处理器经由总线被耦合至存储器。
CN201710687149.5A 2016-08-25 2017-08-11 用于在软件驱动器与基板管理控制器之间通信的系统、方法和计算机程序 Active CN107783920B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/247,761 US9804905B1 (en) 2016-08-25 2016-08-25 System, method, and computer program for communicating between a software driver and a baseboard management controller
US15/247,761 2016-08-25

Publications (2)

Publication Number Publication Date
CN107783920A true CN107783920A (zh) 2018-03-09
CN107783920B CN107783920B (zh) 2021-01-08

Family

ID=60142694

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710687149.5A Active CN107783920B (zh) 2016-08-25 2017-08-11 用于在软件驱动器与基板管理控制器之间通信的系统、方法和计算机程序

Country Status (2)

Country Link
US (1) US9804905B1 (zh)
CN (1) CN107783920B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10747549B2 (en) * 2017-07-19 2020-08-18 Hewlett Packard Enterprise Development Lp Proxy application to transfer application protocol requests over IOCTL commands

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7426728B2 (en) * 2003-09-24 2008-09-16 Hewlett-Packard Development, L.P. Reducing latency, when accessing task priority levels
CN101771565A (zh) * 2009-01-05 2010-07-07 英业达集团(天津)电子技术有限公司 单一服务器实现大批量或不同种基板管理控制器模拟方法
CN102271153A (zh) * 2010-06-03 2011-12-07 英特尔公司 用于虚拟化tpm访问的系统、方法以及装置
US20130138856A1 (en) * 2011-11-24 2013-05-30 Huawei Technologies Co., Ltd. Method and apparatus for node hot-swapping
US20130138934A1 (en) * 2011-11-29 2013-05-30 International Business Machines Corporation Loading configuration information
US20140207991A1 (en) * 2013-01-24 2014-07-24 Qualcomm Innovation Center, Inc. Hardware accelerated communications over a chip-to-chip interface
CN104348645A (zh) * 2013-07-31 2015-02-11 鸿富锦精密工业(深圳)有限公司 服务器和服务器传送数据的方法
CN104601373A (zh) * 2015-01-05 2015-05-06 浪潮电子信息产业股份有限公司 一种通过带外方式设置和同步bios配置参数的方法
US20150331694A1 (en) * 2014-05-14 2015-11-19 American Megatrends, Inc. Installation of operating system on host computer using virtual storage of bmc

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7007160B1 (en) * 2002-12-03 2006-02-28 Hewlett-Packard Development Company, L.P. System and method for loading an advanced configuration and power interface (ACPI) original equipment manufacturer (OEM) description table
US9612846B2 (en) * 2015-06-10 2017-04-04 Dell Products, L.P. Out-of-band (OOB) real-time inventory and configuration of original equipment manufacturer (OEM) devices using advanced configuration and power interface (ACPI) and unified extensible firmware interface (UEFI) services

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7426728B2 (en) * 2003-09-24 2008-09-16 Hewlett-Packard Development, L.P. Reducing latency, when accessing task priority levels
CN101771565A (zh) * 2009-01-05 2010-07-07 英业达集团(天津)电子技术有限公司 单一服务器实现大批量或不同种基板管理控制器模拟方法
CN102271153A (zh) * 2010-06-03 2011-12-07 英特尔公司 用于虚拟化tpm访问的系统、方法以及装置
US20130138856A1 (en) * 2011-11-24 2013-05-30 Huawei Technologies Co., Ltd. Method and apparatus for node hot-swapping
US20130138934A1 (en) * 2011-11-29 2013-05-30 International Business Machines Corporation Loading configuration information
US20140207991A1 (en) * 2013-01-24 2014-07-24 Qualcomm Innovation Center, Inc. Hardware accelerated communications over a chip-to-chip interface
CN104348645A (zh) * 2013-07-31 2015-02-11 鸿富锦精密工业(深圳)有限公司 服务器和服务器传送数据的方法
US20150331694A1 (en) * 2014-05-14 2015-11-19 American Megatrends, Inc. Installation of operating system on host computer using virtual storage of bmc
CN104601373A (zh) * 2015-01-05 2015-05-06 浪潮电子信息产业股份有限公司 一种通过带外方式设置和同步bios配置参数的方法

Also Published As

Publication number Publication date
US9804905B1 (en) 2017-10-31
CN107783920B (zh) 2021-01-08

Similar Documents

Publication Publication Date Title
US7519167B2 (en) System and method for communicating system management information during network interface teaming
US9804881B2 (en) System and method for resizing a virtual desktop infrastructure using virtual desktop infrastructure monitoring tools
US10110691B2 (en) Systems and methods for enabling virtual keyboard-video-mouse for external graphics controllers
CN107818021A (zh) 使用bmc作为代理nvmeof发现控制器向主机提供nvm子系统的方法
US8375200B2 (en) Embedded device and file change notification method of the embedded device
US11218543B2 (en) System and method to configure, manage, and monitor stacking of Ethernet devices in a software defined network
US10425287B2 (en) Systems and methods for network topology discovery
EP3035187A1 (en) Hard disk and management method
US20130254566A1 (en) Platform Independent Management Controller
CN105308553A (zh) 动态提供存储
US10877553B2 (en) Systems and methods for power control based on power consumption of storage devices
US10285033B2 (en) System and method for propagation of server information in a data center with master system election
US9384525B2 (en) Systems and methods for providing pre-operating system and post-operating system remote management of information handling system
US20160241432A1 (en) System and method for remote configuration of nodes
US20150358213A1 (en) Systems and methods for sharing a single firmware image in a chassis configured to receive a plurality of modular information handling systems
CN107783920A (zh) 用于在软件驱动器与基板管理控制器之间通信的系统、方法和计算机程序
US20190018129A1 (en) Speed detection device and communicable coupled virtual display
US10579575B2 (en) Systems and methods of management console user interface pluggability
US11270666B1 (en) Synchronizing preferences between multiple displays
US10075398B2 (en) Systems and methods for enabling a host system to use a network interface of a management controller
US11150718B2 (en) System and method for stepwise enablement of a cache memory in an information handling system
US10402357B1 (en) Systems and methods for group manager based peer communication
US11593121B1 (en) Remotely disabling execution of firmware components
US20170118293A1 (en) Method and system for efficient task management
US20170111171A1 (en) Systems and methods for revoking and replacing signing keys

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
TR01 Transfer of patent right

Effective date of registration: 20220401

Address after: 23 / F, Lincoln building, 979 King's road, Quarry Bay, Hong Kong, China

Patentee after: Lenovo Global Technology International Co.,Ltd.

Address before: Singapore City

Patentee before: Lenovo Enterprise Solutions (Singapore) Pte. Ltd.

TR01 Transfer of patent right