|
@@ -393,12 +393,13 @@ __create_page_tables:
|
|
|
* Map the kernel image (starting with PHYS_OFFSET).
|
|
|
*/
|
|
|
mov x0, x26 // swapper_pg_dir
|
|
|
- mov_q x5, KIMAGE_VADDR
|
|
|
+ mov_q x5, KIMAGE_VADDR + TEXT_OFFSET // compile time __va(_text)
|
|
|
add x5, x5, x23 // add KASLR displacement
|
|
|
create_pgd_entry x0, x5, x3, x6
|
|
|
- ldr w6, =kernel_img_size
|
|
|
- add x6, x6, x5
|
|
|
- mov x3, x24 // phys offset
|
|
|
+ adrp x6, _end // runtime __pa(_end)
|
|
|
+ adrp x3, _text // runtime __pa(_text)
|
|
|
+ sub x6, x6, x3 // _end - _text
|
|
|
+ add x6, x6, x5 // runtime __va(_end)
|
|
|
create_block_map x0, x7, x3, x5, x6
|
|
|
|
|
|
/*
|