]> xenbits.xensource.com Git - unikraft/unikraft.git/commitdiff
plat/kvm/arm: Use length when clean/invalidating cache in `KVM` entry
authorSergiu Moga <sergiu@unikraft.io>
Wed, 16 Aug 2023 08:56:15 +0000 (11:56 +0300)
committerUnikraft <monkey@unikraft.io>
Wed, 16 Aug 2023 11:12:56 +0000 (11:12 +0000)
Fix second argument of [clean_and_]invalidate_dcache_range in `KVM`
entry to use the length of the range instead of the address of the
end of the range.

Signed-off-by: Sergiu Moga <sergiu@unikraft.io>
Reviewed-by: Michalis Pappas <michalis@unikraft.io>
Approved-by: Razvan Deaconescu <razvand@unikraft.io>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Closes: #1056

plat/kvm/arm/efi_post.c
plat/kvm/arm/entry64.S

index e28beba0ad43c70d0fc63a24594fa1a9e456008b..37cc8e76d6474204de4b3141491f4bb29f26c384 100644 (file)
@@ -25,7 +25,7 @@ void __noreturn uk_efi_jmp_to_kern(void)
        ukplat_lcpu_disable_irq();
 
        /* Invalidate the image from the data cache */
-       clean_and_invalidate_dcache_range(__BASE_ADDR, __END);
+       clean_and_invalidate_dcache_range(__BASE_ADDR, __END - __BASE_ADDR);
 
        SYSREG_WRITE64(sctlr_el1, SCTLR_SET_BITS);
        SYSREG_WRITE64(contextidr_el1, 0);
index f9bb7a3d73b04e5ae4e359b3d0dcf35213ecf250..ea18ae56d2ed1c3decfe3dc1cdc2badc24593115 100644 (file)
@@ -83,6 +83,7 @@ ENTRY(_libkvmplat_entry)
 
        ur_ldr  x0, _start_ram_addr
        ur_ldr  x1, _end
+       sub     x1, x1, x0
        bl      clean_and_invalidate_dcache_range
 
        /* Disable the MMU and D-Cache. */
@@ -97,6 +98,7 @@ ENTRY(_libkvmplat_entry)
 0:
        ur_ldr  x0, _start_ram_addr
        ur_ldr  x1, _end
+       sub     x1, x1, x0
        bl      invalidate_dcache_range
 #endif /* CONFIG_LIBUKRELOC */
 1: