diff --git a/Booting/README.md b/Booting/README.md index 346073a..2e9cc27 100644 --- a/Booting/README.md +++ b/Booting/README.md @@ -9,4 +9,4 @@ This chapter describes the linux kernel boot process. Here you will see a series * [Kernel Decompression](linux-bootstrap-5.md) - describes preparation before kernel decompression and details of direct decompression. * [Kernel random address randomization](linux-bootstrap-6.md) - describes randomization of the Linux kernel load address. -This chapter coincides with with `Linux kernel v4.16`. \ No newline at end of file +This chapter coincides with with `Linux kernel v4.17`. \ No newline at end of file diff --git a/Booting/linux-bootstrap-5.md b/Booting/linux-bootstrap-5.md index 6b2ffee..bcfeb24 100644 --- a/Booting/linux-bootstrap-5.md +++ b/Booting/linux-bootstrap-5.md @@ -67,12 +67,12 @@ In the next step we can see setup of the stack pointer, resetting of the flags r ```assembly leaq boot_stack_end(%rbx), %rsp - leaq gdt(%rip), %rax - movq %rax, gdt64+2(%rip) - lgdt gdt64(%rip) + leaq gdt(%rip), %rax + movq %rax, gdt64+2(%rip) + lgdt gdt64(%rip) - pushq $0 - popfq + pushq $0 + popfq ``` If you look at the Linux kernel source code after `lgdt gdt64(%rip)` instruction, you will see that there is some additional code. This code builds trampoline to enable [5-level pagging](https://lwn.net/Articles/708526/) if need. We will consider only 4-level paging in this books, so this code will be omitted.