中断信息获取方法、装置、计算机、电子设备和介质制造方法及图纸

技术编号:38901827 阅读:10 留言:0更新日期:2023-09-22 14:20
本申请公开了一种中断信息获取方法、装置、计算机、电子设备和介质,其中方法包括:基于目标串行总线设备对应的配置空间,确定所述目标串行总线设备的中断能力结构体;基于所述中断能力结构体,确定所述目标串行总线设备对应的基地址、中断信息表的偏移量、中断使能表的偏移量和中断向量数量;确定所述基地址在内存中对应的虚拟地址;基于所述虚拟地址、所述中断信息表的偏移量、所述中断使能表的偏移量和所述中断向量数量,从所述内存中读取所述目标串行总线设备的中断信息。本申请提供的方法和装置,实现了通过操作系统全面地读取目标串行总线设备的中断信息。行总线设备的中断信息。行总线设备的中断信息。

【技术实现步骤摘要】
中断信息获取方法、装置、计算机、电子设备和介质


[0001]本申请涉及计算机
,具体而言,涉及一种中断信息获取方法、装置、计算机、电子设备和介质。

技术介绍

[0002]高速串行计算机扩展总线标准(Peripheral Component Interconnect express,PCIe)设备有三种中断,分别为定义的引脚中断(INTx),消息信号中断(Message Signaled Interrupt,MSI),扩展消息信号中断(Message Signaled Interrupt eXtended,MSI

X),其中INTx是可选的,MSI或者MSI

X是必须实现的,而现在PCIe设备一般都实现MSI

X中断。MSI

X是MSI中断机制的扩展,引出MSI

X的主要目的是为了扩展PCIe设备中断向量的个数,同时解决MSI中断机制要求使用中断向量号连续的问题。
[0003]PCIe设备有独立的配置空间,MSI

X的初始信息就保存在配置空间的Capability结构中。与MSI Capability寄存器相比,MSI Capability记录了MSI的详细信息,可通过lspci命令直接查看;而MSI

X Capability寄存器使用一个数组存放Message Address字段和Message Data字段称为MSI

X Table,而不是将这两个字段直接放入Capability寄存器中;且MSI

X机制还使用了独立的Pending Table表存放与每一个中断向量对应的Pending位。MSI

X Table和Pending Table存放在基地址寄存器(Base Address Register,BAR)空间中,所以无法通过lspci命令或其他方式直接查看。
[0004]目前,对MSI

X信息的获取依赖于各设备驱动程序日志打印的完善程度,因为MSI

X的向量信息依赖设备硬件的支持和主机系统的分配,而设备的驱动程序能获取这些信息,但设备驱动日志所提供的MSI

X信息不全面,无法用于对设备的性能进行分析。
[0005]因此,如何全面地获取PCIe设备的MSI

X信息成为业界亟待解决的技术问题。

技术实现思路

[0006]本申请提供一种中断信息获取方法、装置、计算机、电子设备和介质,用于解决如何全面地获取PCIe设备的MSI

X信息的技术问题。
[0007]本申请提供一种中断信息获取方法,包括:
[0008]基于目标串行总线设备对应的配置空间,确定所述目标串行总线设备的中断能力结构体;
[0009]基于所述中断能力结构体,确定所述目标串行总线设备对应的基地址、中断信息表的偏移量、中断使能表的偏移量和中断向量数量;
[0010]确定所述基地址在内存中对应的虚拟地址;
[0011]基于所述虚拟地址、所述中断信息表的偏移量、所述中断使能表的偏移量和所述中断向量数量,从所述内存中读取所述目标串行总线设备的中断信息。
[0012]在一些实施例中,所述基于所述虚拟地址、所述中断信息表的偏移量、所述中断使能表的偏移量和所述中断向量数量,从所述内存中读取所述目标串行总线设备的中断信
息,包括:
[0013]基于所述虚拟地址、所述中断信息表的偏移量和所述中断向量数量,从所述内存中读取所述中断信息表中的第一信息;
[0014]基于所述虚拟地址、所述中断使能表的偏移量和所述中断向量数量,从所述内存中读取所述中断使能表中的第二信息;
[0015]基于所述第一信息和所述第二信息,确定所述目标串行总线设备的中断信息。
[0016]在一些实施例中,所述基于所述虚拟地址、所述中断信息表的偏移量和所述中断向量数量,从所述内存中读取所述中断信息表中的第一信息,包括:
[0017]基于所述虚拟地址和所述中断信息表的偏移量,确定所述第一信息在所述内存中的虚拟地址;
[0018]基于所述第一信息的虚拟地址,从所述内存中读取所述第一信息。
[0019]在一些实施例中,所述基于所述虚拟地址、所述中断使能表的偏移量和所述中断向量数量,从所述内存中读取所述中断使能表中的第二信息,包括:
[0020]基于所述虚拟地址和所述中断使能表的偏移量,确定所述第二信息在所述内存中的虚拟地址;
[0021]基于所述第二信息的虚拟地址,从所述内存中读取所述第二信息。
[0022]在一些实施例中,所述确定所述基地址在内存中对应的虚拟地址,包括:
[0023]确定所述目标串行总线设备对应的配置空间与所述目标串行总线设备对应的内存之间的地址映射关系;
[0024]基于所述地址映射关系和所述基地址,确定所述基地址在内存中对应的虚拟地址。
[0025]在一些实施例中,所述基于目标串行总线设备对应的配置空间,确定所述目标串行总线设备的中断能力结构体,包括:
[0026]确定目标串行总线设备的设备地址;
[0027]基于所述目标串行总线设备的设备地址,确定所述目标串行总线设备的配置空间;
[0028]对所述配置空间中的信息进行解析,确定所述目标串行总线设备的中断能力结构体。
[0029]本申请提供一种中断信息获取装置,包括:
[0030]第一确定单元,用于基于目标串行总线设备对应的配置空间,确定所述目标串行总线设备的中断能力结构体;
[0031]第二确定单元,用于基于所述中断能力结构体,确定所述目标串行总线设备对应的基地址、中断信息表的偏移量、中断使能表的偏移量和中断向量数量;
[0032]转换单元,用于确定所述基地址在内存中对应的虚拟地址;
[0033]读取单元,用于基于所述虚拟地址、所述中断信息表的偏移量、所述中断使能表的偏移量和所述中断向量数量,从所述内存中读取所述目标串行总线设备的中断信息。
[0034]本申请提供一种计算机,包括主板,以及设置在所述主板上的所述的中断信息获取装置。
[0035]本申请提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所
述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的中断信息获取方法。
[0036]本申请提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的中断信息获取方法。
[0037]本申请提供的中断信息获取方法、装置、计算机、电子设备和介质,根据目标串行总线设备对应的配置空间中的中断能力结构体,确定目标串行总线设备对应的基地址、中断信息表的偏移量、中断使能表的偏移量和中断向量数量;将基地址转换为内存中对应的虚拟本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种中断信息获取方法,其特征在于,包括:基于目标串行总线设备对应的配置空间,确定所述目标串行总线设备的中断能力结构体;基于所述中断能力结构体,确定所述目标串行总线设备对应的基地址、中断信息表的偏移量、中断使能表的偏移量和中断向量数量;确定所述基地址在内存中对应的虚拟地址;基于所述虚拟地址、所述中断信息表的偏移量、所述中断使能表的偏移量和所述中断向量数量,从所述内存中读取所述目标串行总线设备的中断信息。2.根据权利要求1所述的中断信息获取方法,其特征在于,所述基于所述虚拟地址、所述中断信息表的偏移量、所述中断使能表的偏移量和所述中断向量数量,从所述内存中读取所述目标串行总线设备的中断信息,包括:基于所述虚拟地址、所述中断信息表的偏移量和所述中断向量数量,从所述内存中读取所述中断信息表中的第一信息;基于所述虚拟地址、所述中断使能表的偏移量和所述中断向量数量,从所述内存中读取所述中断使能表中的第二信息;基于所述第一信息和所述第二信息,确定所述目标串行总线设备的中断信息。3.根据权利要求2所述的中断信息获取方法,其特征在于,所述基于所述虚拟地址、所述中断信息表的偏移量和所述中断向量数量,从所述内存中读取所述中断信息表中的第一信息,包括:基于所述虚拟地址和所述中断信息表的偏移量,确定所述第一信息在所述内存中的虚拟地址;基于所述第一信息的虚拟地址,从所述内存中读取所述第一信息。4.根据权利要求2所述的中断信息获取方法,其特征在于,所述基于所述虚拟地址、所述中断使能表的偏移量和所述中断向量数量,从所述内存中读取所述中断使能表中的第二信息,包括:基于所述虚拟地址和所述中断使能表的偏移量,确定所述第二信息在所述内存中的虚拟地址;基于所述第二信息的虚拟地址,从所述内存中读取所述第二信息。5.根据权利要求1...

【专利技术属性】
技术研发人员:李超李凤民苏宁宁
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1