CN102521195A - 一种地址资源分配方法及存储器 - Google Patents
一种地址资源分配方法及存储器 Download PDFInfo
- Publication number
- CN102521195A CN102521195A CN2011103693573A CN201110369357A CN102521195A CN 102521195 A CN102521195 A CN 102521195A CN 2011103693573 A CN2011103693573 A CN 2011103693573A CN 201110369357 A CN201110369357 A CN 201110369357A CN 102521195 A CN102521195 A CN 102521195A
- Authority
- CN
- China
- Prior art keywords
- pci
- equipment
- advance
- model
- amount
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000013468 resource allocation Methods 0.000 title claims abstract description 24
- 230000002093 peripheral effect Effects 0.000 claims abstract description 8
- 238000009826 distribution Methods 0.000 claims description 82
- 238000003860 storage Methods 0.000 claims description 82
- 238000012217 deletion Methods 0.000 claims description 13
- 230000037430 deletion Effects 0.000 claims description 13
- 230000006870 function Effects 0.000 description 78
- 238000013213 extrapolation Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000010181 polygamy Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种地址资源分配方法,获取外围元件互连PCI设备的设备号和功能号,PCI设备的数量和型号;当获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号相同时,查询获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号是否一致;若所述获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号一致,则根据预先存储的PCI设备所需分配的基地址为PCI设备分配地址资源。本发明实施例所提供的地址资源分配方法,不需要在每次开机后都要询问PCI设备需要多少地址资源,等待PCI设备回复后,再进行地址资源分配,可以减少开机时间,加速系统启动。
Description
技术领域
本发明实施例涉及通信领域,尤其涉及一种为外围元件互连(PCI,Peripheral Component Interconnection)总线设备地址资源分配方法和存储器。
背景技术
基本输入输出系统(BIOS,Basic Input Output System)担负着初始化硬件,检测硬件功能,以及引导操作系统的责任。BIOS存放于一个掉电后内容不会丢失的只读存储器中,系统加电时处理器的第一条指令的地址会被定位到BIOS的存储器中,便于使初始化程序得到执行。
按照PCI规范,BIOS向PCI设备的基地址(Base Address)寄存器写入“-1”(或表示为32位宽的十六进制数0xFFFFFFFF),PCI设备收到指令后,反馈给BIOS自身需要的地址资源大小,BIOS读取这个资源数,据此来设定该设备的访问资源基地址(Base Address)。基地址设置完成后,BIOS才可以对该PCI设备的寄存器采用基地址+偏移量(offset)的方式进行访问,并做更多配置。
目前常见的PCI设备地址资源分配方法为:
BIOS完成CPU、内存等的初始化后,进入PCI设备初始化的阶段;
从“根总线”(bus number=0)开始,逐层找到所有PCI设备,并为其分配总线号;
向每一个PCI设备的基地址寄存器中写入“-1”,然后等待PCI设备处理;
PCI设备反馈自己所需的分配的基地址;
BIOS根据反馈的分配的基地址,在整个系统还未分配的地址空间中分配一段给相应的PCI设备,即是向该PCI设备的基地址寄存器中写入为其分配的基地址。
本发明的发明人发现每次开机都要执行上述地址资源分配流程,而当系统扩大,PCI设备增多后,这一流程相对要占用更多时间,从而增加开机时间,不利于系统的快速启动。
发明内容
本发明实施例提供了一种分配地址资源的方法,可以减少开机时间,加速系统启动。
一种地址资源分配方法,包括:
获取外围元件互连PCI设备的设备号和功能号,PCI设备的数量和型号;
当获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号相同时,查询获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号是否一致;
若所述获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号一致,则根据预先存储的PCI设备所需分配的基地址为PCI设备分配地址资源。
一种存储器,包括:
获取单元,用于PCI设备的设备号和功能号,PCI设备的数量和型号;
查询单元,用于当获取单元获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号相同时,查询获取单元获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号是否一致;
地址分配单元,用于在查询单元查询到所述获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号一致时,根据预先存储的PCI设备所需分配的基地址为PCI设备分配地址资源。
本发明实施例采用获取外围元件互连PCI设备的设备号和功能号,PCI设备的数量和型号;当获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号相同时,查询获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号是否一致;若所述获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号一致,则根据预先存储的PCI设备所需分配的基地址为PCI设备分配地址资源。与现有技术相比,本发明实施例所提供的地址资源分配方法,不需要在每次开机后都要询问PCI设备需要多少地址资源,等待PCI设备回复后,再进行地址资源分配,可以减少开机时间,加速系统启动。
附图说明
图1为本发明实施例中地址资源分配方法的一实施例示意图;
图2为本发明实施例中地址资源分配方法应用场景实施例示意图;
图3为本发明存储器的一实施例示意图;
图4为本发明存储器的另一实施例示意图;
图5为本发明存储器的另一实施例示意图
图6为本发明存储器的另一实施例示意图。
具体实施方式
本发明实施例提供了一种分配地址资源的方法,可以减少开机时间,加速系统启动。本发明实施例还提供了相应的存储器。下面分别进行详细说明。
请参阅图1,本发明地址资源分配方法的一实施例包括:
101、获取PCI设备的设备号和功能号,PCI设备的数量和型号。
首次开机时,基本输入输出系统BIOS完成CPU、内存等的初始化后,进入PCI设备初始化的阶段;
从“根总线”(bus number=0)开始,逐层找到所有PCI设备,并为其分配总线号,向每一个PCI设备的基地址寄存器中写入“-1”,然后等待PCI设备处理,PCI设备反馈自己所需的分配的基地址,BIOS根据反馈的分配的基地址,在整个系统还未分配的地址空间中分配一段给相应的PCI设备,即是向该PCI设备的基地址寄存器中写入为其分配的基地址。
在开机后,可以获取每个PCI设备所需分配的基地址,在逐层找到所有PCI设备时,可以获取每个PCI设备的设备号和功能号,PCI设备的数量和型号;将获取到的每个PCI设备所需分配的基地址和每个PCI设备的设备号和功能号,PCI设备的数量和型号;对应存储在存储器中,以方便后续开机时直接读取。
PCI设备的数量和型号通过PCI设备生产商标识符(VID,VendorIdentifier),设备标识符(DID,Device Identifier)和版本号(RID,RevisionIdentifier),来反映,获取PCI设备的数量和型号具体为:获取PCI设备的生产商标识符,设备标识符和版本号;并将所述生产商标识符,设备标识符和版本号与PCI设备的设备号和功能号对应存储。
首次开机后,存储器中会有预先存储的PCI设备的设备号和功能号,PCI设备的数量和型号和预先存储的PCI设备所需分配的基地址;
在非首次开机时,要想知道PCI设备是否发生变化,需要获取PCI设备的设备号和功能号,PCI设备的数量和型号。
102、当获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号相同时,查询获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号是否一致;若一致,执行步骤103。
在后一次开机时,以第二次开机为例,存储器中已经有首次开机时所存储的PCI设备的设备号和功能号,PCI设备的数量和型号,当PCI设备的设备号和功能号与之前存储的PCI设备的设备号和功能号相同时,只需要考虑PCI设备的数量和型号是否发生变化,无论是数量变化还是型号变化,都认为是PCI设备的数量和型号不一致;
PCI设备包括PCI根桥设备和PCI外插设备,PCI根桥设备有外接插槽,PCI外插设备插接在PCI根桥设备上,PCI根桥设备在数量和型号上是不会发生变化的,变化的只有PCI外插设备。
关于PCI外插设备的认定可采用如下方法,用一份列表记录PCI设备的VID和DID,在该表上会给出PCI设备是否为PCI根桥设备,所述PCI根桥设备上是否有外接插槽,每个插槽对应的总线号可以查看PCI根桥设备上的根接口(Root Port)寄存器信息来确定,只需判断哪些设备接在Root Port上来确定PCI外插设备,其中确定PCI外插设备的表如下:
表1
Device ID & Vendor ID | 是否为PCI根桥设备 | 是否有外接插槽 |
mmmm8086 | Ye s | Yes |
xxxx8086 | Yes | No |
nnnn10ec | No | No |
即通过这个表格就可以知道哪个设备(VID和DID与PCI设备是一一对应的)是桥设备,它是否有引出外接插槽。如果有引出外接插槽,那么接在它的RootPort后面的PCI设备就被认定为外插设备。
查询获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号是否一致具体为:查询获取的PCI设备的生产商标识符,设备标识符和版本号与预先存储的PCI设备的生产商标识符,设备标识符和版本号是否一致;若一致,说明PCI外插设备在数量和型号上都没有变化。
103、若所述获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号一致,则根据预先存储的PCI设备所需分配的基地址为PCI设备分配地址资源。
当获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号一致时,即本次开机时查询到的PCI设备的数量与型号与前一次开机时的PCI设备的数量与型号相同,从根据预先存储的PCI设备所需分配的基地址为PCI设备分配地址资源,对应的将为PCI设备分配的地址资源写入到PCI设备基地址寄存器中。
本发明实施例获取PCI设备的设备号和功能号,PCI设备的数量和型号;当获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号相同时,查询获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号是否一致;若所述获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号一致,则根据预先存储的PCI设备所需分配的基地址为PCI设备分配地址资源。与现有技术相比,本发明实施例所提供的地址资源分配方法,不需要在每次开机后都要询问PCI设备需要多少地址资源,等待PCI设备回复后,再进行地址资源分配,可以减少开机时间,加速系统启动。
可选地,在图1对应的实施例的基础上,在步骤101之后还可以包括:判断获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号是否相同。判断获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号是否相同具体为:判断获取的PCI设备的功能配置项是否发生变化,所述功能配置项为影响设备号和功能号的的选项;若所述功能配置项未发生变化,则获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号相同;若所述功能配置项发生变化,则获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号不相同。所述功能配置选项包括硬盘的AHCI、RAID,显卡的HDMI。
可选地,在图1对应的实施例的基础上,当获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号不相同时,获取PCI设备所需分配的基地址,并将获取的PCI设备所需分配的基地址与获取的PCI设备的设备号和功能号对应存储;并删除预先存储的PCI设备所需分配的基地址和预先存储的PCI设备的设备号和功能号。
可选地,在图1对应的实施例的基础上,当所述获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号不一致时,获取PCI设备所需分配的基地址,并将获取的PCI设备所需分配的基地址与获取的PCI设备的数量和型号对应存储;并删除预先存储的PCI设备所需分配的基地址和预先存储的PCI设备的数量和型号。
为便于理解,下面以具体应用场景为例,对本发明提供的地址资源分配方法进行详细说明。
参阅图2,本发明应用场景的一实施例包括:
201、首次开机时,获取并对应存储PCI设备所需分配的基地址,PCI设备的设备号和功能号,PCI设备的数量与型号。
从“根总线”(bus number=0)开始,逐层找到所有PCI设备,并为其分配总线号,向每一个PCI设备的基地址寄存器中写入“-1”,然后等待PCI设备处理,PCI设备反馈自己所需的分配的基地址,BIOS根据反馈的分配的基地址,在整个系统还未分配的地址空间中分配一段给相应的PCI设备,即是向该PCI设备的基地址寄存器中写入为其分配的基地址。
在首次开机后,可以获取每个PCI设备所需分配的基地址,在逐层找到所有PCI设备时,可以获取每个PCI设备的设备号和功能号,将所述获取到的每个PCI设备所需分配的基地址和每个PCI设备的设备号和功能号存储在存储器中,存储列表如下:
表2
PCI设备 | 分配的基地址 | 总线号 | 设备号 | 功能号 |
PCI设备0 | 0xFE4C1000 | Bus0 | Dev0 | Func0 |
PCI设备1 | 0xC400 | Bus1 | Dev1 | Func1 |
PCI设备2 | 0xE8A52000 | Bus2 | Dev2 | Func2 |
本实施例中只给出3个PCI设备,实际上可以为多个。
在获取上表2中的信息的同时,还可以获取到下表3:
表3
PCI设备 | 分配的基地址 | VID | DID | RID |
PCI设备0 | 0xFE4C1000 | 0x8086 | 0x56F3 | 0x03 |
PCI设备1 | 0xC400 | 0x8087 | 0x56F4 | 0x04 |
PCI设备2 | 0xE8A52000 | 0x8088 | 0x56F5 | 0x05 |
202、第二次开机时,获取PCI设备的设备号和功能号,PCI设备的数量和型号。
203、判断PCI设备的功能配置项是否发生变化,若是,执行步骤206,若否,执行步骤204。
所述功能配置项为影响设备号和功能号的的选项,所述功能配置选项包括硬盘的AHCI、RAID,显卡的HDMI。
功能配置选项影响PCI设备的设备号和功能号,若功能配置选项有变化,说明PCI设备的设备号和功能号不相同;若功能配置选项没有变化,说明PCI设备的设备号和功能号相同。
204、查询获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号是否一致;若是执行步骤205,若否,执行步骤207。
在PCI设备的功能配置项没有发生变化时,说明PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号相同,再查询获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号是否一致,也就是要查询是否有新增的PCI外接设备,将插接在Root Port上的外插设备与上次开机时存储的表3中的PCI设备中的VID、DID和RID做比较,比较后,有不同的VID、DID和RID存在,就说明新增了PCI外接设备或PCI外接设备的型号发生了变化,这时执行步骤207,如果比较后没有不同的VID、DID和RID存在,说明PCI外接设备的数量和型号没发生变化。
205、根据预先存储的PCI设备所需分配的基地址为PCI设备分配地址资源。
206、获取PCI设备所需分配的基地址,并将获取的PCI设备所需分配的基地址与获取的PCI设备的设备号和功能号对应存储;并删除预先存储的PCI设备所需分配的基地址和预先存储的PCI设备的设备号和功能号。
207、获取PCI设备所需分配的基地址,并将获取的PCI设备所需分配的基地址与获取的PCI设备的数量和型号对应存储;并删除预先存储的PCI设备所需分配的基地址和预先存储的PCI设备的数量和型号。
当PCI设备的功能配置项发生变化或PCI设备的数量或型号发生变化后,按照现有技术中的技术方案,重新询问PCI设备所需分配的基地址,等待回复后,在为每个PCI设备重新分配地址资源,同时获取并存储每个PCI设备所需分配的基地址和每个PCI设备的设备号和功能号,同时删除之前所存储的每个PCI设备所需分配的基地址和每个PCI设备的设备号和功能号。
本发明实施例采用首次开机时,获取并对应存储每个PCI设备所需分配的基地址和每个PCI设备的设备号和功能号,PCI设备的数量和型号,后一次开机时,获取PCI设备的设备号和功能号,PCI设备的数量和型号;当PCI设备的设备号和功能号与之前存储的PCI设备的设备号和功能号相同时查询获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号是否一致,若一致,根据预先存储的PCI设备所需分配的基地址为PCI设备分配地址资源。与现有技术相比,本发明实施例所提供的地址资源分配方法,不需要在每次开机后都要询问PCI设备需要多少地址资源,再等待PCI设备回复后,再进行地址资源分配,可以减少开机时间,加速系统启动。
参阅图3,本发明存储器的一实施例包括:获取单元301、查询单元302和地址分配单元303。
获取单元301,用于获取PCI设备的设备号和功能号,PCI设备的数量和型号;
查询单元302,用于当获取单元301获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号相同时,查询获取单元301获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号是否一致;
地址分配单元303,用于在查询单元302查询到所述获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号一致时,根据预先存储的PCI设备所需分配的基地址为PCI设备分配地址资源。
本发明实施例中,获取单元301获取PCI设备的设备号和功能号,PCI设备的数量和型号;查询单元302,当获取单元301获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号相同时,查询获取单元301获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号是否一致;地址分配单元303,在查询单元302查询到所述获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号一致时,根据预先存储的PCI设备所需分配的基地址为PCI设备分配地址资源。与现有技术相比,本发明实施例所提供的地址资源分配方法,不需要在每次开机后都要询问PCI设备需要多少地址资源,再等待PCI设备回复后,再进行地址资源分配,可以减少开机时间,加速系统启动。
参阅图4,本发明存储器的另一实施例还包括:存储单元304。
获取单元301,还用于当首次开机时,获取PCI设备所需分配的基地址;
存储单元304,用于将获取单元301获取的PCI设备所需分配的基地址与获取的PCI设备的设备号和功能号,PCI设备的数量和型号对应存储。
参阅图4,本发明存储器的另一实施例还包括:
获取单元301,还用于获取PCI设备的生产商标识符,设备标识符和版本号;
查询单元302,还用于查询获取的PCI设备的生产商标识符,设备标识符和版本号与预先存储的PCI设备的生产商标识符,设备标识符和版本号是否一致。
本发明实施例中,获取单元301获取PCI设备的生产商标识符,设备标识符和版本号;查询单元302查询获取的PCI设备的生产商标识符,设备标识符和版本号与预先存储的PCI设备的生产商标识符,设备标识符和版本号是否一致。
参阅图5,本发明存储器的另一实施例还包括:删除单元305
获取单元301,还用于当获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号不相同时,获取PCI设备所需分配的基地址;
存储单元304,还用于将获取单元301获取的PCI设备所需分配的基地址与获取的PCI设备的设备号和功能号对应存储;
删除单元305,用于在存储单元304对应存储PCI设备所需分配的基地址与获取的PCI设备的设备号和功能号后,删除预先存储的PCI设备所需分配的基地址和预先存储的PCI设备的设备号和功能号。
本发明实施例中,获取单元301当获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号不相同时,获取PCI设备所需分配的基地址;存储单元304将获取单元301获取的PCI设备所需分配的基地址与获取的PCI设备的设备号和功能号对应存储;删除单元305在存储单元304对应存储PCI设备所需分配的基地址与获取的PCI设备的设备号和功能号后,删除预先存储的PCI设备所需分配的基地址和预先存储的PCI设备的设备号和功能号。本发明实施例可以在获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号不相同时,替换掉预先存储的内容,便于下一次开机时快速启动。
参阅图5,本发明存储器的另一实施例还包括:
获取单元301,还用于当所述获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号不一致时,获取PCI设备所需分配的基地址;
存储单元304,还用于将获取单元301获取的PCI设备所需分配的基地址与获取的PCI设备的数量和型号对应存储;
删除单元305,还用于在存储单元304对应存储PCI设备所需分配的基地址与获取的PCI设备的数量和型号后,删除预先存储的PCI设备所需分配的基地址和预先存储的PCI设备的数量和型号。
本发明实施例中,获取单元301当所述获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号不一致时,获取PCI设备所需分配的基地址,存储单元304将获取单元301获取的PCI设备所需分配的基地址与获取的PCI设备的数量和型号对应存储;删除单元305在存储单元304对应存储PCI设备所需分配的基地址与获取的PCI设备的数量和型号后,删除预先存储的PCI设备所需分配的基地址和预先存储的PCI设备的数量和型号。本发明实施例可以在获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号不一致时,替换掉预先存储的内容,便于下一次开机时快速启动。
参阅图6,本发明存储器的另一实施例还包括:判断单元306。
判断单元306,用于判断获取单元301获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号是否相同。
所述判断单元306,还用于判断获取的PCI设备的功能配置项是否发生变化,所述功能配置项为影响设备号和功能号的的选项。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明所提供的地址资源分配方法及存储器进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,因此,本说明书内容不应理解为对本发明的限制。
Claims (14)
1.一种地址资源分配方法,其特征在于,包括:
获取外围元件互连PCI设备的设备号和功能号,PCI设备的数量和型号;
当获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号相同时,查询获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号是否一致;
若所述获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号一致,则根据预先存储的PCI设备所需分配的基地址为PCI设备分配地址资源。
2.根据权利要求1所述的地址资源分配方法,其特征在于,当首次开机时,还包括:
获取PCI设备所需分配的基地址,并将获取的PCI设备所需分配的基地址与获取的PCI设备的设备号和功能号,PCI设备的数量和型号对应存储。
3.根据权利要求1所述的地址资源分配方法,其特征在于,还包括:
当获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号不相同时,获取PCI设备所需分配的基地址,并将获取的PCI设备所需分配的基地址与获取的PCI设备的设备号和功能号对应存储;并删除预先存储的PCI设备所需分配的基地址和预先存储的PCI设备的设备号和功能号。
4.根据权利要求1所述的地址资源分配方法,其特征在于,还包括:
当所述获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号不一致时,获取PCI设备所需分配的基地址,并将获取的PCI设备所需分配的基地址与获取的PCI设备的数量和型号对应存储;并删除预先存储的PCI设备所需分配的基地址和预先存储的PCI设备的数量和型号。
5.根据权利要求1所述的地址资源分配方法,其特征在于,所述获取外围元件互连PCI设备的设备号和功能号之后还包括:
判断获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号是否相同。
6.根据权利要求5所述的地址资源分配方法,其特征在于,所述判断获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号是否相同具体为:
判断获取的PCI设备的功能配置项是否发生变化,所述功能配置项为影响设备号和功能号的的选项;
若所述功能配置项未发生变化,则获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号相同;
若所述功能配置项发生变化,则获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号不相同。
7.根据权利要求1~6任意一项所述的地址资源分配方法,其特征在于,
所述获取PCI设备的数量和型号具体为:获取PCI设备的生产商标识符,设备标识符和版本号;
所述查询获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号是否一致具体为:查询获取的PCI设备的生产商标识符,设备标识符和版本号与预先存储的PCI设备的生产商标识符,设备标识符和版本号是否一致。
8.一种存储器,其特征在于,包括:
获取单元,用于获取PCI设备的设备号和功能号,PCI设备的数量和型号;
查询单元,用于当获取单元获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号相同时,查询获取单元获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号是否一致;
地址分配单元,用于在查询单元查询到所述获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号一致时,根据预先存储的PCI设备所需分配的基地址为PCI设备分配地址资源。
9.根据权利要求8所述的存储器,其特征在于,还包括:
所述获取单元,还用于当首次开机时,获取PCI设备所需分配的基地址;
存储单元,用于将获取单元获取的PCI设备所需分配的基地址与获取的PCI设备的设备号和功能号,PCI设备的数量和型号对应存储。
10.根据权利要求9所述的存储器,其特征在于,还包括:
所述获取单元,还用于当获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号不相同时,获取PCI设备所需分配的基地址;
所述存储单元,还用于将获取单元获取的PCI设备所需分配的基地址与获取的PCI设备的设备号和功能号对应存储;
删除单元,用于在存储单元对应存储PCI设备所需分配的基地址与获取的PCI设备的设备号和功能号后,删除预先存储的PCI设备所需分配的基地址和预先存储的PCI设备的设备号和功能号。
11.根据权利要求10所述的存储器,其特征在于,还包括:
所述获取单元,还用于当所述获取的PCI设备的数量和型号与预先存储的PCI设备的数量和型号不一致时,获取PCI设备所需分配的基地址;
所述存储单元,还用于将获取单元获取的PCI设备所需分配的基地址与获取的PCI设备的数量和型号对应存储;
所述删除单元,还用于在存储单元对应存储PCI设备所需分配的基地址与获取的PCI设备的数量和型号后,删除预先存储的PCI设备所需分配的基地址和预先存储的PCI设备的数量和型号。
12.根据权利要求8~11任意一项所述的存储器,其特征在于,还包括:
判断单元,用于判断获取单元获取的PCI设备的设备号和功能号与预先存储的PCI设备的设备号和功能号是否相同。
13.根据权利要求12所述的存储器,其特征在于,还包括:
所述判断单元,还用于判断获取的PCI设备的功能配置项是否发生变化,所述功能配置项为影响设备号和功能号的的选项。
14.根据权利要求13所述的存储器,其特征在于,还包括:
所述获取单元,还用于获取PCI设备的生产商标识符,设备标识符和版本号;
所述查询单元,还用于查询获取的PCI设备的生产商标识符,设备标识符和版本号与预先存储的PCI设备的生产商标识符,设备标识符和版本号是否一致。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110369357.3A CN102521195B (zh) | 2011-11-18 | 2011-11-18 | 一种地址资源分配方法及存储器 |
PCT/CN2012/075772 WO2012163231A1 (zh) | 2011-11-18 | 2012-05-19 | 一种地址资源分配方法及存储器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110369357.3A CN102521195B (zh) | 2011-11-18 | 2011-11-18 | 一种地址资源分配方法及存储器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102521195A true CN102521195A (zh) | 2012-06-27 |
CN102521195B CN102521195B (zh) | 2015-04-29 |
Family
ID=46292124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110369357.3A Active CN102521195B (zh) | 2011-11-18 | 2011-11-18 | 一种地址资源分配方法及存储器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102521195B (zh) |
WO (1) | WO2012163231A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126394A (zh) * | 2016-08-22 | 2016-11-16 | 浪潮(北京)电子信息产业有限公司 | 带外监控管理获取pcie设备资产信息的方法及系统 |
CN107102952A (zh) * | 2016-02-22 | 2017-08-29 | 佛山市顺德区顺达电脑厂有限公司 | 存储器资源的配置方法 |
CN109324899A (zh) * | 2018-09-10 | 2019-02-12 | 中国电子科技集团公司电子科学研究院 | 基于PCIe池化硬件资源的编址方法、装置及主控节点 |
CN113067912A (zh) * | 2021-03-11 | 2021-07-02 | 山东英信计算机技术有限公司 | 一种pci设备的资源地址分配方法、系统及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1501241A (zh) * | 2002-11-18 | 2004-06-02 | 英业达股份有限公司 | 计算机开机预设值的加载方法 |
CN101510158A (zh) * | 2008-02-14 | 2009-08-19 | 日本电气株式会社 | 信息处理设备及信息处理设备中的设备初始化方法 |
CN101699415A (zh) * | 2009-10-29 | 2010-04-28 | 威盛电子股份有限公司 | 核心逻辑电路、计算机系统及外围设备初始化方法 |
CN102117259A (zh) * | 2009-12-31 | 2011-07-06 | 成都市华为赛门铁克科技有限公司 | 地址空间资源分配处理方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1211735C (zh) * | 2002-06-26 | 2005-07-20 | 联想(北京)有限公司 | 硬件设备驱动程序的安装方法 |
CN1323362C (zh) * | 2005-09-21 | 2007-06-27 | 杭州华为三康技术有限公司 | 网络设备及其外围器件互连资源的分配方法 |
-
2011
- 2011-11-18 CN CN201110369357.3A patent/CN102521195B/zh active Active
-
2012
- 2012-05-19 WO PCT/CN2012/075772 patent/WO2012163231A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1501241A (zh) * | 2002-11-18 | 2004-06-02 | 英业达股份有限公司 | 计算机开机预设值的加载方法 |
CN101510158A (zh) * | 2008-02-14 | 2009-08-19 | 日本电气株式会社 | 信息处理设备及信息处理设备中的设备初始化方法 |
CN101699415A (zh) * | 2009-10-29 | 2010-04-28 | 威盛电子股份有限公司 | 核心逻辑电路、计算机系统及外围设备初始化方法 |
CN102117259A (zh) * | 2009-12-31 | 2011-07-06 | 成都市华为赛门铁克科技有限公司 | 地址空间资源分配处理方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107102952A (zh) * | 2016-02-22 | 2017-08-29 | 佛山市顺德区顺达电脑厂有限公司 | 存储器资源的配置方法 |
CN107102952B (zh) * | 2016-02-22 | 2020-12-08 | 佛山市顺德区顺达电脑厂有限公司 | 存储器资源的配置方法 |
CN106126394A (zh) * | 2016-08-22 | 2016-11-16 | 浪潮(北京)电子信息产业有限公司 | 带外监控管理获取pcie设备资产信息的方法及系统 |
CN109324899A (zh) * | 2018-09-10 | 2019-02-12 | 中国电子科技集团公司电子科学研究院 | 基于PCIe池化硬件资源的编址方法、装置及主控节点 |
CN109324899B (zh) * | 2018-09-10 | 2022-05-20 | 中国电子科技集团公司电子科学研究院 | 基于PCIe池化硬件资源的编址方法、装置及主控节点 |
CN113067912A (zh) * | 2021-03-11 | 2021-07-02 | 山东英信计算机技术有限公司 | 一种pci设备的资源地址分配方法、系统及装置 |
CN113067912B (zh) * | 2021-03-11 | 2023-04-07 | 山东英信计算机技术有限公司 | 一种pci设备的资源地址分配方法、系统及装置 |
US11924116B2 (en) | 2021-03-11 | 2024-03-05 | Shandong Yingxin Computer Technologies Co., Ltd. | Resource address allocation method, system and apparatus for PCI device |
Also Published As
Publication number | Publication date |
---|---|
WO2012163231A1 (zh) | 2012-12-06 |
CN102521195B (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210182221A1 (en) | Novel ssd architecture for fpga based acceleration | |
US10282192B1 (en) | Updating device code through a bus | |
CN104360883B (zh) | 一种配置Raid的方法及系统 | |
US10565103B2 (en) | Method for creating multi-namespace and method for accessing data therein | |
CN110196729B (zh) | 应用程序更新方法、设备和装置及存储介质 | |
US10459812B2 (en) | Seamless method for booting from a degraded software raid volume on a UEFI system | |
US8661163B2 (en) | Tag allocation for queued commands across multiple devices | |
CN109324991B (zh) | 一种pcie设备的热插拔装置、方法、介质及系统 | |
US8868793B2 (en) | SAS expander system and method for dynamically allocating SAS addresses to SAS expander devices | |
CN102521195B (zh) | 一种地址资源分配方法及存储器 | |
US20180226137A1 (en) | Verification of storage media upon deployment | |
US10768948B2 (en) | Apparatus and method for dynamic modification of machine branding of information handling systems based on hardware inventory | |
US9280493B2 (en) | Method and device for enumerating input/output devices | |
CN103530254B (zh) | 多节点系统的外部设备互联枚举方法和装置 | |
US8086834B2 (en) | System and method for populating a dedicated system service repository for an information handling system | |
WO2017202128A1 (zh) | 非linux系统软件boot参数传递方法及系统 | |
CN104182352A (zh) | 用于访问4gb以上物理内存地址空间的方法及装置 | |
CN106648878B (zh) | 一种系统及其动态分配mmio资源的方法 | |
CN102591691A (zh) | 硬盘启动方法和基于bios的操作系统启动加载方法 | |
CN114637473A (zh) | 虚拟资源的分配方法和装置、电子设备和存储介质 | |
US20170060807A1 (en) | Pci-e real-time flow control optimization | |
US10678552B2 (en) | Hardware for system firmware use | |
CN111063387B (zh) | 一种固态硬盘性能测试方法、装置、设备及存储介质 | |
US20230089104A1 (en) | Usb controller endpoint resource management | |
CN114185650B (zh) | Linux系统下识别SCSI设备的方法、系统、设备及存储介质 |
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 |
Effective date of registration: 20211229 Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province Patentee after: xFusion Digital Technologies Co., Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |