I would like to know the core differences between Kernel logical address(KLA) and kernel virtual address(KVA).
I know few differences about them like:
1. KLA is somewhat similar to Physical address but it has some logical base address and offset such that it is not pointing to physical address.
2. KLA --> kmalloc , KVA --> vmalloc
3. Sometimes, all KLA are KVA, but many KVA are not KLA.
In Linux, how can you point to actual physical address? Does that mean there is one more layer of MMU between KLA and physical address?
Please feel free to comment on my questions and help me to get the clear understanding of MMU of Linux.
Thanks,
Dev Null