From 2b8dfaded3b63534e2227306e0a605d512ab40e2 Mon Sep 17 00:00:00 2001 From: Diogo Kersting Date: Thu, 16 Jul 2015 18:23:46 -0300 Subject: [PATCH] Fix a few english typos - "can be runned not" --- Initialization/linux-initialization-1.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Initialization/linux-initialization-1.md b/Initialization/linux-initialization-1.md index 29942b6..c8eba9c 100644 --- a/Initialization/linux-initialization-1.md +++ b/Initialization/linux-initialization-1.md @@ -72,7 +72,7 @@ Now we know default physical and virtual addresses of the `startup_64` routine, subq $_text - __START_KERNEL_map, %rbp ``` -Here we just put the `rip-relative` address to the `rbp` register and than subtract `$_text - __START_KERNEL_map` from it. We know that compiled address of the `_text` is `0xffffffff81000000` and `__START_KERNEL_map` contains `0xffffffff81000000`, so `rbp` will contain physical address of the `text` - `0x1000000` after this calculation. We need to calculate it because kernel can be runned not on the default address, but now we know actual physical address. +Here we just put the `rip-relative` address to the `rbp` register and then subtract `$_text - __START_KERNEL_map` from it. We know that compiled address of the `_text` is `0xffffffff81000000` and `__START_KERNEL_map` contains `0xffffffff81000000`, so `rbp` will contain physical address of the `text` - `0x1000000` after this calculation. We need to calculate it because kernel can't be runned on the default address, but now we know the actual physical address. In the next step we checks that this address is aligned with: @@ -122,7 +122,7 @@ The first step before we started to setup identity paging, need to correct follo addq %rbp, level2_fixmap_pgt + (506*8)(%rip) ``` -Here we need to correct `early_level4_pgt` and other addresses of the page table directories, because as I wrote above, kernel can be runned not at the default `0x1000000` address. `rbp` register contains actuall address so we add to the `early_level4_pgt`, `level3_kernel_pgt` and `level2_fixmap_pgt`. Let's try to understand what this labels means. First of all let's look on their definition: +Here we need to correct `early_level4_pgt` and other addresses of the page table directories, because as I wrote above, kernel can't be runned at the default `0x1000000` address. `rbp` register contains actual address so we add to the `early_level4_pgt`, `level3_kernel_pgt` and `level2_fixmap_pgt`. Let's try to understand what these labels means. First of all let's look on their definition: ```assembly NEXT_PAGE(early_level4_pgt)