本文将会介绍VT-d场景下,Queued Invalidaion的相关知识点。

阅读本文之前,需建立IOMMU TLB的概念。
Queued Invalidaion的详细内容请参考VT-d spc的6.5.2节。

概念

硬件提供Queued Invalidaion(QI) Interface给软件,用以批量刷新IOTLB entries。

spec中的描述如下:

The queued invalidation provides an advanced interface for software to submit invalidation requests to hardware and to synchronize invalidation completions with hardware.

usage

The queued invalidation interface uses IQ(Invalidation Queue), which is a circular buffer in system memory. Software submits commands by writing Invalidation Descriptors to the IQ.

Invalidation Descriptors就是需刷新的IOTLB entries。