I want to understand Linux x86_64 's startup steps, after reading some articles and linux-3.14.65/Documentation/x86/boot.txt, and almost know that the first instruction to run in vmlinux is startup_x86, but when I read the comments in arch/x86/kernel/head_64.S about startup_64:    .text__HEAD.code64.globl startup_64startup_64:/* * At this point the CPU runs in 64bit mode CS.L = 1 CS.D = 0, * and someone has loaded an identity mapped page table * for us.  These identity mapped page tables map all of the * kernel pages and possibly all of memory.I am still confused by the comment, I don't know who make CPU runs in 64bit mode and who has loaded an identity mapped page table for us? It is Grub? What I miss?
who has loaded an identity mapped page table?
boot;linux kernel;64bit;x86