[ARM] 4227/1: minor head.S fixups
Let's surround constructs like: orr r3, r3, #(KERNEL_RAM_PADDR & 0x00f00000) between .if .endif since (KERNEL_RAM_PADDR & 0x00f00000) is 0 in 99% of all cases. Also let's mask PHYS_OFFSET with 0x00f00000 instead of 0x00e00000. Section mappings are really 1MB not 2MB and the 2MB groupping is a higher level issue already much better enforced with #if (PHYS_OFFSET & 0x001fffff) #error "PHYS_OFFSET must be at an even 2MiB boundary!" #endif at the top of the file. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
committed by
Russell King
parent
99cce8f7b1
commit
4043579252
@@ -257,7 +257,9 @@ __create_page_tables:
|
|||||||
* Map some ram to cover our .data and .bss areas.
|
* Map some ram to cover our .data and .bss areas.
|
||||||
*/
|
*/
|
||||||
orr r3, r7, #(KERNEL_RAM_PADDR & 0xff000000)
|
orr r3, r7, #(KERNEL_RAM_PADDR & 0xff000000)
|
||||||
|
.if (KERNEL_RAM_PADDR & 0x00f00000)
|
||||||
orr r3, r3, #(KERNEL_RAM_PADDR & 0x00f00000)
|
orr r3, r3, #(KERNEL_RAM_PADDR & 0x00f00000)
|
||||||
|
.endif
|
||||||
add r0, r4, #(KERNEL_RAM_VADDR & 0xff000000) >> 18
|
add r0, r4, #(KERNEL_RAM_VADDR & 0xff000000) >> 18
|
||||||
str r3, [r0, #(KERNEL_RAM_VADDR & 0x00f00000) >> 18]!
|
str r3, [r0, #(KERNEL_RAM_VADDR & 0x00f00000) >> 18]!
|
||||||
ldr r6, =(_end - 1)
|
ldr r6, =(_end - 1)
|
||||||
@@ -274,7 +276,9 @@ __create_page_tables:
|
|||||||
*/
|
*/
|
||||||
add r0, r4, #PAGE_OFFSET >> 18
|
add r0, r4, #PAGE_OFFSET >> 18
|
||||||
orr r6, r7, #(PHYS_OFFSET & 0xff000000)
|
orr r6, r7, #(PHYS_OFFSET & 0xff000000)
|
||||||
orr r6, r6, #(PHYS_OFFSET & 0x00e00000)
|
.if (PHYS_OFFSET & 0x00f00000)
|
||||||
|
orr r6, r6, #(PHYS_OFFSET & 0x00f00000)
|
||||||
|
.endif
|
||||||
str r6, [r0]
|
str r6, [r0]
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_LL
|
#ifdef CONFIG_DEBUG_LL
|
||||||
|
Reference in New Issue
Block a user