没有合适的资源?快使用搜索试试~ 我知道了~
Intel Virtualization Technology for Directed I/O
需积分: 0 0 下载量 59 浏览量
2023-04-11
14:07:33
上传
评论
收藏 11.29MB PDF 举报
温馨提示
试读
326页
Intel Virtualization Technology for Directed I/O
资源推荐
资源详情
资源评论
Order Number: D51397-016
Intel
®
Virtualization
Technology for Directed I/O
Architecture Specification
March 2023
Revision 4.1
Intel
®
Virtualization Technology for Directed I/O Architecture Specification, Rev. 4.1, Order Number: D51397-016 2
Notices & Disclaimers
Intel technologies may require enabled hardware, software or service activation.
No product or component can be absolutely secure.
Your costs and results may vary.
You may not use or facilitate the use of this document in connection with any infringement or other legal analysis
concerning Intel products described herein. You agree to grant Intel a non-exclusive, royalty-free license to any
patent claim thereafter drafted which includes subject matter disclosed herein.
All product plans and roadmaps are subject to change without notice.
The products described may contain design defects or errors known as errata which may cause the product to
deviate from published specifications. Current characterized errata are available on request.
Intel disclaims all express and implied warranties, including without limitation, the implied warranties of
merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from
course of performance, course of dealing, or usage in trade.
No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this
document, with the sole exception that you may publish an unmodified copy. You may create software
implementations based on this document and in compliance with the foregoing that are intended to execute on
the Intel product(s) referenced in this document. No rights are granted to create modifications or derivatives of
this document.
© Intel Corporation. Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its
subsidiaries. Other names and brands may be claimed as the property of others.
3Intel
®
Virtualization Technology for Directed I/O Architecture Specification, Rev. 4.1, Order Number: D51397-016
Contents—Intel
®
Virtualization Technology for Directed I/O
Contents
1Introduction..............................................................................................................1
1.1 Audience............................................................................................................1
1.2 Glossary ............................................................................................................2
1.3 References .........................................................................................................3
2Overview...................................................................................................................1
2.1 Intel
®
Virtualization Technology Overview ..............................................................1
2.2 VMM and Virtual Machines ....................................................................................1
2.3 Hardware Support for Processor Virtualization .........................................................1
2.4 I/O Virtualization.................................................................................................2
2.5 Intel
®
Virtualization Technology For Directed I/O Overview.......................................2
2.5.1 Hardware Support for DMA Remapping........................................................3
2.5.1.1 OS Usages of DMA Remapping......................................................3
2.5.1.2 VMM Usages of DMA Remapping ...................................................4
2.5.1.3 DMA Remapping Usages by Guests................................................5
2.5.1.4 Interaction with Processor Virtualization.........................................5
2.5.2 Hardware Support for Interrupt Remapping .................................................6
2.5.2.1 Interrupt Isolation.......................................................................6
2.5.2.2 Interrupt Migration......................................................................6
2.5.2.3 x2APIC Support ..........................................................................6
2.5.3 Hardware Support for Interrupt Posting.......................................................7
2.5.3.1 Interrupt Vector Scalability...........................................................7
2.5.3.2 Interrupt Virtualization Efficiency ..................................................7
2.5.3.3 Virtual Interrupt Migration............................................................7
3DMA Remapping........................................................................................................1
3.1 Types of DMA Requests........................................................................................1
3.2 Domains and Address Translation ..........................................................................1
3.3 Remapping Hardware - Software View....................................................................2
3.4 Mapping Devices to Domains ................................................................................2
3.4.1 Source Identifier ......................................................................................3
3.4.2 Legacy Mode Address Translation ...............................................................4
3.4.3 Scalable Mode Address Translation .............................................................5
3.4.4 Abort DMA Mode ......................................................................................6
3.5 Hierarchical Translation Structures.........................................................................6
3.6 First-Stage Translation.........................................................................................8
3.6.1 Access Rights ........................................................................................ 11
3.6.2 Accessed, Extended Accessed, and Dirty Flags ........................................... 11
3.7 Second-Stage Translation................................................................................... 12
3.7.1 Access Rights ........................................................................................ 15
3.7.2 Accessed and Dirty Flags......................................................................... 16
3.8 Nested Translation ............................................................................................ 16
3.8.1 Access Rights ........................................................................................ 18
3.9 Pass-through Translation.................................................................................... 19
3.10 Snoop Behavior................................................................................................. 19
3.11 Memory Type.................................................................................................... 21
3.11.1 Selecting Memory Type from Page Attribute Table ...................................... 21
3.11.2 Selecting Memory Type from Memory Type Range Registers......................... 22
3.11.3 Selecting Effective Memory Type .............................................................. 22
3.11.4 Determining Memory Type....................................................................... 23
3.11.4.1 Memory Type in Legacy Mode (RTADDR_REG.TTM = 00b) .............. 24
3.11.4.2 Memory Type in Scalable Mode (RTADDR_REG.TTM = 01b) ............ 24
3.12 Identifying Origination of DMA Requests ............................................................... 25
3.12.1 Devices Behind PCI Express* to PCI/PCI-X Bridges ..................................... 25
4Intel
®
Virtualization Technology for Directed I/O Architecture Specification, Rev. 4.1, Order Number: D51397-016
Contents—Intel
®
Virtualization Technology for Directed I/O
3.12.2 Devices Behind Conventional PCI Bridges .................................................. 26
3.12.3 Devices Behind PCI Express Root Port ....................................................... 26
3.12.4 Root-Complex Integrated Devices............................................................. 26
3.12.5 PCI Express* Devices Using Phantom Functions.......................................... 26
3.12.6 Single-Root I/O Virtualization Capable Devices ........................................... 26
3.12.7 Intel® Scalable I/O Virtualization Capable Devices...................................... 26
3.13 Handling Requests Crossing Page Boundaries ........................................................ 27
3.14 Handling of Zero-Length Reads ........................................................................... 27
3.15 Handling Requests to Interrupt Address Range ...................................................... 27
3.16 Handling Requests to Reserved System Memory.................................................... 28
3.17 Root-Complex Peer to Peer Considerations............................................................ 28
4 Support For Device-TLBs ...........................................................................................1
4.1 Device-TLB Operation ..........................................................................................1
4.1.1 Translation Request ..................................................................................2
4.1.2 Translation Completion .............................................................................2
4.1.3 Translated Request...................................................................................3
4.1.4 Invalidation Request and Completion ..........................................................3
4.2 Remapping Hardware Handling of Device-TLBs ........................................................4
4.2.1 Handling of ATS Protocol Errors..................................................................4
4.2.2 Root-Port Control of ATS Address Types ......................................................4
4.2.3 Handling of Translation Requests................................................................4
4.2.3.1 Accessed, Extended Accessed, and Dirty Flags ................................7
4.2.3.2 Translation Requests for Multiple Translations.................................7
4.2.4 Handling of Translated Requests.................................................................8
4.3 Handling of Device-TLB Invalidations .....................................................................8
4.4 Device TLB in System-on-Chip (SoC) Integrated Devices ..........................................9
4.5 Guidance to Software on Enabling and Disabling ATS ............................................. 11
4.5.1 Recommended Software Sequence to Enable ATS ....................................... 11
4.5.2 Recommended Software Sequence to Disable ATS ...................................... 11
5Interrupt Remapping.................................................................................................1
5.1 Interrupt Remapping ...........................................................................................1
5.1.1 Identifying Origination of Interrupt Requests................................................1
5.1.2 Interrupt Request Formats On Intel® 64 Platforms .......................................2
5.1.2.1 Interrupt Requests in Compatibility Format ....................................2
5.1.2.2 Interrupt Requests in Remappable Format......................................3
5.1.3 Interrupt Remapping Table ........................................................................5
5.1.4 Interrupt-Remapping Hardware Operation ...................................................5
5.1.4.1 Interrupt Remapping Fault Conditions............................................6
5.1.5 Programming Interrupt Sources To Generate Remappable Interrupts .............. 7
5.1.5.1 I/OxAPIC Programming................................................................7
5.1.5.2 MSI and MSI-X Register Programming ...........................................9
5.1.6 Remapping Hardware Event Interrupt Programming.................................... 10
5.1.6.1 Programming in Intel
®
64 xAPIC Mode......................................... 10
5.1.6.2 Programming in Intel
®
64 x2APIC Mode....................................... 11
5.1.7 Handling of Platform Events..................................................................... 11
5.2 Interrupt Posting............................................................................................... 12
5.2.1 Interrupt Remapping Table Support for Interrupt Posting............................. 12
5.2.2 Posted Interrupt Descriptor...................................................................... 13
5.2.3 Interrupt-Posting Hardware Operation....................................................... 13
5.2.4 Ordering Requirements for Interrupt Posting .............................................. 14
5.2.5 Using Interrupt Posting for Virtual Interrupt Delivery................................... 14
5.2.6 Interrupt Posting for Level Triggered Interrupts.......................................... 16
5.3 Memory Type and Snoop Behavior Summary ........................................................ 17
5Intel
®
Virtualization Technology for Directed I/O Architecture Specification, Rev. 4.1, Order Number: D51397-016
Contents—Intel
®
Virtualization Technology for Directed I/O
6 Caching Translation Information ...............................................................................1
6.1 Caching Mode .....................................................................................................1
6.2 Address Translation Caches ..................................................................................1
6.2.1 Tagging of Cached Translations ..................................................................2
6.2.2 Context-Cache .........................................................................................3
6.2.2.1 Context-Entry Programming Considerations....................................4
6.2.3 PASID-Cache ...........................................................................................4
6.2.3.1 Scalable-Mode PASID-Table Entry Programming Considerations ........ 5
6.2.4 IOTLB.....................................................................................................5
6.2.4.1 Details of IOTLB Use ...................................................................7
6.2.5 Caches for Paging Structures .....................................................................8
6.2.5.1 PML5-cache ...............................................................................8
6.2.5.2 PML4-cache ...............................................................................9
6.2.5.3 PDPE-cache.............................................................................. 11
6.2.5.4 PDE-cache ............................................................................... 12
6.2.5.5 Details of Paging-Structure Cache Use ......................................... 13
6.2.6 Translating Address Using Caches in Legacy Mode ...................................... 14
6.2.7 Multiple Cached Entries for a Single Paging-Structure Entry.......................... 15
6.3 Translation Caching at Endpoint Device ................................................................ 15
6.4 Interrupt Entry Cache ........................................................................................ 15
6.5 Invalidation of Translation Caches ....................................................................... 16
6.5.1 Register-based Invalidation Interface ........................................................ 16
6.5.1.1 Context Command Register........................................................ 17
6.5.1.2 IOTLB Registers........................................................................ 17
6.5.2 Queued Invalidation Interface .................................................................. 18
6.5.2.1 Context-cache Invalidate Descriptor ............................................ 19
6.5.2.2 PASID-cache Invalidate Descriptor .............................................. 21
6.5.2.3 IOTLB Invalidate....................................................................... 22
6.5.2.4 PASID-based IOTLB Invalidate Descriptor (P_IOTLB) ..................... 25
6.5.2.5 Device-TLB Invalidate Descriptor ................................................ 26
6.5.2.6 PASID-based-Device-TLB Invalidate Descriptor ............................. 28
6.5.2.7 Interrupt Entry Cache Invalidate Descriptor.................................. 29
6.5.2.8 Invalidation Wait Descriptor ....................................................... 30
6.5.2.9 Hardware Generation of Invalidation Completion Events................. 31
6.5.2.10 Hardware Handling of Queued Invalidation Interface Errors ............ 32
6.5.2.11 Queued Invalidation Ordering Considerations................................ 33
6.5.3 Invalidation Considerations...................................................................... 33
6.5.3.1 Implicit Invalidation on Page Requests......................................... 33
6.5.3.2 Caching Fractured Translations ................................................... 34
6.5.3.3 Guidance to Software for Invalidations......................................... 34
6.5.3.4 Optional Invalidation ................................................................. 38
6.5.3.5 Delayed Invalidation ................................................................. 39
6.5.4 Draining of Requests to Memory............................................................... 40
6.5.5 Interrupt Draining .................................................................................. 40
6.6 Set Root Table Pointer Operation......................................................................... 41
6.7 Set Interrupt Remapping Table Pointer Operation .................................................. 42
6.8 Write Buffer Flushing ......................................................................................... 42
6.9 Hardware Register Programming Considerations.................................................... 42
6.10 Sharing Remapping Structures Across Hardware Units............................................ 43
7 Address Translation Faults ........................................................................................1
7.1 Remapping Hardware Behavior on Faults ................................................................1
7.1.1 Non-Recoverable Address Translation Faults ................................................1
7.1.2 Recoverable Address Translation Faults .......................................................1
7.1.3 Fault Conditions and Remapping Hardware Behavior for Various Requests........3
7.2 Non-Recoverable Fault Reporting......................................................................... 14
7.2.1 Primary Fault Logging ............................................................................. 14
剩余325页未读,继续阅读
资源评论
jianchwa
- 粉丝: 32
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 二叉树7-1-1.cpp
- android 9.0 原生模拟器 签名文件
- 技术面试最后反问面试官的话 校招面试非技术问题有哪些 非技术问题如何回答.png
- NB-IOT-BC26全网通模块Altium+ CADENCE +PADS三种格式(原理图SCH+PCB封装库)文件.zip
- 基于微信小程序开发的校园失物招领系统源码毕业设计(优质项目源码).zip
- 词向量是一种将自然语言中的单词转换为数值向量的技术,它能够捕捉词义和上下文信息
- nmap与masscan的简单使用
- MyBatis动态SQL.pdf
- 基于stm32单片机protues仿真的温湿度控制系统设计(仿真图、源代码)
- 词向量:自然语言处理的基石
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功