summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArd Biesheuvel <ardb@kernel.org>2020-02-19 00:09:48 +0100
committerArd Biesheuvel <ardb@kernel.org>2020-02-22 19:04:57 +0100
commite951a1f427f2312e17b4e0f485e60068ca1423bb (patch)
tree87e960ab626d1b22bfec7237cb1c71c89a49fa81
parentc7225494be79f8629c9166b106d6b1febf2a882f (diff)
efi/arm: Pass start and end addresses to cache_clean_flush()
In preparation for turning the decompressor's cache clean/flush operations into proper by-VA maintenance for v7 cores, pass the start and end addresses of the regions that need cache maintenance into cache_clean_flush in registers r0 and r1. Currently, all implementations of cache_clean_flush ignore these values, so no functional change is expected as a result of this patch. Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
-rw-r--r--arch/arm/boot/compressed/head.S6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index 39f7071d47c7..8487221bedb0 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -1460,6 +1460,12 @@ ENTRY(efi_stub_entry)
@ Preserve return value of efi_entry() in r4
mov r4, r0
+ add r1, r4, #SZ_2M @ DT end
+ bl cache_clean_flush
+
+ ldr r0, [sp] @ relocated zImage
+ ldr r1, =_edata @ size of zImage
+ add r1, r1, r0 @ end of zImage
bl cache_clean_flush
@ The PE/COFF loader might not have cleaned the code we are