Now that kexec does its relocations with the MMU enabled, we no longer
need to clean the relocation data to the PoC.

Co-developed-by: James Morse <james.mo...@arm.com>
Signed-off-by: Pavel Tatashin <pasha.tatas...@soleen.com>
---
 arch/arm64/kernel/machine_kexec.c | 40 -------------------------------
 1 file changed, 40 deletions(-)

diff --git a/arch/arm64/kernel/machine_kexec.c 
b/arch/arm64/kernel/machine_kexec.c
index d5c8aefc66f3..a1c9bee0cddd 100644
--- a/arch/arm64/kernel/machine_kexec.c
+++ b/arch/arm64/kernel/machine_kexec.c
@@ -76,45 +76,6 @@ int machine_kexec_prepare(struct kimage *kimage)
        return 0;
 }
 
-/**
- * kexec_list_flush - Helper to flush the kimage list and source pages to PoC.
- */
-static void kexec_list_flush(struct kimage *kimage)
-{
-       kimage_entry_t *entry;
-
-       __flush_dcache_area(kimage, sizeof(*kimage));
-
-       for (entry = &kimage->head; ; entry++) {
-               unsigned int flag;
-               void *addr;
-
-               /* flush the list entries. */
-               __flush_dcache_area(entry, sizeof(kimage_entry_t));
-
-               flag = *entry & IND_FLAGS;
-               if (flag == IND_DONE)
-                       break;
-
-               addr = phys_to_virt(*entry & PAGE_MASK);
-
-               switch (flag) {
-               case IND_INDIRECTION:
-                       /* Set entry point just before the new list page. */
-                       entry = (kimage_entry_t *)addr - 1;
-                       break;
-               case IND_SOURCE:
-                       /* flush the source pages. */
-                       __flush_dcache_area(addr, PAGE_SIZE);
-                       break;
-               case IND_DESTINATION:
-                       break;
-               default:
-                       BUG();
-               }
-       }
-}
-
 /**
  * kexec_segment_flush - Helper to flush the kimage segments to PoC.
  */
@@ -200,7 +161,6 @@ int machine_kexec_post_load(struct kimage *kimage)
        __flush_dcache_area(reloc_code, reloc_size);
        flush_icache_range((uintptr_t)reloc_code, (uintptr_t)reloc_code +
                           reloc_size);
-       kexec_list_flush(kimage);
        kexec_image_info(kimage);
 
        return 0;
-- 
2.25.1

Reply via email to