--- zzzz-none-000/linux-4.4.271/arch/arm/kernel/head.S 2021-06-03 06:22:09.000000000 +0000 +++ hawkeye-5590-750/linux-4.4.271/arch/arm/kernel/head.S 2023-04-19 10:22:27.000000000 +0000 @@ -51,8 +51,9 @@ .globl swapper_pg_dir .equ swapper_pg_dir, KERNEL_RAM_VADDR - PG_DIR_SIZE - .macro pgtbl, rd, phys - add \rd, \phys, #TEXT_OFFSET + .macro pgtbl, rd, phys, scratch + ldr \scratch, =TEXT_OFFSET + add \rd, \phys, \scratch sub \rd, \rd, #PG_DIR_SIZE .endm @@ -78,6 +79,16 @@ __HEAD ENTRY(stext) +ENTRY(kernel_entry) + +#ifdef CONFIG_AVM_KERNEL + b 1f + .word __avm_kernel_config_start + nop + +1: +#endif + ARM_BE8(setend be ) @ ensure we are in BE8 mode THUMB( badr r9, 1f ) @ Kernel is always entered in ARM. @@ -178,7 +189,7 @@ * r4 = physical page table address */ __create_page_tables: - pgtbl r4, r8 @ page table address + pgtbl r4, r8, r0 @ page table address /* * Clear the swapper page table