[ 4.348072] +++++++++ arm_smmu_context_fault +++++++ interrupt: 12[ 4.348124] +++++ Unable to handle kernel paging request at virtual address ffffbb884fc3d000[ 4.350649] ---[ cut here ]---[ 4.350673] WARNING: CPU: 1 PID: 1138 at /home/emb-vinosek/Documents/VINO...
因此,SMMU 使用两组不同的结构:• Configuration structures, which map from the StreamID of a transaction (a device originator identifier) to the translation table base pointers, configuration, and context under which the translation tables are accessed.• 配置结构:它将一次事务的 StreamID (Stream...
SMMU_S2CRn中会指定其索引的context是stage1,还是stage2的context bank。 这些寄存器都是软件可以配置的,假定系统有128个context bank空间,那么对于某个streamID,软件首先找一对可用的SMRn/S2CRn,指定给该StreamID,然后再去找到一个空闲可用的context bank,设置好相应的页表结构之后,把context bank的index写入S2CRn,...
Context-table pointer (CTP):CTP记录了当前Bus号对应点Context Table的地址。 同样每个context-table也是一个4K页,记录一个特定的PCI设备和它被分配的Domain的映射关系,即对应Domain的DMA地址翻译结构信息的地址。个root-entry包含了该Bus号对应的context-table指针,指向一个context-table,而每张context-table包又含256...
在处理stage 1 fault时,这些寄存器报告触发异常的虚拟地址。虚拟地址对hypervisor没有帮助,因为hypervisor通常不知道来guest os如何配置其虚拟地址空间。对于stage 2 fault,还有一个额外的寄存器 HPFAREL2,它报告中止地址的 IPA。由于 IPA 空间由hypervisor控制,因此它可以使用此信息来确定需要模拟的寄存器。
为什么arm架构模拟性能弱 arm模拟x86性能损失,ARM相关CVEDescribeCVE-2020-25604通过4.14.x在Xen中发现了一个问题。在x86HVMvCPU之间迁移计时器时,存在竞争条件。在x86HVMguest虚拟机的vCPU之间迁移x86HVMguest虚拟机的计时器时,使用的锁定模型允许同一guest虚拟机的第二
TrustZone aware 一些Master是支持TrustZone,并且像处理器一样,为每个总线访问提供适当的Security比特位。这方面的示例包括根据 Arm SMMUv3 规范构建的系统 MMU (SMMU) Non-TrustZone aware 一些传统 IP 不支持Trustzone。此类Master通常不提供其总线访问的Security BIT,或始终发送相同的值。
SMMU 驱动中的系统 I/O 设备探测 要使系统 I/O 设备的 DMA 内存访问能通过 IOMMU,需要将系统 I/O 设备和 IOMMU 设备绑定起来,也就是执行 SM...
Linux 内核的 IOMMU 子系统相关源码位于drivers/iommu,ARM SMMU 驱动实现位于drivers/iommu/arm/arm-smmu-v3。在 Linux 内核的 SMMU 驱动实现中,做地址转换所用到的数据结构,在上面提到的不同步骤中创建: 流表在 SMMU 驱动程序的初始化过程中创建。如果流表的结构为线性流表,则线性流表中所有的 STE 都被配置为...
An Invalid context fault, where the fault context has been selected in either: the Stream mapping register group that matches the transaction the SMMU_CBARn register of the initial context specified by the Stream Mapping process. An Unidentified stream fault, where both: no match for the transac...