CN101779196B - Pci设备的i/o空间请求抑制方法 - Google Patents
Pci设备的i/o空间请求抑制方法 Download PDFInfo
- Publication number
- CN101779196B CN101779196B CN2007801002799A CN200780100279A CN101779196B CN 101779196 B CN101779196 B CN 101779196B CN 2007801002799 A CN2007801002799 A CN 2007801002799A CN 200780100279 A CN200780100279 A CN 200780100279A CN 101779196 B CN101779196 B CN 101779196B
- Authority
- CN
- China
- Prior art keywords
- space
- pci
- pci device
- memory space
- information
- 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.)
- Expired - Fee Related
Links
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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus 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
- G06F13/423—Bus 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 with synchronous protocol
-
- 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/0024—Peripheral component interconnect [PCI]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明提供抑制PCI设备的I/O空间请求的方法。为了即使可分配I/O空间的容量存在限制,也能将对可使用的PCI设备的台数进行的限制降至最低,运算装置(100)具有:结构信息取得单元(101),其取得PCI设备(106-1)、(106-2)、…的结构信息;可使用空间判断单元(102),其判断各PCI设备可使用的空间;以及结构信息通知单元(103),其向操作系统通知结构信息。
Description
技术领域
本发明涉及抑制PCI设备的I/O空间请求的方法。
背景技术
当前,在很多信息处理装置中采用了由PCI SIG(PeripheralComponent Interconnect Special Interest Group:外围组件互连特殊兴趣组织)制定的CPU-外围设备之间的接口标准。
例如,存在“PCI Local Bus Specification”、“PCI-XSpecification”、“PCI-Express Specification”等。在专利文献1中公开了关于PCI桥的技术。另外,在专利文献2中公开了关于PCI总线系统的技术。
在这些规格中,例如,可向I/O空间和存储器空间分配用于由CPU对PCI设备进行控制的寄存器。
这里,由于确保PC/AT(Personal Computer/Advanced Technology,个人计算机/先进技术)兼容机之间的兼容性等原因,I/O空间是继承了PC/AT兼容机的架构规格的旧规格。因此,可分配I/O空间的容量的上限被限制为64KB。
例如,当存在PCI桥时,针对PCI桥的I/O空间的最小分配单位为4KB,因此可分配I/O空间的PCI桥的数量上限被限制为16台(=64KB/4KB)。
这些是由于“PCI Local Bus Specification,Revision 2.3”的规格导致的限制。
现有的规格是最多有32台PCI设备可连接到1个总线属下。但是,近年来,为了应对PCI设备传输速度的高速化,可连接到PCI桥属下的PCI设备的数量正在减少。
例如,在PCI-X 100MHz的总线中,可连接的设备的数量为2台,在PCI-X 133MHz的总线中,1台为极限。另外,在PCI-Express的规格中,根据规格,桥与设备的对应被规定为1对1。在该情况下,可分配I/O空间的桥的台数的上限(16台)直接成为可连接的设备的上限。
在大规模的服务器系统中,很多系统具有最多128台PCI插槽,但如果直接应用上述限制,则只能安装16台PCI插槽。
因此,在现有的系统中,必须只安装不请求I/O空间的PCI设备、或者只限定为即使是请求I/O空间的PCI设备但实际上不使用I/O空间而仅使用存储器空间就能工作的PCI设备工作等来应对。另外,实际上,不请求I/O空间的PCI设备的种类较少,只由不请求I/O空间的PCI设备来构建系统是很困难的。
因此,各种PCI设备厂商提出了虽然请求了I/O空间但实际上即使不使用I/O空间也能工作的PCI设备,即无论通过I/O空间和存储器空间中的哪一个空间都能工作的PCI设备(以下将该PCI设备简称为“PCI设备”)。
但是,在这种PCI设备中也存在下述问题。
例如,操作系统根据是否存在储存在PCI设备具有的PCI配置寄存器中的、请求I/O空间的基地址寄存器,来判断PCI设备是否请求I/O空间的分配。
因此,存在请求I/O空间的基地址寄存器的PCI设备请求所有的I/O空间。
其结果是,当可分配的I/O空间出现不足从而不能向新的PCI设备分配I/O空间时,除了执行错误处理来禁用该PCI设备以外,没有其他方法,因此对于操作系统而言,需要使得不使用I/O空间的特殊机制。
在Windows(注册商标)的情况下,利用了作为系统定义文件的inf文件。可通过该inf文件,向操作系统通知PCI设备不使用I/O空间。当判断为该PCI设备不使用I/O空间时,即使存在请求I/O空间的基地址寄存器,操作系统也忽略其存在,不向该PCI设备分配I/O空间,而只分配存储器空间来进行工作。
另外,在Linux的情况下,可通过为该PCI设备准备不请求I/O空间的驱动程序来应对。
但是,例如,在安装Windows(注册商标)时,由于在安装用CD-ROM等中不包含上述inf文件,因此不能通过inf文件向操作系统通知PCI设备不使用I/O空间。
同样,在安装Linux时,由于在安装用CD-ROM等中不包含使得不使用I/O空间的驱动程序,因此在安装时需要向PCI设备分配I/O空间。
结果,由于inf文件和不请求I/O空间的特殊驱动程序在其使用上存在限制,因此依然留下下述问题,即:尚未能有效地使用无论使用I/O空间和存储器空间中的哪一个空间都能进行访问的PCI设备。
专利文献1:日本特开平11-288400号公报
专利文献2:日本特开2002-032324号公报
发明内容
本发明正是鉴于上述问题而完成的,其欲解决的课题在于,提供即使可分配I/O空间的容量存在限制,也将可使用的PCI设备的台数限制降至最低的方法。
为了解决上述课题,本发明的运算装置可与多个PCI设备连接,该运算装置能够按照在该运算装置上工作的操作系统通过I/O空间或存储器空间对所述PCI设备进行操作,该运算装置具有:结构信息取得单元,其根据来自所述操作系统的请求,参照所述PCI设备所具有的存储结构信息的结构信息存储单元,来取得该结构信息;可使用空间判断单元,其根据该结构信息,判断所述PCI设备是否是能够使用I/O空间或存储器空间或这两个空间的PCI设备;以及结构信息通知单元,其向所述操作系统通知所述结构信息,当所述可使用空间判断单元的判断结果为所述PCI设备能够使用I/O空间和存储器空间这两个空间时,进行表示所述PCI设备是只能使用存储器空间的PCI设备的通知。
根据本发明,当PCI设备可使用I/O空间和存储器空间这两个空间时,结构信息通知单元对操作系统进行表示该PCI设备是只能使用存储 器空间的PCI设备的通知。
其结果,操作系统无需向除了只使用I/O空间的PCI设备以外的PCI设备分配I/O空间,因此可尽量抑制I/O空间的使用。
因此,根据本发明,可提供即使可分配I/O空间的容量存在限制,也将可使用的PCI设备的台数限制降至最低的方法。
附图说明
图1是说明本发明的实施例的运算装置的动作原理的图。
图2是示出本发明的实施例的运算装置的结构示例的图。
图3是示出本发明的实施例的PCI设备具有的PCI配置寄存器的结构示例的图。
图4是说明本发明的实施例的PCI设备具有的PCI配置寄存器的基地址寄存器的图。
图5是示出本发明的实施例的PCI设备的结构示例的图。
图6是示出本发明的实施例的运算装置的处理的流程图。
图7是说明本发明的实施例的运算装置使用的I/O空间的图。
具体实施方式
下面,根据图1~图7对本发明的实施方式进行说明。
图1是说明本发明的实施例的运算装置100的动作原理的图。
如图1所示,运算装置100具有:结构信息取得单元101,其取得PCI设备106-1、106-2、…的结构信息;可使用空间判断单元102,其判断各PCI设备可使用的空间;以及结构信息通知单元103,其向操作系统通知结构信息。
运算装置100是随着操作系统105而进行动作的运算装置。例如,通过CPU(Central Processing Unit,中央处理单元)、包含CPU的芯片组、包含CPU的主板(系统板)等来实现。
但是,在上述CPU、芯片组和主板中,不仅包含硬件,还包含在该硬件上工作的程序(例如,固件、微程序等)。
另外,运算装置100是可与多个PCI设备106-1、106-2、…以可操作的方式连接的运算装置。当PCI设备请求I/O空间时,向该PCI设备分配I/O空间。另外,当PCI设备请求存储器空间时,向该PCI设备分配存储器空间。当PCI设备请求I/O空间和存储器空间这两个空间时,向该PCI设备分配这两个空间。然后,运算装置100通过所分配的I/O空间或存储器空间访问该PCI设备。
结构信息取得单元101例如根据来自操作系统105的请求,从各PCI设备106-1、106-2、…具有的结构信息存储单元106-1a、106-2a、…取得各结构信息。然后,结构信息通知单元103向可使用空间判断单元102通知该结构信息。
这里,结构信息是指例如PCI配置寄存器的一部分或全部。
当从结构信息取得单元101接收到结构信息的通知时,可使用空间判断单元102参照该结构信息,判断该PCI设备是否是可使用I/O空间和存储器空间这两个空间的PCI设备。然后,可使用空间判断单元102向结构信息通知单元103通知该判断结果。
当PCI设备可使用I/O空间和存储器空间这两个空间时,结构信息通知单元103进行表示PCI设备只能使用存储器空间的通知。在本实施例中,将结构信息变更成表示PCI设备只能使用存储器空间的数据后将其通知给操作系统105。
当通过以上处理从各PCI设备取得了结构信息时,操作系统105根据各结构信息进行I/O空间的资源分配或进行存储器空间的资源分配,并且加载所需的驱动程序。
这里,请求I/O空间和存储器空间这两个空间的PCI设备作为只请求存储器空间的PCI装置被通知给操作系统105,因此操作系统105不进行I/O空间的资源分配处理(只进行存储器空间的资源分配处理)。
结果,由于除了只能使用I/O空间的PCI设备以外的PCI设备不再使用I/O空间,因此,可通过限制可分配I/O空间的容量,将对可使用的PCI设备的台数的限制降低至最低程度。
图2是示出本发明的实施例的运算装置100的结构示例的图。
如图2所示,运算装置100具有CPU 201a以及201b、由易失性存储器(例如,RAM:Random Access Memory,随机存取存储器)构成的存储器202、由储存固件等的非易失性存储器构成的ROM(Read Only Memory,只读存储器)203、PCI桥1a~32a、PCI桥1a~32a属下的PCI桥1b~64b、PCI桥1b~64b属下的安装PCI设备的PCI插槽1~128、以及控制各结构要素之间的数据交换的芯片组204。
并且,CPU、PCI桥以及PCI插槽的台数只是例示,并不限于图2所示的结构。
CPU 201a以及201b(以下,2个CPU总称为“CPU 201”)从ROM 203读出固件,在CPU 201或芯片组204内具有的未图示的存储部中将其展开。然后,执行该固件(以下,称为“CPU固件”)。
另外,CPU 201从未图示的外部存储装置(例如,磁盘装置)读出操作系统105,在存储器202中展开其一部分或全部,根据该操作系统105的指令进行处理。
例如,当操作系统105的启动结束时,操作系统105指示CPU固件从安装在各PCI插槽1~128的PCI设备读出PCI配置寄存器的基地址寄存器。
CPU固件根据操作系统105的指示,从安装在各PCI插槽1~128的PCI设备读出基地址寄存器,将其通知给操作系统105。
此时,当该PCI设备请求I/O空间和存储器空间这两个空间时,将基地址寄存器变更成表示该PCI设备只请求存储器空间的值,并将其通知给操作系统105。
操作系统105参照所通知的基地址寄存器、当该PCI设备请求I/O空间时,对该PCI设备进行I/O空间的资源分配,当该PCI设备请求存储器空间时,对该PCI设备进行存储器空间的资源分配。
图3是示出本发明的实施例的PCI设备具有的PCI配置寄存器的结构示例的图。
如图3所示,PCI配置寄存器300至少具有厂商ID(0×00~0×15)、设备ID(0×16~0×31)以及基地址寄存器(0×10~0×27)。
厂商ID是PCI SIG向每个厂商分配的ID。另外,设备ID是制造商为了唯一地确定设备而自由分配的ID。
在基地址寄存器中储存有表示存储器空间的基地址寄存器(32位或64位)、表示I/O空间的基地址寄存器(32位或64位)。
并且,其它数据是例如基于“PCI Local Bus Specification,Revision2.3”的数据结构,因此省略说明。
图4是说明本发明的实施例的PCI设备具有的PCI配置寄存器的基地址寄存器的图。
图4所示的基地址寄存器401是表示存储器空间的基地址寄存器(32位的情况)。
基地址寄存器401由存储器空间指针(位0)、类型(位1~2)、“可预取”(位3)、以及基地址(位4~31)构成。
存储器空间指针表示该寄存器是存储器空间用的寄存器,始终存储有0。类型表示可配置存储器块的地址范围。“可预取”对预取的允许/禁止进行控制。
图4所示的基地址寄存器402是表示I/O空间的基地址寄存器(32位的情况)。
基地址寄存器402由I/O空间指针(位0)、以及基地址(位2~31)构成。
I/O空间指针表示该寄存器是I/O空间用的寄存器,存储有1。
图5是示出本发明的实施例的PCI设备的结构示例的图。
图5所示的PCI设备500具有由图3所示的PCI配置寄存器300构成的PCI配置寄存器部501、由分配给存储器空间的各种寄存器构成的MMIO(Memory MappingI/O,存储器映射I/O)寄存器部502、由分配给I/O空间的各种寄存器构成的IO寄存器部503、以及实现NIC(NetworkInterface Card,网络接口卡)或SCSI(Small Computer SystemInterface,小型计算机系统接口)等预定功能的控制部504。
从CPU固件对PCI配置寄存器部501、MMIO寄存器部502以及IO寄存器部503的访问是通过PCI总线来进行的。
由操作系统105将构成MMIO寄存器部502的各种寄存器(例如,R/W指令用寄存器等)分配给存储器空间的预定地址。另外,由操作系统105将构成IO寄存器部503的各种寄存器(例如,I/O R/W指令用寄存器等)分配给I/O空间的预定地址。
通过上述结构,图5所示的PCI设备500将基地址寄存器401以及402储存在PCI配置寄存器部501的基地址寄存器中,由此可使用I/O空间和存储器空间这两个空间。
图6是示出本发明的实施例的运算装置100的处理的流程图。
在步骤S601a中,例如,当安装有本实施方式的运算装置100的信息处理装置接通电源时,由运算装置100从未图示的外部存储装置读出操作系统105,进行在存储器202中将操作系统105展开成可执行的状态的OS引导处理。
当OS引导处理结束时,操作系统105在运算装置100上工作。然后,针对安装在信息处理装置中的全部设备,进行下面说明的PCI设备的查找处理。
在步骤S602a中,操作系统105向CPU固件进行安装在信息处理装置中的任意设备的厂商ID和设备ID的读请求。
另一方面,在步骤S601b中,当从操作系统105接收到读请求时,CPU固件从所指定的PCI配置地址取得厂商ID和设备ID。然后,CPU固件向操作系统105通知所取得的厂商ID和设备ID。
在步骤S603a中,操作系统105根据所通知的厂商ID和设备ID,判断在所指定的PCI配置地址中是否安装有PCI设备。在本实施例中,当由CPU固件读出的厂商ID和设备ID的值不是全0或不是全F时,判断为安装有PCI设备。
并且,当在步骤S603a中判断为在所指定的PCI配置地址中安装有PCI设备时,操作系统105向CPU固件针对每个基寄存器依次进行该PCI设备的基地址寄存器的读请求。
另一方面,当在步骤S602b中从操作系统105接收到读请求时,CPU固件从该PCI设备的PCI配置寄存器中读出基地址寄存器。
在步骤S603b中,CPU固件参照所读出的各基地址寄存器的位0的值。然后,当所读出的基地址寄存器的位0的值为“1”时,CPU固件将处理转移至步骤S604b。
另外,当所读出的基地址寄存器的位0的值为“0”时,CPU固件将处理转移至步骤S605b。
在步骤S604b中,CPU固件将相应的基地址寄存器的值变更成“0(全0)”。然后,CPU固件将处理转移至步骤S605b。
在步骤S605b中,CPU固件向操作系统105通知基地址寄存器。
当在步骤S604b中从CPU固件接收到基地址寄存器的通知时,操作系统105参照该基地址寄存器的位0。
然后,当位0的值为“0”时,操作系统105判断为该PCI设备请求了存储器空间。另外,当位0的值为“1”时,操作系统105判断为该PCI设备请求了I/O空间。
并且,当基地址寄存器的值为“0(全0)”时(例如,在步骤S604b中变更成“0(全0)”时),操作系统105判断为该寄存器既没请求I/O空间也没请求存储器空间,忽略该寄存器。
当针对安装在信息处理装置中的全部设备进行了上述查找处理时,操作系统105将处理转移至步骤S605b。
在步骤S605b中,操作系统105根据步骤S602a~S604a的查找处理结果,对各PCI设备进行I/O空间的资源分配或存储器空间的资源分配(在步骤S604a中,对判断为请求I/O空间的PCI设备进行I/O空间的资源分配,对判断为请求存储器空间的PCI设备进行存储器空间的资源分配)。
在步骤S606a中,操作系统105从外部存储装置等中读出与每个PCI设备对应的驱动程序后在存储器202中展开成可执行的状态(加载驱动程序)。
当对通过步骤S602a~S604a的查找处理而检测出的安装PCI设备结束了步骤S605a以及606a的处理时,操作系统105转移至步骤S607,结束I/O空间或存储器空间的资源分配处理。
在以上处理中,步骤S603b的处理也可以是以下所示的(1)或(2)或(3)的处理。
(1)预先将特定的厂商ID和/或设备ID登记在存储装置等中,当与在步骤S601b中读出的厂商ID或设备ID的一部分或全部一致时,执行步骤S603b的处理。
(2)参照该PCI设备的上级的PCI桥(所关联的I/O空间),检查该PCI桥是否向该PCI设备分配了I/O空间,当未分配I/O空间时(或分配I/O空间的区域不足时),执行步骤S603b的处理。
(3)参照该PCI设备具有的全部基地址寄存器,当具有请求I/O空间以及存储器空间的基地址寄存器时,执行步骤S603b的处理。
图7是说明图2所示的结构示例的运算装置100的情况下的I/O空间的图。
为了简化说明,图7示出了在图2所示的全部PCI插槽中安装有图5所示的PCI设备500(即,可使用I/O空间和存储器空间这两个空间的PCI设备)时的I/O空间。
I/O空间701示出了未应用本实施例的现有示例,I/O空间702示出了应用了本实施例时的I/O空间。
这里,图2示出了具有64台PCI桥时的结构示例。当在各PCI桥1~64属下的PCI插槽中安装图5所示的PCI设备500时,在不应用本实施例的情况下各PCI桥将请求I/O空间。
例如,从PCI桥1开始依次分配4KB的I/O空间,由于可分配的I/O空间的容量为64KB,因此成为只向PCI桥1~16分配了I/O空间的状态。此时的I/O空间为I/O空间701。
另一方面,在应用了本实施例的情况下,通过步骤S603b的处理,从CPU固件向操作系统105通知图5所示的PCI设备500只请求了存储器空间。
因此,当PCI桥1~64属下的全部PCI插槽中安装有PCI设备500时,操作系统105对各PCI桥(PCI设备)只进行存储器空间的资源分配,不进行I/O空间的资源分配。此时的I/O空间为I/O空间702。
并且,为了容易理解,图7以极端的情况为例进行了说明,当然主旨并不是将本发明仅限于图7所示的情况。当在PCI桥1~64属下的任一插槽中安装有只请求I/O空间的PCI桥时,向该PCI桥(PCI设备)分配I/O空间。
如上所述,在本实施例的运算装置100上工作的操作系统105通过图6所示的CPU固件进行的步骤S603b的处理,识别为只请求存储器空间。因此,不向该PCI桥分配I/O空间,而是只分配存储器空间。
因此,PCI设备只被分配存储器空间。其结果,可尽量抑制I/O空间的使用,因此即使在I/O空间的可分配容量存在限制时,也能将对可使用的PCI设备台数的限制降至最低程度。
另外,在安装操作系统105时,能够使用图5所示的PCI设备500(可使用I/O空间和存储器空间这两个空间的PCI设备),而无需使用特殊处理和驱动程序等。结果,起到了提高用户的便利性的效果。
Claims (15)
1.一种抑制PCI设备的I/O空间请求的运算装置,该PCI设备是能够与运算装置连接的多个PCI设备,无论使用I/O空间或存储器空间中的哪一个,均能由在运算装置上工作的操作系统对该PCI设备进行操作,该运算装置具有:
结构信息取得单元,其根据来自所述操作系统的请求,参照所述PCI设备所具有的存储结构信息的结构信息存储单元,来取得该结构信息;
可使用空间判断单元,其根据该结构信息,判断所述PCI设备是否是能够使用I/O空间或存储器空间或这两个空间的PCI设备;以及
结构信息通知单元,其向所述操作系统通知所述结构信息,当所述可使用空间判断单元的判断结果为所述PCI设备能够使用I/O空间和存储器空间这两个空间时,进行表示所述PCI设备是只能使用存储器空间的PCI设备的通知。
2.根据权利要求1所述的抑制PCI设备的I/O空间请求的运算装置,其特征在于,
当从所述结构信息通知单元接收到表示是只能使用存储器空间的PCI设备的通知时,所述操作系统只进行存储器空间的分配,而不进行I/O空间的分配。
3.根据权利要求1所述的抑制PCI设备的I/O空间请求的运算装置,其特征在于,
在所述结构信息中,使用存储在PCI配置寄存器中的基地址寄存器。
4.根据权利要求1所述的抑制PCI设备的I/O空间请求的运算装置,其特征在于,
在操作系统启动时或刚刚启动后进行对所述结构信息取得单元的请求。
5.根据权利要求1所述的抑制PCI设备的I/O空间请求的运算装置,其特征在于,
该运算装置能够通过PCI桥与所述PCI设备连接。
6.一种信息处理装置的信息处理方法,该信息处理装置能够安装多个PCI设备,能够按照在该信息处理装置所具有的运算装置上工作的操作系统通过I/O空间或存储器空间对所述PCI设备进行操作,该信息处理方法使该信息处理装置执行如下处理:
结构信息取得处理,根据来自所述操作系统的请求,参照所述PCI设备所具有的存储结构信息的结构信息存储单元,取得该结构信息;
可使用空间判断处理,根据该结构信息,判断所述PCI设备是否是能够使用I/O空间或存储器空间或这两个空间的PCI设备;以及
结构信息通知处理,向所述操作系统通知所述结构信息,当所述可使用空间判断处理的判断结果为所述PCI设备能够使用I/O空间和存储器空间这两个空间时,进行表示所述PCI设备是只能使用存储器空间的PCI设备的通知。
7.根据权利要求6所述的信息处理方法,其特征在于,
所述运算装置具有所述结构信息取得单元、可使用空间判断单元以及结构信息取得单元。
8.根据权利要求6所述的信息处理方法,其特征在于,
当从所述结构信息通知处理接收到表示是只能使用存储器空间的PCI设备的通知时,所述操作系统只进行存储器空间的分配,而不进行I/O空间的分配。
9.一种抑制PCI设备的I/O空间请求的方法,该PCI设备是能够与运算装置连接的多个PCI设备,无论使用I/O空间或存储器空间中的哪一个,均能由在运算装置上工作的操作系统对该PCI设备进行操作,该方法使所述运算装置执行下述处理:
结构信息取得处理,根据来自所述操作系统的请求,参照所述PCI设备所具有的存储结构信息的结构信息存储单元,取得该结构信息;
可使用空间判断处理,根据该结构信息,判断所述PCI设备是否是能够使用I/O空间或存储器空间或这两个空间的PCI设备;以及
结构信息通知处理,向所述操作系统通知所述结构信息,当所述可使用空间判断处理的判断结果为所述PCI设备能够使用I/O空间和存储器空间这两个空间时,进行表示所述PCI设备是只能使用存储器空间的PCI设备的通知。
10.根据权利要求9所述的方法,其特征在于,
当从所述结构信息通知处理接收到表示是只能使用存储器空间的PCI设备的通知时,所述操作系统只进行存储器空间的分配,而不进行I/O空间的分配。
11.根据权利要求9所述的方法,其特征在于,
所述结构信息通知处理将预先登记在识别信息存储单元中的第1识别信息与登记在所述结构信息中的第2识别信息进行比较,当该比较结果为一致时,进行表示所述PCI设备是只能使用存储器空间的PCI设备的通知,其中,该识别信息存储单元对识别预定的PCI设备的识别信息进行存储。
12.根据权利要求11所述的方法,其特征在于,
在所述识别信息中包含厂商ID或设备ID中的至少一方。
13.根据权利要求9所述的方法,其特征在于,
所述结构信息通知处理参照关于连接在所述PCI设备的上级的PCI桥的I/O空间,当未向该I/O空间分配PCI设备时,进行表示所述PCI设备是只能使用存储器空间的PCI设备的通知。
14.根据权利要求9所述的方法,其特征在于,
所述结构信息通知处理参照关于连接在所述PCI设备的上级的PCI桥的I/O空间,当要向PCI设备分配的该I/O空间出现了不足时,进行表示所述PCI设备是只能使用存储器空间的PCI设备的通知。
15.根据权利要求9所述的方法,其特征在于,
当所述PCI设备具有请求I/O空间的基地址寄存器和请求存储器空间的基地址寄存器时,所述结构信息通知处理进行表示所述PCI设备是只能使用存储器空间的PCI设备的通知。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2007/000908 WO2009028007A1 (ja) | 2007-08-24 | 2007-08-24 | Pciデバイスのi/o空間要求抑止方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101779196A CN101779196A (zh) | 2010-07-14 |
CN101779196B true CN101779196B (zh) | 2012-08-22 |
Family
ID=40386753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007801002799A Expired - Fee Related CN101779196B (zh) | 2007-08-24 | 2007-08-24 | Pci设备的i/o空间请求抑制方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7886095B2 (zh) |
EP (1) | EP2182444A4 (zh) |
JP (1) | JP5195756B2 (zh) |
KR (1) | KR101172956B1 (zh) |
CN (1) | CN101779196B (zh) |
WO (1) | WO2009028007A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7862640B2 (en) | 2006-03-21 | 2011-01-04 | Donaldson Company, Inc. | Low temperature diesel particulate matter reduction system |
US8166207B2 (en) | 2008-09-29 | 2012-04-24 | Intel Corporation | Querying a device for information |
JP4692912B2 (ja) | 2009-03-18 | 2011-06-01 | 日本電気株式会社 | リソース割り当てシステム、及びリソース割り当て方法 |
JP2013114367A (ja) * | 2011-11-28 | 2013-06-10 | Junko Suginaka | ファイル通信処理方法及び外部デバイス |
US8984174B2 (en) * | 2011-12-06 | 2015-03-17 | Qualcomm Incorporated | Method and a portable computing device (PCD) for exposing a peripheral component interface express (PCIE) coupled device to an operating system operable on the PCD |
KR102255216B1 (ko) * | 2014-11-20 | 2021-05-24 | 삼성전자주식회사 | Pci 장치와 이를 포함하는 pci 시스템 |
CN113194161B (zh) * | 2021-04-26 | 2022-07-08 | 山东英信计算机技术有限公司 | 一种服务器系统mmioh基地址的设置方法、装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001256179A (ja) * | 2000-03-14 | 2001-09-21 | Sharp Corp | プロセッサシステム |
CN1725203A (zh) * | 2005-06-15 | 2006-01-25 | 杭州华为三康技术有限公司 | Pci设备之间进行通信的方法、设备以及计算机系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4188665A (en) * | 1977-11-29 | 1980-02-12 | International Business Machines Corporation | Programmable communications subsystem |
US5682551A (en) * | 1993-03-02 | 1997-10-28 | Digital Equipment Corporation | System for checking the acceptance of I/O request to an interface using software visible instruction which provides a status signal and performs operations in response thereto |
US5613162A (en) * | 1995-01-04 | 1997-03-18 | Ast Research, Inc. | Method and apparatus for performing efficient direct memory access data transfers |
US6243773B1 (en) * | 1997-05-13 | 2001-06-05 | Micron Electronics, Inc. | Configuration management system for hot adding and hot replacing devices |
US6418492B1 (en) * | 1997-05-13 | 2002-07-09 | Micron Electronics | Method for computer implemented hot-swap and hot-add |
JPH11288400A (ja) | 1998-04-03 | 1999-10-19 | Nec Shizuoka Ltd | Pciブリッジデバイス |
JP2001229117A (ja) * | 2000-02-15 | 2001-08-24 | Internatl Business Mach Corp <Ibm> | 拡張ユニットの制御方法、コンピュータ、記録媒体及び伝送媒体 |
JP2002032324A (ja) | 2000-07-17 | 2002-01-31 | Hitachi Ltd | Pciバスデバイス接続制御方式 |
US6536014B1 (en) * | 2001-09-26 | 2003-03-18 | International Business Machines Corporation | Reusable configuration tool |
US7155379B2 (en) * | 2003-02-25 | 2006-12-26 | Microsoft Corporation | Simulation of a PCI device's memory-mapped I/O registers |
US7376782B2 (en) * | 2005-06-29 | 2008-05-20 | Intel Corporation | Index/data register pair for indirect register access |
-
2007
- 2007-08-24 WO PCT/JP2007/000908 patent/WO2009028007A1/ja active Application Filing
- 2007-08-24 KR KR1020107003032A patent/KR101172956B1/ko active IP Right Grant
- 2007-08-24 EP EP07790392A patent/EP2182444A4/en not_active Ceased
- 2007-08-24 JP JP2009529859A patent/JP5195756B2/ja active Active
- 2007-08-24 CN CN2007801002799A patent/CN101779196B/zh not_active Expired - Fee Related
-
2010
- 2010-01-21 US US12/691,048 patent/US7886095B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001256179A (ja) * | 2000-03-14 | 2001-09-21 | Sharp Corp | プロセッサシステム |
CN1725203A (zh) * | 2005-06-15 | 2006-01-25 | 杭州华为三康技术有限公司 | Pci设备之间进行通信的方法、设备以及计算机系统 |
Also Published As
Publication number | Publication date |
---|---|
JP5195756B2 (ja) | 2013-05-15 |
EP2182444A1 (en) | 2010-05-05 |
US20100122009A1 (en) | 2010-05-13 |
CN101779196A (zh) | 2010-07-14 |
KR101172956B1 (ko) | 2012-08-09 |
KR20100031772A (ko) | 2010-03-24 |
JPWO2009028007A1 (ja) | 2010-11-25 |
EP2182444A4 (en) | 2011-04-27 |
US7886095B2 (en) | 2011-02-08 |
WO2009028007A1 (ja) | 2009-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4157710B2 (ja) | Pci入出力スロットの論理分割を実施する方法および装置 | |
JP5210730B2 (ja) | 仮想マシンモニタ及びマルチプロセッサシステム | |
US7987438B2 (en) | Structure for initializing expansion adapters installed in a computer system having similar expansion adapters | |
US7526578B2 (en) | Option ROM characterization | |
US9875208B2 (en) | Method to use PCIe device resources by using unmodified PCIe device drivers on CPUs in a PCIe fabric with commodity PCI switches | |
US7941803B2 (en) | Controlling an operational mode for a logical partition on a computing system | |
CN101779196B (zh) | Pci设备的i/o空间请求抑制方法 | |
US7873754B2 (en) | Structure for option ROM characterization | |
CN105264506B (zh) | 向内存映射配置分配处理器 | |
US20090077297A1 (en) | Method and system for dynamically reconfiguring PCIe-cardbus controllers | |
US20140281069A1 (en) | Multi root shared peripheral component interconnect express (pcie) end point | |
US9423958B2 (en) | System and method for managing expansion read-only memory and management host thereof | |
US10255194B2 (en) | Configurable I/O address translation data structure | |
KR100907722B1 (ko) | 메모리 단편화를 감소시키는 방법, 제조물 및 컴퓨터시스템 | |
JP6242502B2 (ja) | 仮想計算機システムの制御方法及び仮想計算機システム | |
JP4692912B2 (ja) | リソース割り当てシステム、及びリソース割り当て方法 | |
US10838861B1 (en) | Distribution of memory address resources to bus devices in a multi-processor computing system | |
US7568061B2 (en) | Initializing expansion adapters installed in a computer system having similar expansion adapters | |
US8813075B2 (en) | Virtual computer system and method of installing virtual computer system | |
JP2013182461A (ja) | 情報処理装置および情報処理装置におけるリソースの制御方法、並びにコンピュータ・プログラム | |
KR20040075221A (ko) | 제어장치용 롬이 제거된 메인보드에서 포스트 실행 방법 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120822 |
|
CF01 | Termination of patent right due to non-payment of annual fee |