ARM: 5739/1: ARM: allow empty ATAG_CORE
From: David Brown <davidb@quicinc.com> The ATAG_CORE is allowed to be empty. Although this is handled by parse_tag_core(), __vet_atags during startup rejects this tag unless it contains data. Allow the initial tag to be either the full size, or empty. Signed-off-by: David Brown <davidb@quicinc.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
0a4bc5e89c
commit
31abdb7441
@ -13,6 +13,7 @@
|
|||||||
|
|
||||||
#define ATAG_CORE 0x54410001
|
#define ATAG_CORE 0x54410001
|
||||||
#define ATAG_CORE_SIZE ((2*4 + 3*4) >> 2)
|
#define ATAG_CORE_SIZE ((2*4 + 3*4) >> 2)
|
||||||
|
#define ATAG_CORE_SIZE_EMPTY ((2*4) >> 2)
|
||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
.type __switch_data, %object
|
.type __switch_data, %object
|
||||||
@ -251,7 +252,8 @@ __vet_atags:
|
|||||||
bne 1f
|
bne 1f
|
||||||
|
|
||||||
ldr r5, [r2, #0] @ is first tag ATAG_CORE?
|
ldr r5, [r2, #0] @ is first tag ATAG_CORE?
|
||||||
subs r5, r5, #ATAG_CORE_SIZE
|
cmp r5, #ATAG_CORE_SIZE
|
||||||
|
cmpne r5, #ATAG_CORE_SIZE_EMPTY
|
||||||
bne 1f
|
bne 1f
|
||||||
ldr r5, [r2, #4]
|
ldr r5, [r2, #4]
|
||||||
ldr r6, =ATAG_CORE
|
ldr r6, =ATAG_CORE
|
||||||
|
Loading…
Reference in New Issue
Block a user