mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
ARM: Make TEXT_OFFSET more flexible
arch/arm/kernel/head.S:181: Error: invalid constant (608000) after fixup arch/arm/boot/compressed/head.S:209: Error: invalid constant (608000) after fixup Signed-off-by: Tao Huang <huangtao@rock-chips.com> Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com> Change-Id: I1efb510817d02732e76976058e5af97586ea0147
This commit is contained in:
@@ -276,7 +276,8 @@ not_angel:
|
||||
mov r4, pc
|
||||
and r4, r4, #0xf8000000
|
||||
/* Determine final kernel image address. */
|
||||
add r4, r4, #TEXT_OFFSET
|
||||
add r4, r4, #(TEXT_OFFSET & 0xffff0000)
|
||||
add r4, r4, #(TEXT_OFFSET & 0x0000ffff)
|
||||
#else
|
||||
ldr r4, =zreladdr
|
||||
#endif
|
||||
@@ -378,7 +379,8 @@ restart: adr r0, LC1
|
||||
* of RAM and hope for the best.
|
||||
*/
|
||||
cmp r0, #1
|
||||
sub r0, r4, #TEXT_OFFSET
|
||||
sub r0, r4, #(TEXT_OFFSET & 0xffff0000)
|
||||
sub r0, r0, #(TEXT_OFFSET & 0x0000ffff)
|
||||
bic r0, r0, #1
|
||||
add r0, r0, #0x100
|
||||
mov r1, r6
|
||||
|
||||
@@ -49,7 +49,8 @@
|
||||
.equ swapper_pg_dir, KERNEL_RAM_VADDR - PG_DIR_SIZE
|
||||
|
||||
.macro pgtbl, rd, phys
|
||||
add \rd, \phys, #TEXT_OFFSET
|
||||
add \rd, \phys, #(TEXT_OFFSET & 0xffff0000)
|
||||
add \rd, \rd, #(TEXT_OFFSET & 0x0000ffff)
|
||||
sub \rd, \rd, #PG_DIR_SIZE
|
||||
.endm
|
||||
|
||||
|
||||
Reference in New Issue
Block a user