Interrupt-posting是VT-d中中断重映射功能的一个扩展功能,该功能也是针对可重映射的中断请求。Interrupt-posting功能让一个可重映射的中断请求能够被暂时以一定的数据形式post(记录)到物理内存中,并且可选择性地主动告知CPU物理内存中暂时记录着pending的中断请求。
在x86处理器的虚拟化中,Interrupt-posting再加上APIC Virtualization让VMM能够更加高效地处理分配各虚拟机的设备产生的中断请求。VT-d重映射硬件是否支持Interrupt-posting功能可以通过查询Capability Register的bit 59 Posted Interrupt Support(PI)知道硬件是否支持该功能。

对于VT-d而言,所有可重定向的中断都需要经过IRTE(Interrupt Remapping Table Entry)的处理,在进行处理之前会先通过IRTE的bit 15(IRTE Mode)判断该IRTE的模式,如果为0,则VT-d硬件将会以Remapped Interrupt的形式来解析该IRTE(前一篇文章讲的中断重映射),如果为1,则VT-d硬件将会以Posted Interrupt的形式来解析该IRTE,如下图所示:

Posted Interrupt格式的IRTE的定义会有一些不同,主要是:
- 多了一个Posted Descriptor Address Low/High,该区域保存一个指向内存的指针,该指针指向的位置就是保存中断(Posted Interrupt)的结构体。
- Urgent位,该位用于表示该中断是否是紧急的,是否需要目标CPU的立即响应。
- Vector用于设置Posted Interrupt Descriptor数据结构中相应的位,而不是用于设置直接产生的中断的
本文详细介绍了Intel VT-d技术中的Interrupt Posting功能,这是一种中断重映射的扩展,允许中断请求被记录在内存中,并选择性地通知CPU处理。通过Interrupt Posting和APIC Virtualization,虚拟机管理程序(VMM)能更高效地处理设备中断。该技术涉及IRTE(Interrupt Remapping Table Entry)的处理,包括Remapped和Posted两种模式,以及Posted Interrupt Descriptor的结构和处理流程。VMM在软件层面如何配置Interrupt Posting以优化中断处理也进行了阐述。
最低0.47元/天 解锁文章
- Interrupt Posting&spm=1001.2101.3001.5002&articleId=84162715&d=1&t=3&u=79277b234fd5432cb4716023ddc6065f)
1241

被折叠的 条评论
为什么被折叠?



