CN104239170A - Pci设备测试方法及系统 - Google Patents

Pci设备测试方法及系统 Download PDF

Info

Publication number
CN104239170A
CN104239170A CN201310238884.XA CN201310238884A CN104239170A CN 104239170 A CN104239170 A CN 104239170A CN 201310238884 A CN201310238884 A CN 201310238884A CN 104239170 A CN104239170 A CN 104239170A
Authority
CN
China
Prior art keywords
pci
pci equipment
equipment
information
essential 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.)
Pending
Application number
CN201310238884.XA
Other languages
English (en)
Inventor
贺颜
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.)
Hongfujin Precision Industry Shenzhen Co Ltd
Hon Hai Precision Industry Co Ltd
Original Assignee
Hongfujin Precision Industry Shenzhen Co Ltd
Hon Hai Precision Industry Co 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 Hongfujin Precision Industry Shenzhen Co Ltd, Hon Hai Precision Industry Co Ltd filed Critical Hongfujin Precision Industry Shenzhen Co Ltd
Priority to CN201310238884.XA priority Critical patent/CN104239170A/zh
Publication of CN104239170A publication Critical patent/CN104239170A/zh
Pending legal-status Critical Current

Links

Abstract

一种PCI设备测试系统及方法,该系统包括:配置模块,用于为PCI设备配置XML文件,以存储PCI设备的基本信息;解析模块,用于解析XML文件到一个结构体数组中,将PCI设备存储于一个树形链表结构中;判断模块,用于当树形链表结构中PCI设备编号都能在结构体数组中找到时,逐个判断PCI设备的基本信息是否和预设信息一致,当PCI设备的基本信息和预设信息一致时,判断该PCI设备是否为桥设备;测试模块,用于当该PCI设备是桥设备时,判断该PCI设备的下游PCI设备是否丢失,并逐个判断该PCI设备的下游PCI设备的基本信息和预设信息是否一致。本发明通过遍历树形链表结构,实现快速测试并定位PCI设备。

Description

PCI设备测试方法及系统
技术领域
本发明涉及一种PCI设备测试方法及系统。
背景技术
服务器上的PCI(英文全称:Peripheral Component Interconnect,中文全称是外围部件接口)设备,例如,网卡、SAS芯片等越来越多,对于这些PCI设备的测试,业界通常的测试方法是按照PCI设备的总线号(0-255),设备号(0-32),功能号(0-8)从小到大的顺序来检索和测试每个PCI设备,这样的方法需一个一个的进行I/O端口读写,读写I/O端口的次数过频,导致测试PCI设备花费时间多,效率低下。
发明内容
鉴于以上内容,有必要提供一种PCI设备测试方法及系统。
所述PCI设备测试方法包括:为服务器主板上每个PCI设备各配置一个可扩展标记语言XML文件,该XML文件用来存储每个PCI设备的基本信息;解析每个XML文件,将解析得到的信息保存到一个结构体数组中;当服务器的操作系统启动时,搜索操作系统中所有PCI设备,且根据所有PCI设备和PCI总线的连接关系,将搜索到的PCI设备存储于一个树形链表结构中;当树形链表结构中的每个PCI设备的编号都能在结构体数组中找到时,逐个判断PCI设备的基本信息是否和预设信息一致;当该PCI设备的基本信息和预设信息一致时,判断该PCI设备是否为桥设备;当该PCI设备是桥设备时,判断该PCI设备的下游PCI设备是否存在丢失,并逐个判断该PCI设备的下游PCI设备的基本信息和预设信息是否一致,以判断该PCI设备是否通过测试。
所述PCI设备测试系统包括:配置模块,用于为服务器主板上每个PCI设备各配置一个可扩展标记语言XML文件,该XML文件用来存储每个PCI设备的基本信息;解析模块,用于解析每个XML文件,将解析得到的信息保存到一个结构体数组中;解析模块还用于当服务器的操作系统启动时,搜索操作系统中所有PCI设备,且根据所有PCI设备和PCI总线的连接关系,将搜索到的PCI设备存储于一个树形链表结构中;判断模块,用于当树形链表结构中的每个PCI设备的编号都能在结构体数组中找到时,逐个判断PCI设备的基本信息是否和预设信息一致;判断模块还用于当该PCI设备的基本信息和预设信息一致时,判断该PCI设备是否为桥设备;测试模块,用于当该PCI设备是桥设备时,判断该PCI设备的下游PCI设备是否存在丢失,并逐个判断该PCI设备的下游PCI设备的基本信息和预设信息是否一致,以判断该PCI设备是否通过测试。
本发明通过遍历树形链表结构,实现快速测试并定位PCI设备。
附图说明
图1是本发明PCI设备测试系统的较佳实施方式的运行环境图。
图2是本发明PCI设备测试系统的较佳实施方式的功能模块图。
图3是本发明PCI设备测试方法的较佳实施方式的流程图。
图4是本发明所述树形链表结构的示意图。
主要元件符号说明
服务器 1
PCI设备测试系统 10
存储器 12
处理器 14
PCI设备 16
配置模块 100
解析模块 102
判断模块 104
报告模块 106
测试模块 108
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
如图1所示,是本发明PCI设备测试系统较佳实施例的运行环境图。在本实施例中,该PCI(英文全称:Peripheral Component Interconnect,中文全称是外围部件接口)设备测试系统10运行在一服务器1上,该服务器1包括存储器12、处理器14、多个PCI设备16(如图1,为三个)等其它元件。所述PCI设备16可以为网卡、SAS芯片等元件。
在本实施例中,所述PCI设备测试系统10可以被分割成一个或多个模块,所述一个或多个模块被配置成由一个或多个处理器(本实施例为一个处理器14)执行,以完成本发明。例如,参阅图2所示,所述PCI设备测试系统10被分割成配置模块100、解析模块102、判断模块104,报告模块106以及测试模块108。本发明所称的模块是完成一特定功能的程序段,比程序更适合于描述软件在服务器1中的执行过程,关于各模块的功能参阅图3的描述。
如图3所示,是本发明PCI设备测试方法的较佳实施例的流程图。
步骤S11,配置模块100为服务器1主板上每个PCI设备16各配置一个可扩展标记语言XML(英文全称为:extensible markup language)文件,该XML文件用来存储每个PCI设备16的基本信息,且该XML文件以每个PCI设备16的编号命名。本实施方式中,所述XML文件存储的每个PCI设备16的基本信息可以包括:每个PCI设备16的设备号、功能号、厂商ID、设备ID、编号、上游PCI设备16的编号、下游PCI设备16的编号、以及带宽等信息。所述下游PCI设备16为该PCI设备16做为桥设备时下面挂载的设备,所述上游PCI设备16是作为桥设备挂载该PCI设备16的设备。
所述PCI设备16的编号用于标示每个PCI设备在服务器1主板上的唯一位置,例如可以按照一定顺序将服务器1主板上的PCI设备16用1、2、3、4等编号标示。
步骤S12,解析模块102解析每个PCI设备16的XML文件,将解析得到的信息保存到一个结构体数组中,该结构体数组可以记为A[N]。
步骤S13,当服务器1的操作系统(例如,LINUX系统)启动时,解析模块102解析服务器1的操作系统的初始化文件,根据该初始化文件搜索操作系统中所有的PCI设备16,且根据所有PCI设备16和PCI总线的连接关系,生成一个树形链表结构,用于存储搜索到的所有PCI设备16的基本信息。如图4所示,本实施方式中,所述树形链表结构由主桥设备(Host bridge)、PCI主总线(BUS 0)、连接在PCI主总线上的PCI设备,属于桥设备的PCI设备的次PCI总线(如,bus 1、bus 2、bus 3、bus 4、以及bus 5),以及连接在次PCI总线上的PCI设备构成。所述树形链表结构的生成方法为:
1) 解析服务器1的操作系统初始化内存文件,得到所有的PCI设备16。
2) 按照shell排序法,将PCI设备16按照从小到大的顺序,形成线性链表。
3) 自行设定一个host_Bridge,其有个链域指向BUS 0。
4) 读写每个PCI设备16的头类型寄存器,查找出属于桥设备的PCI桥设备16,同样形成从小到大的顺序线性链表,挂于host_bridge的链域成员chain中。
5) 每个属于桥设备的PCI设备16都有一个成员用来存储其下游BUS及最深度BUS,以及其下所有设备,在每个属于桥设备的PCI设备16下面,依序插入一根以第二总线号为标示的总线。
6) 遍历所有PCI设备16,将每个PCI设备根据其总线号挂载在对应的总线结构下,同时每个总线结构中分配一个成员用来存储该总线下所挂载的PCI设备16的总数,从而形成了如图4所示的树形链表结构,其中头结点为host_bridge。
步骤S14,判断模块104判断树形链表结构中的每个PCI设备16的编号是否都能在结构体数组A[N]中找到,当树形链表结构中的每个PCI设备16的编号都能在结构体数组A[N]中找到时,服务器1主板上没有PCI设备16丢失,进入步骤S16。反之,当不是所有的树形链表结构中的PCI设备16的编号都能在结构体数组A[N]中找到时,服务器1主板上有PCI设备16丢失,进入步骤S15。
步骤S15,报告模块106报告服务器1主板有PCI设备16丢失。本实施方式中,报告模块106可以报告服务器1主板有PCI设备16丢失,且进一步报告该丢失的PCI设备16的编号。
步骤S16,判断模块104逐个判断PCI设备16的基本信息是否和预设信息一致。本实施方式中,所述预设信息为测试人员根据一定标准预先设定的PCI设备16的基本信息,当PCI设备16的基本信息与该预设信息不一致时,该PCI设备16不能通过本次测试,当PCI设备16的基本信息与该预设信息一致时,该PCI设备16通过本次测试。
步骤S17,当该PCI设备16的基本信息和预设信息不一致时,报告模块106报告PCI设备16的基本信息中与预设信息不一致的基本信息(例如,报告该PCI设备16的设备号与预设信息不一致),以及该PCI设备16的编号。
步骤S18,当该PCI设备16的基本信息和预设信息一致时,判断模块104根据PCI业界工业标准,判断该PCI设备16是否为桥设备。当该PCI设备16是桥设备时,进入步骤S19,反之,当该PCI设备不是桥设备时,返回步骤S16。
步骤S19,测试模块108判断该PCI设备16的下游PCI设备16是否存在丢失,并逐个测试该PCI设备16的下游PCI设备16,判断所述下游PCI设备16的基本信息和预设信息是否一致,以判断该PCI设备16是否通过本次测试。
本发明所述步骤S11至步骤S19通过遍历树形链表结构,实现快速测试并定位PCI设备16。
以上实施方式仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种PCI设备测试方法,其特征在于,该方法包括:
为服务器主板上每个PCI设备各配置一个可扩展标记语言XML文件,该XML文件用来存储每个PCI设备的基本信息;
解析每个XML文件,将解析得到的信息保存到一个结构体数组中;
当服务器的操作系统启动时,搜索操作系统中所有PCI设备,且根据所有PCI设备和PCI总线的连接关系,将搜索到的PCI设备存储于一个树形链表结构中;
当树形链表结构中的每个PCI设备的编号都能在结构体数组中找到时,逐个判断PCI设备的基本信息是否和预设信息一致;
当该PCI设备的基本信息和预设信息一致时,判断该PCI设备是否为桥设备;
当该PCI设备是桥设备时,判断该PCI设备的下游PCI设备是否存在丢失,并逐个判断该PCI设备的下游PCI设备的基本信息和预设信息是否一致,以判断该PCI设备是否通过测试。
2.根据权利要求1所述的PCI设备测试方法,其特征在于,所述树形链表结构由PCI主总线、连接在PCI主总线上的PCI设备、属于桥设备的PCI设备的次PCI总线,以及连接在次PCI总线上的PCI设备构成。
3.根据权利要求1所述的PCI设备测试方法,其特征在于,所述预设信息为根据一定标准预先设定的PCI设备的信息,当PCI设备的基本信息与该预设信息不一致时,该PCI设备不能通过本次测试。
4.根据权利要求1所述的PCI设备测试方法,其特征在于,所述方法还包括:
当该PCI设备的基本信息和预设信息不一致时,报告该PCI设备的基本信息中与预设信息不一致的基本信息,以及该PCI设备的编号。
5.根据权利要求4所述的PCI设备测试方法,其特征在于,所述方法还包括:
当树形链表结构中的一个PCI设备的编号在结构体数组中无法找到时,报告服务器主板有PCI设备丢失,且进一步报告该丢失的PCI设备的编号。
6.一种PCI设备测试系统,其特征在于,该系统包括:
配置模块,用于为服务器主板上每个PCI设备各配置一个可扩展标记语言XML文件,该XML文件用来存储每个PCI设备的基本信息;
解析模块,用于解析每个XML文件,将解析得到的信息保存到一个结构体数组中;
解析模块还用于当服务器的操作系统启动时,搜索操作系统中所有PCI设备,且根据所有PCI设备和PCI总线的连接关系,将搜索到的PCI设备存储于一个树形链表结构中;
判断模块,用于当树形链表结构中的每个PCI设备的编号都能在结构体数组中找到时,逐个判断PCI设备的基本信息是否和预设信息一致;
判断模块还用于当该PCI设备的基本信息和预设信息一致时,判断该PCI设备是否为桥设备;
测试模块,用于当该PCI设备是桥设备时,判断该PCI设备的下游PCI设备是否存在丢失,并逐个判断该PCI设备的下游PCI设备的基本信息和预设信息是否一致,以判断该PCI设备是否通过测试。
7.根据权利要求6所述的PCI设备测试系统,其特征在于,所述树形链表结构由PCI主总线、连接在PCI主总线上的PCI设备,属于桥设备的PCI设备的次PCI总线,以及连接在次PCI总线上的PCI设备构成。
8.根据权利要求6所述的PCI设备测试系统,其特征在于,所述预设信息为根据一定标准预先设定的PCI设备的信息,当PCI设备的基本信息与该预设信息不一致时,该PCI设备不能通过本次测试。
9.根据权利要求6所述的PCI设备测试系统,其特征在于,所述系统还包括:
报告模块,用于当该PCI设备的基本信息和预设信息不一致时,报告该PCI设备的基本信息中与预设信息不一致的基本信息,以及该PCI设备的编号。
10.根据权利要求9所述的PCI设备测试系统,其特征在于,
所述报告模块还用于当树形链表结构中的一个PCI设备的编号在结构体数组中无法找到时,报告服务器主板有PCI设备丢失,且进一步报告该丢失的PCI设备的编号。
CN201310238884.XA 2013-06-17 2013-06-17 Pci设备测试方法及系统 Pending CN104239170A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310238884.XA CN104239170A (zh) 2013-06-17 2013-06-17 Pci设备测试方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310238884.XA CN104239170A (zh) 2013-06-17 2013-06-17 Pci设备测试方法及系统

Publications (1)

Publication Number Publication Date
CN104239170A true CN104239170A (zh) 2014-12-24

Family

ID=52227295

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310238884.XA Pending CN104239170A (zh) 2013-06-17 2013-06-17 Pci设备测试方法及系统

Country Status (1)

Country Link
CN (1) CN104239170A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273249A (zh) * 2016-04-06 2017-10-20 龙芯中科技术有限公司 主板测试方法、处理器和主板测试系统
CN109960212A (zh) * 2017-12-25 2019-07-02 北京京东尚科信息技术有限公司 任务发送方法和装置
CN110221995A (zh) * 2019-05-15 2019-09-10 方一信息科技(上海)有限公司 一种集成智能网卡的数据管理方法及系统
CN114338475A (zh) * 2021-12-30 2022-04-12 北京天融信网络安全技术有限公司 一种link速率异常检测方法、装置、电子设备及存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273249A (zh) * 2016-04-06 2017-10-20 龙芯中科技术有限公司 主板测试方法、处理器和主板测试系统
CN107273249B (zh) * 2016-04-06 2021-01-26 龙芯中科技术股份有限公司 主板测试方法、处理器和主板测试系统
CN109960212A (zh) * 2017-12-25 2019-07-02 北京京东尚科信息技术有限公司 任务发送方法和装置
CN110221995A (zh) * 2019-05-15 2019-09-10 方一信息科技(上海)有限公司 一种集成智能网卡的数据管理方法及系统
CN114338475A (zh) * 2021-12-30 2022-04-12 北京天融信网络安全技术有限公司 一种link速率异常检测方法、装置、电子设备及存储介质
CN114338475B (zh) * 2021-12-30 2023-12-01 北京天融信网络安全技术有限公司 一种link速率异常检测方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN106991040B (zh) 数据接口测试方法和装置
EP3563243B1 (en) Determining application test results using screenshot metadata
CN106294222A (zh) 一种确定pcie设备与插槽对应关系的方法及装置
CN104809039B (zh) 基于物理内存分配映射的内存检测方法
CN104239170A (zh) Pci设备测试方法及系统
US10013335B2 (en) Data flow analysis in processor trace logs using compiler-type information method and apparatus
CN109344060A (zh) 一种自动化测试的分析方法及装置
CN104778179A (zh) 一种数据迁移测试方法和系统
CN110019116B (zh) 数据追溯方法、装置、数据处理设备及计算机存储介质
CN112732567B (zh) 基于ip的mock数据测试方法、装置、电子设备及存储介质
CN109408309B (zh) 多终端的测试方法及装置
CN111597069B (zh) 程序处理方法、装置、电子设备和存储介质
CN115630036A (zh) 报错信息处理方法、装置、设备、存储介质和程序产品
CN105389255B (zh) 一种bmc oem命令返回值与固定信息比对的自动化测试方法
CN109408379A (zh) 一种基于提升jmeter接口自动化测试数据匹配方法
CN110532187B (zh) 一种hdfs吞吐性能测试方法、系统、终端及存储介质
CN104123212B (zh) Usb芯片的系统测试方法
CN104182334A (zh) Numa系统的内存测试方法及系统
CN103425580A (zh) 一种自动快速获取和校验云计算设备配置信息的方法
CN107590017A (zh) 一种电子设备的检测方法和装置
US20170293545A1 (en) Redundant cable routing management in storage systems
CN105159834A (zh) 一种软件动态测试运行数据提取方法
CN102063373A (zh) 一种大规模并行程序性能问题定位实现方法
CN111651397A (zh) 一种访问PXIe外设模块的方法和设备
CN109144669A (zh) 一种mcs系统下nas虚拟机系统的压力测试方法与系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20141224