Walleij: How the ARM32 kernel starts
Linus Walleij continueshis exploration of the boot process for the 32-bit Arm kernel."BAM! The MMU is on. The next instruction (which is incidentally aninstruction cache flush) will be executed from virtual memory. We don'tnotice anything at first, but we are executing in virtual memory. When wereturn by jumping to the address passed in r13, we enter__mmap_switched at the virtual memory address of this function,somewhere below PAGE_OFFSET (typically 0xC0nnnnnn). Wecan now facilitate absolute addressing: the kernel is executing asintended."