CN102096597B - 使用管理引擎的虚拟总线设备 - Google Patents

使用管理引擎的虚拟总线设备 Download PDF

Info

Publication number
CN102096597B
CN102096597B CN201010600754.2A CN201010600754A CN102096597B CN 102096597 B CN102096597 B CN 102096597B CN 201010600754 A CN201010600754 A CN 201010600754A CN 102096597 B CN102096597 B CN 102096597B
Authority
CN
China
Prior art keywords
management engine
platform
equipment
virtual
bus
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
Application number
CN201010600754.2A
Other languages
English (en)
Other versions
CN102096597A (zh
Inventor
H·M·科斯拉维
A·K·艾伦杜拉
N·M·史密斯
Y·拉希德
T·L·泽恩迪
B·K·乔恩森
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.)
MediaTek Inc
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN102096597A publication Critical patent/CN102096597A/zh
Application granted granted Critical
Publication of CN102096597B publication Critical patent/CN102096597B/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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • 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
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Abstract

一种管理引擎可被用于在引导过程期间并在引导过程之后响应于操作系统枚举俘获配置循环。因此,可创建虚拟总线设备。即使在操作系统被破坏或不起作用时,该总线设备也可被用于向平台供应软件。

Description

使用管理引擎的虚拟总线设备
背景技术
本发明一般涉及管理引擎。
管理引擎或服务处理器是被隔离且受保护的计算资源。它提供与任何已安装的操作系统无关的信息技术管理功能,包括允许对企业资产的改进管理和标准化的企业资产管理技术。它包括为客户提供管理功能的固件。它还允许系统管理员远程地管理其上具有管理引擎的平台。
管理引擎可包括主机嵌入式控制器接口(HECI),该接口是允许主机操作系统与管理引擎直接通信从而在事件中交换系统管理信息的双向总线。HECI使主机操作系统能控制其他设备,诸如作为示例的带外控制器、局域网上唤醒、以及电源设备。
该管理引擎是运行小型微核操作系统的嵌入式控制器,该小型微核操作系统为管理服务提供低功率的带外执行引擎。在系统初始化时,管理引擎从系统闪存中载入其代码。这允许其在主操作系统启动之前启动并运行。
对于运行时数据存储,除了访问少量片上高速缓存以便更快或更高效的处理之外,管理引擎还可在运行时访问受保护的存储器。在一些情况下,受保护的存储器可以是系统存储器的受保护区域。管理引擎的一个特征是其功率状态与主机操作系统功率状态无关。这允许它在系统的中央处理单元和其他部件处于深度睡眠状态时启动并运行。
因此,管理引擎可以是在一向系统供电就完全起作用的部件。这允许它对来自信息技术管理控制台的带外命令作出响应而无需唤醒系统的其他部分,从而降低了功耗。
为了使管理引擎能在无主机操作系统的时候访问网络,管理引擎使用对网络接口的直接访问。管理引擎管理服务通过使用特定和专用传输层(层4)端口将管理通信量与常规主机通信量区分开,来共享主机操作系统的网际协议地址。
在许多情况下,需要向平台供应软件。简言之,平台就是使用软件的任何基于计算机的设备。在一些情况下,在平台已被分发给终端用户之后,可能需要向平台提供更新。在其他情况下,新软件可被分发给那些用户。此外,也可提供驱动程序。
附图说明
图1是本发明的一个实施例的示意图;
图2是本发明的一个实施例的流程图;
图3是一个实施例的处理器地址空间和存储器映射的绘图;
图4是根据一个实施例的存储器映射的输入/输出空间的映射图;
图5是描述根据一个实施例确保为通用PCI设备ID供应管理引擎的示意图;以及
图6是根据一个实施例的软件供应的流程图。
具体实施方式
根据一些实施例,平台可具有可配置的虚拟总线设备,从而实现自动的固件和软件更新以及其他web服务。该通用机制可在硬件中实现,且可被用于提供可配置的虚拟总线设备,这些虚拟总线设备又可辅助软件递送。其他用途包括提供固件和驱动程序更新以及投产前的硬件设计和调试。虚拟总线设备可由管理引擎安全地实现,在该情况下虚拟总线设备与平台操作系统无关。因此,即使操作系统被破坏,也可供应更新。
参照图1,根据一个实施例,平台10可包括耦合至图形处理器(gfx)14和动态随机存取存储器(dram)16的中央处理单元12。处理器12可与总线18耦合,在一个实施例中该总线18具有外围组件互连或PCI总线,具体而言根据一个实施例该总线18可以是PCI高速(PCI-E)总线。参见可从美国俄勒冈州比弗顿市(邮编97006)的PCI-SIG(PCI特别兴趣组)获得的PCI高速(PCIe)2.0基本规范(01-15-2007)。
总线设备20可连接至总线18。此外,管理引擎核22也可耦合至总线18。管理引擎核可包括管理引擎固件26和配置总线靶(target)24。总线靶24看起来像实际总线设备,因此它使管理引擎核22能俘获在引导期间来自基本输入/输出系统(BIOS)的配置循环和在之后的枚举期间来自操作系统(OS)的配置循环二者。
参照图2,在一个实施例中,该平台独立于管理引擎首先在基本输入/输出系统的控制下在引导周期30中运行,然后在引导之后在操作系统的控制下运行。在一些实施例中,图2的序列可在固件、软件或硬件中实现。在一软件实施例中,图2的序列可使用由驻留在例如管理引擎核心22内的控制器或计算机执行的指令。这些指令由任何控制器或处理器执行,且可被存储于任何适当的存储体中,包括诸如半导体存储器、光存储器或磁存储器的计算机可读介质。
在系统引导过程期间,在基本输入/输出系统的控制下,设备枚举开始,如32所示。该平台将配置循环俘获于配置总线靶中,如34所示。在一个实施例中,该平台然后独立于管理引擎向基本输入/输出系统发送响应。针对管理引擎均匀存储器访问(UMA)区域,如36所示,基本输入/输出系统利用基址寄存器对处理器的存储器映射输入/输出(MMIO)空间编程。然后系统引导,如38所示。之后,操作系统开始其自己的总线设备枚举,如40所示。平台再次将配置循环俘获于配置总线靶42中。因此,配置总线靶使配置系统相信实际存在另一总线设备。该总线设备可被称为虚拟设备,因为它并不以其被枚举的形式存在。这允许管理引擎以在管理引擎的控制下可配置的安全方式如同总线设备一样提供服务。
管理引擎固件具有用于安全供应虚拟总线设备标识符和俘获总线配置请求的逻辑。虚拟总线设备的安全供应可使用诸如客户机发起的远程访问(CIRA)的协议,在一些实施例中管理引擎固件已支持该CIRA。因此,管理引擎固件将对经由总线硬件发送至管理引擎固件的总线配置请求作出响应。
总线配置靶设备硬件负责为管理引擎提供总线设备标识符。它担当总线靶设备,从而俘获由总线发送的总线配置请求,并将该信息发送至管理引擎固件。
在一些实施例中,图3所示的处理器地址空间或存储器包括如图所示的处理器映射输入/输出存储器空间、图形系统存储器、引导只读存储器以及也示出的常规存储器中的盘操作系统。
图4中所示的设备存储器映射的输入/输出(MMIO)空间是虚拟设备的总线配置寄存器被映射到主机存储器中的位置。该总线配置空间包括地址OOh处的从位0到15的供应商标识符46、O4h处的位16到31的设备标识符44、命令50以及状态48。在O8h,它包括分类码52。从24h到10h,它包括基址寄存器54。
参照图5,为了安全地供应管理引擎中的虚拟总线设备ID的软件、软件更新、驱动程序等(供应应用程序62),通过经由因特网向管理引擎固件预供应供应服务器60的完全合格域名(FQDN)来开始。在一个实施例中,当管理引擎固件20引导时,在第一系统引导期间,管理引擎固件可检查管理引擎固件,以查明是否已向它提供了虚拟PCI设备ID。
因此,参照图6,在70示出预供应,且在引导之后,该过程在框72对设备标识符(ID)进行序列检查。如果设备ID已存在,则该流程完成。否则,经由因特网向远程供应服务器发起连接,如74所示。任何安全机制可被用于向管理引擎供应虚拟总线设备ID、供应商ID和/或芯片组的该设备要模拟的功能ID,如框76所示。在供应完成之后,服务器从管理引擎断开,如78所示。管理引擎固件和管理引擎内的PCI靶固件现在模拟该PCI设备,如同新的硬件连接至平台一样。
因此,硬件可被用于向平台远程地供应总线设备ID以及软件更新、软件和驱动程序。因为这是通过管理引擎完成的,所以它是与主机操作系统无关的。这意味着它能与主机操作系统状态无关地操作。因为管理引擎中已存在许多部件,所以向消费者提供了相当大的价值。
在本说明书通篇中对“一个实施例”或“一实施例”的引用意味着结合该实施例描述的特定特征、结构或特性包括在本发明包含的至少一个实现中。因此,短语“一个实施例”或“在一实施例中”的出现不一定指代同一实施例。此外,特定特征、结构或特性可按照与所说明的特定实施例不同的其他适当形式来创立,而且所有此类形式可包含在本申请的权利要求中。
虽然已经关于有限个实施例描述了本发明,但本领域技术人员将会理解从中得出的多种修改和变化。所附权利要求旨在覆盖落入本发明的真实精神和范围中的所有这些修改和变化。

Claims (20)

1.一种用于实现虚拟总线设备的方法,包括:
在平台引导期间,将来自基本输入/输出系统的配置循环俘获于所述平台的管理引擎内的靶设备中;
在平台引导之后,再次将来自操作系统的配置循环俘获于所述靶设备中,以在所述平台上创建虚拟总线设备;以及
为所述虚拟总线设备,经由所述管理引擎利用基址寄存器对系统存储器映射的输入/输出空间编程。
2.如权利要求1所述的方法,其特征在于,包括使用所述虚拟总线设备来在所述平台上供应软件。
3.如权利要求2所述的方法,其特征在于,包括从供应服务器在所述平台上供应软件。
4.如权利要求1所述的方法,其特征在于,包括向管理引擎固件预供应供应服务器的域名。
5.如权利要求4所述的方法,其特征在于,在引导时检查以查明管理引擎固件是否已得到虚拟设备标识符的供应。
6.如权利要求5所述的方法,其特征在于,发起经由因特网与所述供应服务器的连接。
7.如权利要求6所述的方法,其特征在于,包括使用安全机制来供应所述虚拟设备标识符、厂商标识符或功能标识符。
8.一种用于实现虚拟总线设备的系统,包括:
用于在平台引导期间将来自基本输入/输出系统的配置循环俘获于所述平台的管理引擎内的靶设备中的装置;
用于在平台引导之后,再次将来自操作系统的配置循环俘获于所述靶设备中,以在所述平台上创建虚拟总线设备的装置;以及
用于为所述虚拟总线设备经由所述管理引擎利用基址寄存器对系统存储器映射的输入/输出空间编程的装置。
9.如权利要求8所述的系统,其特征在于,还包括用于使用所述虚拟总线设备来在所述平台上供应软件的装置。
10.如权利要求9所述的系统,其特征在于,还包括用于从供应服务器在所述平台上供应软件的装置。
11.如权利要求8所述的系统,其特征在于,还包括用于向管理引擎固件供应供应服务器的域名的装置。
12.如权利要求11所述的系统,其特征在于,还包括用于在引导时检查以查明管理引擎固件是否已得到虚拟设备标识符的供应的装置。
13.如权利要求12所述的系统,其特征在于,还包括用于发起经由因特网与所述供应服务器的连接的装置。
14.如权利要求13所述的系统,其特征在于,还包括用于使用安全机制来供应虚拟设备标识符、厂商标识符或功能标识符的装置。
15.一种用于实现虚拟总线设备的装置,包括:
处理器;
耦合至所述处理器的总线;
耦合至所述总线的管理引擎;
在所述管理引擎内的配置总线靶,所述总线靶用于在引导期间俘获来自基本输入/输出系统的配置循环并在引导之后再次俘获来自操作系统的配置循环,以在所述总线上创建虚拟总线设备;以及
存储器映射的输入/输出空间,所述存储器映射的输入/输出空间是为所述虚拟总线设备经由所述管理引擎利用基址寄存器而被编程。
16.如权利要求15所述的装置,其特征在于,所述虚拟总线设备用于在所述装置上供应软件。
17.如权利要求15所述的装置,其特征在于,所述管理引擎包括得到供应服务器的域名的预供应的固件。
18.如权利要求17所述的装置,其特征在于,所述管理引擎在引导时检查以查明所述管理引擎所包括的所述固件是否已得到虚拟设备标识符的供应。
19.如权利要求18所述的装置,其特征在于,所述管理引擎用于发起经由因特网与所述供应服务器的连接。
20.如权利要求19所述的装置,其特征在于,所述管理引擎用于使用安全机制来供应虚拟设备标识符、供应商标识符或功能标识符。
CN201010600754.2A 2009-12-14 2010-12-13 使用管理引擎的虚拟总线设备 Active CN102096597B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/636,884 2009-12-14
US12/636,884 US8762698B2 (en) 2009-12-14 2009-12-14 Virtual bus device using management engine

Publications (2)

Publication Number Publication Date
CN102096597A CN102096597A (zh) 2011-06-15
CN102096597B true CN102096597B (zh) 2015-08-19

Family

ID=44129704

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010600754.2A Active CN102096597B (zh) 2009-12-14 2010-12-13 使用管理引擎的虚拟总线设备

Country Status (5)

Country Link
US (2) US8762698B2 (zh)
EP (1) EP2363803B1 (zh)
JP (1) JP5229673B2 (zh)
KR (1) KR101292858B1 (zh)
CN (1) CN102096597B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8762698B2 (en) * 2009-12-14 2014-06-24 Intel Corporation Virtual bus device using management engine
US9367327B2 (en) 2010-09-24 2016-06-14 Intel Corporation Method to ensure platform silicon configuration integrity
CN102438007B (zh) * 2011-10-11 2015-02-04 武汉滨湖电子有限责任公司 一种雷达终端虚拟总线模块组织方法
US9172583B1 (en) * 2011-11-22 2015-10-27 Crimson Corporation Actively provisioning a managed node
US10021170B2 (en) * 2015-05-29 2018-07-10 Pure Storage, Inc. Managing a storage array using client-side services
KR101782852B1 (ko) * 2015-06-14 2017-10-23 아던트 시스템즈 아이엔씨 엔드포인트 에뮬레이션을 이용한 빈 엔드포인트 슬롯의 초기 열거법
US10534732B2 (en) * 2015-06-29 2020-01-14 Vmware, Inc. Exposing memory-mapped IO devices to drivers by emulating PCI bus and PCI device configuration space
US10157074B2 (en) * 2015-10-16 2018-12-18 Dell Products L.P. Systems and methods for multi-root input/output virtualization-based management by single service processor
US11106616B1 (en) 2019-11-21 2021-08-31 Xilinx, Inc. Virtualized peripheral component interconnect express (PCIe) device
US11256648B1 (en) 2020-09-29 2022-02-22 Xilinx, Inc. Virtual hot plug system and method for PCIe devices
US20230325198A1 (en) * 2022-04-06 2023-10-12 Dell Products L.P. Coordinated boot synchronization and startup of information handling system subsystems

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1737780A (zh) * 2004-08-19 2006-02-22 国际商业机器公司 从一个设备驱动程序向另一个传送信息的系统和方法
CN101059791A (zh) * 2006-04-21 2007-10-24 英业达股份有限公司 虚拟通用串行总线设备系统及其数据传输方法
EP2079019A1 (en) * 2007-12-31 2009-07-15 Intel Corporation System and method for dynamic partitioning and management of a multi processor system

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5898861A (en) * 1996-10-18 1999-04-27 Compaq Computer Corporation Transparent keyboard hot plug
US6629157B1 (en) * 2000-01-04 2003-09-30 National Semiconductor Corporation System and method for virtualizing the configuration space of PCI devices in a processing system
JP2002108484A (ja) * 2000-09-27 2002-04-10 I-O Data Device Inc 外部記憶装置およびコントローラ
JP2002229798A (ja) * 2001-02-06 2002-08-16 Nec Corp コンピュータシステムとそのバイオス管理方法、及びバイオス管理プログラム
US6823418B2 (en) 2001-06-29 2004-11-23 Intel Corporation Virtual PCI device apparatus and method
JP2005193414A (ja) 2003-12-26 2005-07-21 Murata Mach Ltd 複合機
JP4052265B2 (ja) * 2004-03-05 2008-02-27 日本電気株式会社 情報処理装置とデバイスドライバのロード方法並びにプログラム
JP4141409B2 (ja) 2004-06-08 2008-08-27 株式会社アイ・オー・データ機器 外付周辺機器
US7353377B2 (en) 2004-09-10 2008-04-01 Intel Corporation Remotely providing basic input/output system to a client system
US7376770B2 (en) * 2005-02-25 2008-05-20 International Business Machines Corporation System and method for virtual adapter resource allocation matrix that defines the amount of resources of a physical I/O adapter
US20060212870A1 (en) * 2005-02-25 2006-09-21 International Business Machines Corporation Association of memory access through protection attributes that are associated to an access control level on a PCI adapter that supports virtualization
US20060245533A1 (en) * 2005-04-28 2006-11-02 Arad Rostampour Virtualizing UART interfaces
TWI291654B (en) 2005-05-13 2007-12-21 Etrovision Technology Independent update device and method for embedded system
US20070011491A1 (en) * 2005-06-30 2007-01-11 Priya Govindarajan Method for platform independent management of devices using option ROMs
US7945721B1 (en) * 2006-08-11 2011-05-17 Oracle America, Inc. Flexible control and/or status register configuration
US8060874B2 (en) * 2007-01-29 2011-11-15 Symbol Technologies, Inc. Efficient provisioning of software packages to mobile handheld devices
JP2008269210A (ja) * 2007-04-19 2008-11-06 Oyo Denshi:Kk リムーバブルメモリユニットおよびコンピュータ装置
US8060760B2 (en) * 2007-07-13 2011-11-15 Dell Products L.P. System and method for dynamic information handling system prioritization
US8117346B2 (en) * 2008-10-03 2012-02-14 Microsoft Corporation Configuration space virtualization
US8762698B2 (en) * 2009-12-14 2014-06-24 Intel Corporation Virtual bus device using management engine

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1737780A (zh) * 2004-08-19 2006-02-22 国际商业机器公司 从一个设备驱动程序向另一个传送信息的系统和方法
CN101059791A (zh) * 2006-04-21 2007-10-24 英业达股份有限公司 虚拟通用串行总线设备系统及其数据传输方法
EP2079019A1 (en) * 2007-12-31 2009-07-15 Intel Corporation System and method for dynamic partitioning and management of a multi processor system

Also Published As

Publication number Publication date
KR20110068916A (ko) 2011-06-22
EP2363803A1 (en) 2011-09-07
US20140281468A1 (en) 2014-09-18
CN102096597A (zh) 2011-06-15
EP2363803B1 (en) 2018-07-11
US8762698B2 (en) 2014-06-24
JP2011123875A (ja) 2011-06-23
KR101292858B1 (ko) 2013-08-02
US9740502B2 (en) 2017-08-22
JP5229673B2 (ja) 2013-07-03
US20110145558A1 (en) 2011-06-16

Similar Documents

Publication Publication Date Title
CN102096597B (zh) 使用管理引擎的虚拟总线设备
CN101739283B (zh) 一种计算机及虚拟系统直接访问计算机硬件的方法
US20090265708A1 (en) Information Processing Apparatus and Method of Controlling Information Processing Apparatus
CN112148418A (zh) 用于访问数据的方法、装置、设备和介质
CN102385523A (zh) 一种云操作系统的驱动安装和管理方法
US20160378509A1 (en) Systems and methods for reducing bios reboots
CN104503825A (zh) 一种基于kvm混合式设备虚拟化方法
CN106095528A (zh) 一种检测虚拟机盘符的方法
CN103942088A (zh) 一种获取虚拟机usb存储设备使用情况的方法
US7644222B2 (en) Low latency event communication system and method
CN106708596B (zh) 一种输入输出虚拟化资源的调整方法及处理器
CN103677745B (zh) 一种在龙芯主板中写入和读取设备标识的方法
CN116306408B (zh) 片上系统soc的验证环境确定方法、装置、设备和存储介质
US7689728B2 (en) Method and apparatus for describing ACPI machine language in computer having multibridge PCI structure, and program thereof
CN106933575B (zh) 一种带外识别服务器资产信息的系统及方法
US7124226B2 (en) Method or apparatus for establishing a plug and play (PnP) communication channel via an abstraction layer interface
CN102708002B (zh) 管理主板管理控制器中的显卡显示的方法以及服务器
US10318459B2 (en) Peripheral device server access
CN104038551A (zh) 一种基于龙芯2h的本地及远程管理系统及其管理方法
CN209570884U (zh) 一种基于龙芯3b3000处理器的2u机架式服务器
US20110302343A1 (en) Systems and methods for providing instant-on functionality on an embedded controller
CN117632569B (zh) 一种bmc网页端pci设备信息缺失的补救方法及其装置
US11983182B2 (en) System and method to enable a data analytics in a smart data accelerator interface device
US20220129469A1 (en) System and method to enable a data analytics in a smart data accelerator interface device
US20220334863A1 (en) Storage system, installation method, and recording medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221123

Address after: China Taiwan Hsinchu Science Park Hsinchu city Dusing Road No. 1

Patentee after: MEDIATEK Inc.

Address before: California, USA

Patentee before: INTEL Corp.