In RaspberryPI architecture (Broadcom BM2328 SoC), we can see that ARM core physical memory is mapped to VideoCore memory through a second MMU (the first maps ARM virtual to physical memory). What is the use of this configuration? Doesn't the use of 2 MMU's increase the latency?
One MMU maps ARM virtual addresses (used by Linux userland and the kernel) into ARM physical addresses.
The other MMU maps ARM physical addresses into bus addresses (to access the peripherals such as the gpio, DMA, SPI, UARTs etc. etc.).
I doubt that either MMU adds any latency.