Intel VT-d(4)- Interrupt Posting

本文详细介绍了Intel VT-d技术中的Interrupt Posting功能,这是一种中断重映射的扩展,允许中断请求被记录在内存中,并选择性地通知CPU处理。通过Interrupt Posting和APIC Virtualization,虚拟机管理程序(VMM)能更高效地处理设备中断。该技术涉及IRTE(Interrupt Remapping Table Entry)的处理,包括Remapped和Posted两种模式,以及Posted Interrupt Descriptor的结构和处理流程。VMM在软件层面如何配置Interrupt Posting以优化中断处理也进行了阐述。
摘要由CSDN通过智能技术生成

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的定义会有一些不同,主要是:

  1. 多了一个Posted Descriptor Address Low/High,该区域保存一个指向内存的指针,该指针指向的位置就是保存中断(Posted Interrupt)的结构体。
  2. Urgent位,该位用于表示该中断是否是紧急的,是否需要目标CPU的立即响应。
  3. Vector用于设置Posted Interrupt Descriptor数据结构中相应的位,而不是用于设置直接产生的中断的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值