1
0
mirror of https://github.com/0xAX/linux-insides.git synced 2024-12-22 06:38:07 +00:00

Update linux-initialization-2.md

This commit is contained in:
Z 2020-11-18 16:23:34 +08:00 committed by GitHub
parent 1862f56adf
commit 41bc27ff71
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -314,7 +314,7 @@ Now let's look on the `early_idt_handler_common` implementation. It locates in t
incl early_recursion_flag(%rip) incl early_recursion_flag(%rip)
``` ```
The `early_recursion_flag` locates in the same assembly file as the `early_idt_handler_common` symbol like the following: The `early_recursion_flag` is defined in the same assembly file as the `early_idt_handler_common` symbol as follows:
```assembly ```assembly
early_recursion_flag: early_recursion_flag:
@ -417,7 +417,7 @@ int __init early_make_pgtable(unsigned long address)
} }
``` ```
`__PAGE_OFFSET` is defined in the [arch/x86/include/asm/page_64_types.h](https://elixir.bootlin.com/linux/v3.10-rc1/source/arch/x86/include/asm/page_64_types.h#L33) header file, and you can note that the `UL` tells the compiler that they are not of type int, but unsigned long. `__PAGE_OFFSET` is defined in the [arch/x86/include/asm/page_64_types.h](https://elixir.bootlin.com/linux/v3.10-rc1/source/arch/x86/include/asm/page_64_types.h#L33) header file, and the suffix `UL` forces the page offset to be a unsigned long data type.
```C ```C
#define __PAGE_OFFSET _AC(0xffff880000000000, UL) #define __PAGE_OFFSET _AC(0xffff880000000000, UL)