MMU:
1. Each process has a MMU page table--including user space entries and kernel space entries.
2. All processes share one global kernel MMU page table--init_mm, all kernel space entries are on it.
3. When a new process trap into kernel, page fault handler will copy global kernel MMU page table, kernel space entries, to process's MMU page table.
4.When page fault happens, kernel will update process's user space entries on it's page table or the kernel space entries on both its page table and init_mm. -- Need confirm by reading kernel code.
5. All page tables in the system for different EL(exception levels)
6. vmalloc() will 1)allocate continuous vitrual address 2)allocate seperate physical pages 3)mapping virtual address to physical pages in MMU page table. map_vm_area() is the step 3 function -- it