在做大文件读取时,NVME把smmu弄崩溃了。FAR和PAR都是0,说明非法地址IOVA做映射时触发了SMMU映射失败。原因是Stream id 为0x1c81的NVME误改了DMA地址, nvme/host/pci.c 中的nr_io_queues=1就避免了崩溃。对TAGS维护很乱。
[ 242.888541] arm-smmu 15000000.apps-smmu: FAR = 0x0000000000000000
[ 242.895904] arm-smmu 15000000.apps-smmu: PAR = 0x0000000000000000
[ 242.903490] arm-smmu 15000000.apps-smmu: FSR = 0x40000402 [TF W SS ]
[ 242.911314] arm-smmu 15000000.apps-smmu: TTBR0 = 0x00200001c44f9000
[ 242.918658] arm-smmu 15000000.apps-smmu: TTBR1 = 0x00200001c44fa000
[ 242.926029] arm-smmu 15000000.apps-smmu: SCTLR = 0x0a5f00e7 ACTLR = 0x00000003
[ 242.934510] arm-smmu 15000000.apps-smmu: CBAR = 0x0001f300
[ 242.941115] arm-smmu 15000000.apps-smmu: MAIR0 = 0xf404ff44 MAIR1 = 0x000000e4
[ 242.949711] arm-smmu 15000000.apps-smmu: Unhandled context fault: iova=0x00000000, cb=31, fsr=0x40000402, fsynr0=0x310011, fsynr1=0xb400
[ 242.963129] arm-smmu 15000000.apps-smmu: SSD=0x0 SID=0x1c81
[ 242.969688] arm-smmu 15000000.apps-smmu: Client info: BID=0x5, PID=0x14, MID=0x0