For example, one M4 is a client of SMMU, and its MPU had been configured to map some memory(MEM_A) as inner outter write-back, how the configureation of SMMU context transcation table will affect the access attribute, say, the transcation table mark MEM_A as non-cachebale/non-bufferrable? Or if its SMMU_CBn_SCTLR's M bit is 0?
The SMMU can override the incoming attributes of the memory transaction.
This can be done when the SMMU is configured for bypass or by the translation tables when the SMMU is configured with translations enabled.
Section 2.4 Memory type and shareability attribute determination in the SMMU Architecture describes this. System Memory Management Unit Architecture Specification
Thanks a lot for reply, peterriely. I saw MMU in A53 TRM, so what's default version of this 'MMU', it is just a instance of SMMU?
Sort of, but not really.
The processor MMU and SMMU do basically the same job - address translation. They also use the same translation table formats, and have most of the same settings. However, they aren't identical. For example, the processor MMU doesn't have the multiple contexts of a SMMU.
Another difference is who does the programming. For the processor MMU, it is software running on the processor itself. For SMMUs, the master behind the SMMU would rarely program the SMMU and would probably be prevented from doing so. Instead again it's software running on the apps processor.