]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
efi_loader: Use EFI_CACHELINE_SIZE in the image loader too
authorAlexander Graf <agraf@suse.de>
Mon, 23 Apr 2018 05:59:47 +0000 (07:59 +0200)
committerAndes <uboot@andestech.com>
Tue, 29 May 2018 06:43:12 +0000 (14:43 +0800)
We were using our EFI_CACHELINE_SIZE define only in the runtime service
code, but left the image loader to use plain CONFIG_SYS_CACHELINE_SIZE.

This patch moves EFI_CACHELINE_SIZE into efi_loader.h and converts
the image loader to use it.

Signed-off-by: Alexander Graf <agraf@suse.de>
include/efi_loader.h
lib/efi_loader/efi_image_loader.c
lib/efi_loader/efi_runtime.c

index 2868ca25abb493d3ec5e867591eb65e9811c0ad4..ec000658f6de4220af3edfcbe9000e3a507faafb 100644 (file)
@@ -75,6 +75,13 @@ const char *__efi_nesting_dec(void);
                ##__VA_ARGS__); \
        })
 
+#ifdef CONFIG_SYS_CACHELINE_SIZE
+#define EFI_CACHELINE_SIZE CONFIG_SYS_CACHELINE_SIZE
+#else
+/* Just use the greatest cache flush alignment requirement I'm aware of */
+#define EFI_CACHELINE_SIZE 128
+#endif
+
 extern struct efi_runtime_services efi_runtime_services;
 extern struct efi_system_table systab;
 
index e832cde9016dae0c2cff1514a558d82603c81bc3..b45f09591a5730231629fb441df00b54a40792c7 100644 (file)
@@ -287,7 +287,7 @@ void *efi_load_pe(void *efi, struct efi_loaded_image *loaded_image_info)
 
        /* Flush cache */
        flush_cache((ulong)efi_reloc,
-                   ALIGN(virt_size, CONFIG_SYS_CACHELINE_SIZE));
+                   ALIGN(virt_size, EFI_CACHELINE_SIZE));
        invalidate_icache_all();
 
        /* Populate the loaded image interface bits */
index 52f1301d75b67ceb71dbccfd5e0e7cf449bcd5fb..042f9ae56f421b04c1ce186b06380c0b184357cd 100644 (file)
@@ -29,13 +29,6 @@ static efi_status_t __efi_runtime EFIAPI efi_unimplemented(void);
 static efi_status_t __efi_runtime EFIAPI efi_device_error(void);
 static efi_status_t __efi_runtime EFIAPI efi_invalid_parameter(void);
 
-#ifdef CONFIG_SYS_CACHELINE_SIZE
-#define EFI_CACHELINE_SIZE CONFIG_SYS_CACHELINE_SIZE
-#else
-/* Just use the greatest cache flush alignment requirement I'm aware of */
-#define EFI_CACHELINE_SIZE 128
-#endif
-
 #if defined(CONFIG_ARM64)
 #define R_RELATIVE     1027
 #define R_MASK         0xffffffffULL