mirror of
https://github.com/torvalds/linux.git
synced 2026-06-09 23:23:53 +02: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:
parent
a411a983a6
commit
65a0c70ca0
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user