mirror of
https://github.com/0xAX/linux-insides.git
synced 2024-12-22 14:48:08 +00:00
7c0d65420c
The use of ax, dx, cx to pass the function arguments is not `fastcall` convention in GCC, which only uses cx and dx. This calling convention comes from the GCC -mregparm=3 option. [1] https://en.wikipedia.org/wiki/X86_calling_conventions |
||
---|---|---|
.. | ||
linux-bootstrap-1.md | ||
linux-bootstrap-2.md | ||
linux-bootstrap-3.md | ||
linux-bootstrap-4.md | ||
linux-bootstrap-5.md | ||
linux-bootstrap-6.md | ||
README.md |
Kernel Boot Process
This chapter describes the linux kernel boot process. Here you will see a series of posts which describes the full cycle of the kernel loading process:
- From the bootloader to kernel - describes all stages from turning on the computer to running the first instruction of the kernel.
- First steps in the kernel setup code - describes first steps in the kernel setup code. You will see heap initialization, query of different parameters like EDD, IST and etc...
- Video mode initialization and transition to protected mode - describes video mode initialization in the kernel setup code and transition to protected mode.
- Transition to 64-bit mode - describes preparation for transition into 64-bit mode and details of transition.
- Kernel Decompression - describes preparation before kernel decompression and details of direct decompression.
- Kernel random address randomization - describes randomization of the Linux kernel load address.