[v4,2/5] efi/arm: Pass start and end addresses to cache_clean_flush()
diff mbox series

Message ID 20200226165738.11201-3-ardb@kernel.org
State New
Headers show
  • ARM: decompressor: use by-VA cache maintenance for v7 cores
Related show

Commit Message

Ard Biesheuvel Feb. 26, 2020, 4:57 p.m. UTC
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

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
 arch/arm/boot/compressed/head.S | 6 ++++++
 1 file changed, 6 insertions(+)

diff mbox series

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