虚拟化掉电的输入/输出装置的制作方法

文档序号:6341515阅读:173来源:国知局
专利名称:虚拟化掉电的输入/输出装置的制作方法
技术领域
本公开属于信息处理领域,更具体地说,属于信息处理系统中的虚拟化领域。
背景技术
许多个人计算机和其它信息处理系统支持“即插即用”特征,该特征在系统通电时的许多情况下,允许输入/输出(“I/O”)装置添加到系统被自动检测到以及被投入使用。 许多这种系统的另一个特征是省电特征在未使用的一定时期之后,自动地或选择性地将系统的一些部分、例如I/O装置置于低功率或掉电(powered-down)状态。

发明内容
按照本发明的一个方面,提供一种设备,包括第一存储位置,用于存储输入/输出装置不可达的指示;解码器,用于对定向到所述输入/输出装置的配置事务解码,并且如果所述第一存储位置的内容指示所述输入/输出装置不可达,则将所述配置事务重定向到其它目标。按照本发明的另一方面,提供一种方法,包括接收定向到输入/输出装置的第一配置事务;确定所述输入/输出装置不可用;以及将所述第一配置事务重定向到其它目标。按照本发明的又一方面,提供一种系统,包括第一输入/输出装置;处理器,用于发起定向到所述第一输入/输出装置的配置事务;第一存储位置,用于存储所述输入/输出装置不可达的指示;解码器,用于对所述配置事务解码,并且如果所述第一存储位置的内容指示所述输入/输出装置不可达,则将所述配置事务重定向到其它目标。


在附图中通过示例而非限定的方式来说明本发明。图1说明按照本发明的一个实施例包含I/O装置的虚拟化的系统。图2说明按照本发明的一个实施例用来虚拟化I/O装置的设备。图3说明按照本发明的一个实施例用来虚拟化I/O装置的方法。图4说明按照本发明的一个实施例用来虚拟化I/O装置的方法。图5说明按照本发明的一个实施例用来执行特殊解码的方法。
具体实施例方式描述了用来虚拟化输入/输出装置的系统、设备和方法的实施例。在本描述中,可能提出诸如部件和系统配置之类的许多具体细节,以便提供对本发明的更全面理解。然而,本领域的技术人员会理解,没有这些具体细节也可实施本发明。另外,没有详细地说明一些众所周知的结构、电路等等,以避免不必要地使本发明含糊不清。本发明的实施例为虚拟化信息处理系统中的I/O装置而提供,使得装置可以较少的延迟在不同功率状态之间切换。例如,一个实施例为要被虚拟化的分立图形控制器而提供,使得在图形控制器掉 电后再次开始使用它所需要的时间可明显减少。因此,本发明的实施例可能对于提供更令人满意的用户体验以及更常使用省电特征的更大可能性是所希望的。图1说明本发明在系统中、特别是在信息处理系统100中的一个实施例。信息处理系统100可以是能够执行任何软件或固件的任何信息处理设备。例如,信息处理系统100 可表示个人计算机、大型计算机、便携式计算机、手持装置、机顶盒、服务器或者任何其它计算系统。信息处理系统100包括处理器Iio和120、系统存储器130、存储器控制集线器 (“MCH”)140、外设控制器集线器(“PCH”)或I/O控制集线器("ICH") 150以及I/O装置 160。处理器110和120、系统存储器130,MCH 140、ICH 150和I/O装置160可按照诸如直接或间接通过一条或多条总线、点到点、或者其它有线或无线连接之类的任何已知方式相互耦合或通信。信息处理系统100也可包括任何数量的附加部件或连接。此外,信息处理系统100中的部件可被集成到或结合到任何数量的芯片或封装中。例如,MCH 140可被集成到包含处理器110和120中的一个或两个处理器的芯片或封装中。处理器ι ο和120可以是任何类型的处理器,包括通用微处理器,诸如来自Intel 公司的Intel Pentium 处理器系列、Itanium 处理器系列、Core 处理器系列或其它处理器系列中的处理器,或者来自另一公司的另一处理器,或者数字信号处理器或微控制器。处理器Iio和120可各自包括任何组合的多个线程和多个执行核。虽然图ι示出两个处理器,但是信息处理系统100可包括仅单个处理器或任何数量的处理器。系统存储器130可以是静态或动态的随机存取存储器,或者处理器110和120可读的任何其它类型的介质,或者这类介质的任何组合。系统存储器130可包括存储器区域 132,如下所述。MCH 140可包括控制系统存储器130与信息处理系统100中的任何其它部件(诸如处理器110和120)之间信息传递的任何逻辑、电路或其它硬件。MCH 140也可包括任何其它逻辑、电路或其它硬件,用来执行任何其它功能,诸如传递和/或转换事务和/或在ICH 150和处理器110和120和系统存储器130之间的其它通信。ICH 150可包括逻辑、电路或其它硬件,用来管理可被集成到ICH 150中和/或可与ICH 150通信的信息处理系统100中的系统逻辑、外设和I/O装置,并且控制这些装置与信息处理系统100中的任何其它部件(诸如处理器110和120和系统存储器130)之间信息的传递。ICH 150也可包括任何其它逻辑、电路或其它硬件,用来执行任何其它功能,诸如传递和/或转换事务和/或在MCH 140与任何外设、I/O装置或信息处理系统100中的其它部件之间的其它通信。I/O装置160可表示任何I/O或外围装置和/或用于任何这种装置的控制器或适配器。I/O装置160可被集成到ICH 150中或者与ICH 150分开。在一个实施例中,I/O装置160可以是与ICH 150分开的分立图形控制器。在另一个实施例中,I/O装置160可以是分立音频控制器。
回到MCH 140,MCH 140可包括下游I/O装置142,该I/O装置142可表示任何I/ 0或外围装置和/或用于任何这种装置的控制器或适配器。下游I/O装置142可以是可执行类似于或替代I/O装置160执行的功能的功能的装置。此外,下游I/O装置142可以更低功耗来执行该功能,但是也具有更低的性能。例如,在其中I/O装置160是分立图形控制器的一个实施例中,下游I/O装置142可以是集成到MCH 140、ICH 150或任何其它部件或芯片组中的集成图形控制器。在这个实施例中,分立图形控制器160可提供比集成图形控制器142更好的性能,但是具有更高的功耗。因此,当在系统100上运行一个不需要或不明显受益于高性能图形控制器的应用时,让分立图形控制器160掉电并且 使用集成图形控制器142代替可能是符合需要的。图2说明本发明在设备中,特别是在可对应于图1中的MCH 140的MCH 200中的一个实施例。MCH 200可包括存储位置210、解码器220和接口单元230。存储位置210可包括许多不同大小的存储位置,它们按照本发明的实施例用于不同目的,如下所述。这些存储位置中的每一个可以是寄存器或任何其它存储位置,用来存储一个或多个信息位。在其中部件按照外围部件互连(“PCI”)或PCI Express规范通过事务来相互通信的一个实施例中,这些存储位置中的一个或多个可以在MCH 200中的PCI配置空间寄存器内。这里描述的每个不同存储位置的一个或多个实例可用于本发明的实施例中;例如,对于可按照本发明的一个实施例来虚拟化的每个装置,可以有每个不同存储空间的一个实例。此外,这些存储位置中的任一个或全部在本发明的其它实施例中可位于不同于MCH 200的部件中。特殊解码存储位置212和214可用来存储是否对于装置启用了这里描述的特殊解码的指示。在一个实施例中,特殊解码存储位置212和214可一起构成八位寄存器,其中存储位置212对应于寄存器的最低位位置(“位0”),并且可被设置为1值以指示特殊解码被启用,以及被清除为0值以指示特殊解码未被启用。该位可称作特殊解码位212。特殊解码存储位置214可对应于八位寄存器的剩余7位位置,可用来存储将被虚拟化的装置的标识符,例如,按照PCI总线、装置、功能(“BDF”)标识系统,位2和1可用于总线标识符,位4 和3可用于装置标识符,以及位7、6和5可用于功能标识符。这些位可称作特殊解码装置 ID 214。在这个实施例中,特殊解码装置ID 214可以用I/O装置160的BDF来编程。基址存储位置216可用来存储信息,例如,可存储用于虚拟化装置的配置信息的存储器区域132的基址。用于装置的术语“配置信息”指的是存储在I/O装置的配置空间中的信息,包括有关该装置的身份和初始化的信息,使得诸如操作系统或虚拟机监视器之类的系统软件可识别和初始化该装置。例如,配置空间可存储信息,操作系统可用该信息来发现装置,为之分配存储器、I/O和中断资源,使得系统100的用户可通过其装置驱动器和操作系统来使用该装置。在一个实施例中,配置信息可用来支持系统100中的即插即用 (“PnP”)特征。在一个实施例中,基址存储位置216可以是用来存储存储器区域132的基址的基址寄存器(“BAR”)。存储器区域132的大小在本发明的不同实施例中可以不同,并且该大小可以在一些实施例中是固定的,而在其它实施例中是可变的。在其中I/O装置160是PCI 装置的一个实施例中,该大小可以是256字节。在其中I/O装置160是PCI Express装置的一个实施例中,该大小可以是4千字节。因此,由BAR 216定义的存储器区域的大小可以大得足以为I/O装置160存储PCI或PCI Express配置信息的至少一部分。例如,存储器区域132可以是被操作系统读取以便为PnP特征发现装置的PCI或PCI Express装置的配置空间的区域的大小。装置的配置空间中的该特定区域在此可称为PnP配置空间。 下游装置存储位置218可用来存储用于标识被指定为虚拟化装置存储配置信息的装置的信息。例如,当I/O装置160按照本发明的一个实施例被虚拟化时,下游I/O装置 142可被指定为I/O装置160存储配置信息。因此,下游I/O装置142的BDF可被存储在下游装置存储位置218中。解码器220可包括对在系统100中的部件之间的事务中包含的地址连同事务类型 (“例如,存储器、I/O或配置”)解码的任何逻辑、电路或其它硬件。解码器可包括特殊解码逻辑222,用于将针对I/O装置160的某些事务重定向到不同的目标。在一个实施例中, 特殊解码逻辑222可如下操作。当特殊解码位212的值为0时,特殊解码逻辑222可识别针对I/O装置160的PnP配置空间的事务,并且把它们定向到I/O装置160。然而,当特殊解码位212的值为1时,特殊解码逻辑222可识别针对I/O装置160的PnP配置空间的事务,并且把它们定向到存储器区域132。因此,事务数据可被存储在存储器区域132中或从存储器区域132检索,而不是存储在I/O装置160中或从其中检索。在另一个实施例中,特殊解码逻辑222可如下操作。当特殊解码位212的值为0时,特殊解码逻辑222可识别针对I/O装置160的PnP配置空间的事务,并且把它们定向到I/O装置160。然而,当特殊解码位242的值为1时,特殊解码逻辑222可识别针对I/O装置160的PnP配置空间的事务, 并且把它们定向到下游I/O装置142。因此,事务数据可被存储在下游I/O装置142中或从下游I/O装置142检索,而不是存储在I/O装置160中或从其中检索。解码器220和/或特殊解码逻辑222,虽然在图2所示的本发明实施例中位于MCH 200内,但是在其它实施例中可以与MCH 200分开。接口单元230可包括与MCH 200之间和/或与MCH 200内的功能单元或其它结构之间传递信号的任何逻辑、电路或其它硬件。因此,接口单元230可包括或可支持任何数量的输入引脚、输出引脚、双向引脚和/或内部信号线以及关联的电路。在本发明的范围内,MCH 200可包括图2中所示特征中的一些或全部,并且可包括所期望的任何附加特征。此外,所示和/或其它逻辑、电路或其它硬件中的任一个可按照任何方式被包括在和/或安排在MCH200中,或从其中省略。另外,图2中在MCH 200内所示的特征在本发明的其它实施例中可与MCH 200分开。图3、4和5示出本发明在方法中、尤其是用于虚拟化掉电的I/O装置的方法300 和400以及用于执行特殊解码的方法500中的实施例。在方法300、400和500的下列描述中,可参考图1和2的要素;但是,本发明的方法实施例并不限于这方面。在图3的框302中,方法300可开始。在框304中,信息处理系统,例如信息处理系统100可以由关闭状态转变为开启状态,其中关闭状态可包括任何类型的掉电、悬挂或睡眠状态。框304可包括将I/O装置160从关闭状态转变为开启状态。在框306中,信息处理系统100的引导可开始。引导可包括引导代码、基本输入/输出系统(“BIOS”)代码、 和/或其它固件或软件以及通电自检的执行。在框310中,如I/O装置160之类的I/O装置可被发现,被分配一个或多个BDF,并且被配置,而且它的驱动器可被加载到系统存储器130中。在框312中,可将I/O装置160的BDF存储在特殊解码装置ID 214中。在框314中,可以在BAR 216中存入值来定义存储器区域132的基址。在框316中,用于I/O装置160的PnP配置空间信息的副本会被存储在存储器 区域132中。在框318中,引导可结束。在框322中,例如通过如BIOS之类的系统软件可清除特殊解码位212。注意,在其中特殊解码位212缺省具有0值的本发明实施例中,可省略框322。如以下进一步描述的那样,本发明的其它实施例也可规定其它框被省略、重新排列等。在框324中,可发起到I/O装置160的PnP配置空间的事务。例如,在包括PCI总线的实施例中,运行Windows Vista操作系统的如处理器110之类的处理器可通过将I/O 装置160的BDF写到地址“CF8”(十六进制)处的I/O端口,发起到I/O装置160的PnP配置空间的配置读事务。在框326中,MCH 140可识别这个事务是到I/O装置160的PnP配置空间的读取,并且将其转换为定向到I/O装置160的PnP配置空间的PCI总线上的配置读事务。在框328中,I/O装置160可响应该事务。在框330中,预期让I/O装置160掉电,可将I/O装置160的PnP配置空间的内容例如通过系统软件存储在存储器区域132中。在框332中,I/O装置160可被掉电或被置于不可达状态,从而减少系统功耗或者为了任何其它原因。在现有技术的信息处理系统中, 框332的结果可以是在PCI重扫描中,对于到I/O装置160的PnP配置空间的配置读事务不给予响应,使得操作系统会从系统存储器130中卸载用于I/O装置160的驱动器。因此, 当I/O装置被重新通电后,将不得不重新加载驱动器,然后I/O装置160才可以使用。为避免在这种情形下重新加载驱动器、重新平衡存储器、I/O和中断资源以及重启装置(“即插即用启动”)所需要的延迟,本发明的实施例可能是所期望的。在框342中,可响应I/O装置160的掉电,例如通过如BIOS之类的系统软件来设置特殊解码位212。在特殊解码位212被设置时的时期中,如用于I/O装置160的驱动器之类的软件可负责确保没有I/O事务被定向到I/O装置160。在框344中,可发起到I/O装置160的PnP配置空间的事务。例如,在包括PCI总线的实施例中,运行Windows Vista操作系统和执行PCI重扫描的如处理器110之类的处理器可通过将I/O装置160的BDF写到地址“CF8” (十六进制)处的I/O端口,来发起到 I/O装置160的PnP配置空间的配置读事务。在框346中,MCH 140可识别这个事务是到 I/O装置160的PnP配置空间的读取,并且将其转换为定向到存储器区域132的存储器读事务。在框348中,MCH 140可利用在来自BAR 216的基址加上来自CF8 (十六进制)的偏移所指定的地址处、来自存储器区域132的数据,响应该事务。因此,即便I/O装置160不可用,MCH 140对操作系统也假装I/O装置160可用,使得操作系统不会卸载用于I/O装置 160的驱动器。在框350中,I/O装置160可再次被通电。在框360中,可例如通过如BIOS之类的系统软件把存储器区域132的内容复制到1/0装置160,以防止在1/0装置160掉电时执行的到1/0装置160的配置空间的任何写入丢失。注意,在1/0装置160掉电时定向到I/ 0装置160的配置写事务也可按照如下所述的本发明的实施例来处理。在框362中,响应1/0装置160的加电(powering up),可例如通过如BIOS之类的系统软件来清除特殊解码位212。在框364中,可发起到1/0装置160的PnP配置空间的事务。例如,在包括PCI总线的实施例中,运行Windows Vista操作系统和执行PCI重扫描的如处理器Iio之类的处理器可以通过将I/O装置160的BDF写到地址“CF8” (十六进制) 处的I/O端口,来发起到I/O装置160的PnP配置空间的配置读事务。在框366中,MCH 140 可识别这个事务是到I/O装置160的PnP配置空间的读取,并且将其转换为定向到I/O装置160的PnP配置空间的PCI总线上的配置读事务。在框368中,I/O装置160可响应该事务,而没有重新加载其驱动器和执行即插即用启动操作的延迟。在图 3的框399中,方法300可结束。在方法300中,在MCH 130识别出定向到I/O装置160的PnP配置空间的事务的情况下,比如在框326、346和366中,MCH 130可执行如图5所示和以下所述的特殊解码。转向图4,图4示出本发明在方法中,尤其是用于虚拟化I/O装置的方法400中的一个实施例。在图4的框402中,方法400可开始。在框404中,如信息处理系统100之类的信息处理系统可从关闭状态转变为开启状态,其中关闭状态可包括任何类型的掉电、悬挂或睡眠状态。框404可包括将I/O装置160从关闭状态转变为开启状态。在框406中,信息处理系统100的引导可开始。引导可包括引导代码、基本输入/输出系统(“BIOS”)代码和/或其它固件或软件以及通电自检的执行。在框410中,如I/O装置160之类的I/O装置可被发现,被分配一个或多个BDF,并且被配置,它的驱动器可被加载到系统存储器130中。在框412中,I/O装置160的BDF可被存储在特殊解码装置ID 214中。在框414中,可在下游装置存储位置218中存入值、比如BDF,用以标识I/O装置、比如下游I/O装置142,在I/O装置160掉电时,某些到I/O装置160的事务会被重定向到下游I/O装置142。在框416中,用于I/O装置160的PnP配置空间信息的副本会被存储在下游I/O装置142中。在框418中,引导可结束。在框422中,可例如通过如BIOS之类的系统软件来清除特殊解码位212。注意,在其中特殊解码位212缺省具有0值的本发明的实施例中,可省略框422。如以下进一步描述的那样,本发明的其它实施例也可规定其它框被省略、重新排列等。在框424中,可发起到I/O装置160的PnP配置空间的事务。例如,在包括PCI总线的实施例中,运行Windows Vista操作系统的如处理器110之类的处理器可通过将I/O 装置160的BDF写到地址“CF8”(十六进制)处的I/O端口,来发起到I/O装置160的PnP 配置空间的配置读事务。在框426中,MCH 140可识别这个事务是到I/O装置160的PnP配置空间的读取,并且将其转换为定向到I/O装置160的PnP配置空间的PCI总线上的配置读事务。在框428中,I/O装置160可响应该事务。在框430中,在预期让I/O装置160掉电时,可例如通过系统软件将I/O装置160 的PnP配置空间的内容存储在下游I/O装置142中。在框432中,I/O装置160可被掉电或被置于不可达状态,以减少系统功耗或者为了任何其它原因。在现有技术的信息处理系统中,框432的结果可以是在PCI重扫描中,对于到I/O装置160的PnP配置空间的配置读事务不给予响应,使得操作系统将从系统存储器130中卸载用于I/O装置160的驱动器。因此,当I/O装置被重新通电后,将不得不重新加载驱动器,然后I/O装置160才可以使用。为避免在这种情形下重新加载驱动器、重新平衡存储器、I/O和中断资源以及重启装置(“即插即用启动”)所需要的延迟,本发明的实施例可能是所期望的。在框442中,响应I/O装置160的掉电,可例如通过如BIOS之类的系统软件来设置特殊解码位212。在特殊解码位212被设置时的时期中,如用于I/O装置160的驱动器之类的软件可负责确保没有I/O事务被定向到I/O装置160。在框444 中,可发起到I/O装置160的PnP配置空间的事务。例如,在包括PCI总线的实施例中,运行Windows Vista操作系统和执行PCI重扫描的如处理器110之类的处理器可通过将I/O装置160的BDF写到地址“CF8” (十六进制)处的I/O端口,来发起到I/ 0装置160的PnP配置空间的配置读事务。在框446中,MCH 140可识别这个事务是到I/O 装置160的PnP配置空间的读取,并且将其转换为定向到下游I/O装置142的PCI总线上的配置读事务。在框428中,下游I/O装置142可响应该事务。因此,即便I/O装置160不可用,下游I/O装置142对操作系统也假装I/O装置160可用,使得操作系统不会卸载用于 I/O装置160的驱动器。在框450中,I/O装置160可再次被通电。在框460中,例如通过如BIOS之类的系统软件,可将下游I/O装置142的PnP配置空间复制到I/O装置160中,以防止在I/O装置160掉电时执行的到I/O装置160的配置空间的任何写入丢失。注意,在I/O装置160 掉电时定向到I/O装置160的配置写事务也可按照如下所述的本发明的实施例来处理。在框462中,响应I/O装置160的加电,可例如通过如BIOS之类的系统软件来清除特殊解码位212。在框464中,可发起到I/O装置160的PnP配置空间的事务。例如,在包括PCI总线的实施例中,运行WindowsVista操作系统和执行PCI重扫描的如处理器110 之类的处理器可通过将I/O装置160的BDF写到地址“CF8”(十六进制)处的I/O端口,来发起到I/O装置160的PnP配置空间的配置读事务。在框466中,MCH 140可识别这个事务是到I/O装置160的PnP配置空间的读取,并且将其转换为定向到I/O装置160的PnP配置空间的PCI总线上的配置读事务。在框468中,I/O装置160可响应该事务,而没有重新加载其驱动器和执行即插即用启动操作的延迟。在图4的框499中,方法400可结束。在方法400中,在MCH 130识别出定向到I/O装置160的PnP配置空间的事务的情况下,比如在框426、446和466中,MCH 130可执行如图5所示的特殊解码。转向图5,图5示出本发明在方法中,尤其是用于执行特殊解码的方法500中的一个实施例。在框502中,方法500可开始。在框510中,特殊解码逻辑222可识别定向到I/O装置(“目标”I/O装置)的PnP 配置空间的事务。在框512中,特殊解码逻辑222可确定特殊解码位212是否被设置。如果特殊解码位212未被设置,则在框520中,该事务被定向到目标I/O装置的PnP配置空间。 然而,如果特殊解码位212被设置,则在框514中,特殊解码逻辑222例如通过比较目标I/ 0装置的BDF和存储在特殊解码装置ID 514中的BDF,可确定该事务是否被定向到由特殊解码装置ID 514标识的I/O装置的PnP配置空间。如果目标BDF与特殊解码装置ID不匹配,则在框520中,将事务定向到目标I/O装置的PnP配置空间。然而,如果目标BDF与特殊解码装置ID匹配,则在框530中,将该事务定向到存储器区域132或下游I/O装置142。在图5的框599,方法500可结束。在本发明的范围内,图3、4和5所示的方法和/或在执行方法300、400和500时采取的动作可一起或分开、按照不同顺序、通过省略所示的框、通过增加额外的框、或者通过重排序、省略或附加框的组合来执行。作为一个示例,在其中特殊解码位212缺省具有0值的本发明的实施例中,可省略框322和422。 作为另一示例,本发明的实施例可规定在I/O装置160掉电时定向到I/O装置 160的配置写事务与关于定向到I/O装置160的配置读的上述方法300和400的部分类似地处理,其中,例如通过处理器110,将在配置写事务中提供的数据写到地址“CF8”(十六进制)处的I/O端口。本发明的实施例也可规定定向到I/O装置160的存储器读和写事务, 例如在存储器映射的I/O事务的情况下,将被重定向到存储器区域或下游I/O装置。因此,已经描述了用于虚拟化掉电的I/O装置的系统、设备和方法的实施例。虽然已经描述并且在附图中示出某些实施例,但是要理解,这些实施例仅仅是举例说明的,不是对广义发明的限制,而且由于本领域技术人员在学习本公开后可以想出各种其它修改,因此本发明不限于所示和所描述的特定结构和安排。在迅速成长并且不容易预见进一步改进的诸如此类的技术领域中,如通过实现技术改进而推动的,在安排和细节上可容易地修改所公开的实施例,而不会背离本公开的原理或者所附权利要求的范围。
权利要求
1.一种设备,包括第一存储位置,用于存储输入/输出装置不可达的指示;解码器,用于对定向到所述输入/输出装置的配置事务解码,并且如果所述第一存储位置的内容指示所述输入/输出装置不可达,则将所述配置事务重定向到其它目标。
2.如权利要求1所述的设备,其中所述其它目标是存储器区域。
3.如权利要求2所述的设备,还包括第二存储位置,用于存储所述存储器区域的基址。
4.如权利要求1所述的设备,其中所述其它目标是其它输入/输出装置。
5.如权利要求4所述的设备,还包括第二存储位置,用于存储所述其它输入/输出装置的标识符。
6.如权利要求5所述的设备,其中所述标识符包括总线号、装置号和功能号。
7.如权利要求1所述的设备,还包括第二存储位置,用于存储所述输入装置的标识符。
8.如权利要求7所述的设备,其中所述标识符包括总线号、装置号和功能号。
9.一种方法,包括接收定向到输入/输出装置的第一配置事务; 确定所述输入/输出装置不可用;以及将所述第一配置事务重定向到其它目标。
10.如权利要求9所述的方法,还包括由所述其它目标来响应所述第一配置事务。
11.如权利要求9所述的方法,所述方法还包括在让所述输入/输出装置掉电之前,在存储位置中存储所述输入/输出装置的标识符,其中确定所述输入/输出装置不可用包括 将所述第一配置事务中接收的目标的标识符与所述存储位置的内容相比较。
12.如权利要求9所述的方法,还包括在接收所述第一配置事务之前让所述输入/输出装置掉电。
13.如权利要求12所述的方法,还包括在接收所述第一配置事务之前,发起所述第一配置事务响应,其中发起所述第一配置事务作为重扫描操作的一部分来执行以支持即插即用特征。
14.如权利要求13所述的方法,还包括在将所述第一配置事务重定向之后,为所述输入/输出装置加电;在为所述输入/输出装置加电之后,接收定向到所述输入/输出装置的第二配置事务;以及由所述输入/输出装置来响应所述第二配置事务,而不用为所述输入/输出装置重新加载驱动器。
15.如权利要求9所述的方法,其中所述其它目标是存储位置,所述方法还包括在可编程存储位置中找到所述存储位置的基址。
16.如权利要求9所述的方法,其中所述其它目标是其它输入/输出装置,所述方法还包括在可编程存储位置中找到所述其它输入/输出装置的总线号、装置号和功能号。
17.一种系统,包括 第一输入/输出装置;处理器,用于发起定向到所述第一输入/输出装置的配置事务; 第一存储位置,用于存储所述输入/输出装置不可达的指示;解码器,用于对所述配置事务解码,并且如果所述第一存储位置的内容指示所述输入/ 输出装置不可达,则将所述配置事务重定向到其它目标。
18.如权利要求17所述的系统,还包括存储器,其中所述其它目标是所述存储器中的区域。
19.如权利要求17所述的系统,还包括第二输入/输出装置,其中所述其它目标是所述第二输入/输出装置。
20.如权利要求17所述的系统,其中所述解码器还将所述配置事务转换为外围部件互连存储器事务。
全文摘要
公开了用于虚拟化掉电的输入/输出装置的系统、设备和方法的实施例。在一个实施例中,设备包括存储位置和解码器。该存储位置存储输入/输出装置不可达的指示。该解码器对定向到该输入/输出装置的配置事务解码,并且如果第一存储位置的内容指示该输入/输出装置不可达,则将该配置事务重定向到其它目标。
文档编号G06F9/445GK102169440SQ20101062503
公开日2011年8月31日 申请日期2010年12月23日 优先权日2009年12月23日
发明者S·纳特 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1