mirror of
https://github.com/0xAX/linux-insides.git
synced 2025-07-04 00:02:33 +00:00
In the following expression, we add the value of phys_base to the
rax register, not the address of phys_base. addq phys_base(%rip), %rax BTW, the value of phys_base = the actual loaded physical address of kernel after relocation - the likned physical address of kernel. Signed-off-by: Firo Yang <firogh@gmail.com>
This commit is contained in:
parent
c9ed5aa5fe
commit
511b4e22d5
@ -269,7 +269,7 @@ extern pmd_t early_dynamic_pgts[EARLY_DYNAMIC_PAGE_TABLES][PTRS_PER_PMD];
|
|||||||
Последнее приготовление перед переходом на точку входа в ядро
|
Последнее приготовление перед переходом на точку входа в ядро
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
После перехода на метку `1` мы включаем `PAE`, `PGE` (Paging Global Extension) и помещаем физический адрес `phys_base` (см. выше) в регистр `rax` и заполняем регистр `cr3`:
|
После перехода на метку `1` мы включаем `PAE`, `PGE` (Paging Global Extension) и помещаем содержимое `phys_base` (см. выше) в регистр `rax` и заполняем регистр `cr3`:
|
||||||
|
|
||||||
```assembly
|
```assembly
|
||||||
1:
|
1:
|
||||||
|
Loading…
Reference in New Issue
Block a user