.VT-d技术
  
把一个设备直接分配给某个虚拟机使用。
  
VT-d ’s Role

* I/O device assignment: flexibility to assignment, isolation and protection tothe device access.
  SR-IOV PCI-hotplug VT-d技术-LMLPHP
* DMA remapping: independent address translations for different devicesassigned.
SR-IOV PCI-hotplug VT-d技术-LMLPHP
* Interrupt remapping: isolation and routing of interrupts from devicesassigned.
PCI
设备 --> I/O APIC or PIC --> PCI总线 --> CPU内的Local APIC接收中断
             --> VMM
响应中断请求,调用自己的处理函数 --调用--> 虚拟I/O APIC
             --
调用--> 虚拟Local APIC --> 中断注入
* Reliability: error log before corrupt operation to VMs.

.SR-IOV技术
SR-IOV PCI-hotplug VT-d技术-LMLPHP
An SR-IOV-capable device can be configured (usually by the VMM) to appear inthe PCI configuration space as multiple functions, each with its own configurationspace complete with Base Address Registers (BARs).

1.
ACPIMCFG sub-table中有PCI配置空间的基地址。
 
多个设备的PCI配置空间是连续的。
 
该配置空间内的信息由可能是BIOS提供的,也有可能是Linux扫描设备后填充的。
SR-IOV PCI-hotplug VT-d技术-LMLPHP

2.
每个PCI-e配置空间有多个Capability,一个Capability代表一个功能。SRIOV就是一个Capability
SR-IOV PCI-hotplug VT-d技术-LMLPHP

3.
SRIOVCapability里,有VF的个数。VFBar的基地址,和Size
 
根据基地址和Size可以找到每个VFMMIO的地址。
  ==
VFPF共享配置空间,但VF有自己单独的Bar地址。
SR-IOV PCI-hotplug VT-d技术-LMLPHP

.PCI-hotplug技术
SR-IOV PCI-hotplug VT-d技术-LMLPHP

12-23 22:10