sandbox: efi_loader: Correct use of addresses as pointers
authorSimon Glass <sjg@chromium.org>
Wed, 27 Nov 2024 17:17:19 +0000 (11:17 -0600)
committerTom Rini <trini@konsulko.com>
Mon, 2 Dec 2024 22:34:30 +0000 (16:34 -0600)
commite46e4d6fd7f969f0e60b0f54b69830da543b0d96
tree7e46dc3af99af6a435d4f7dd924182d427cb0c5b
parentbda30f83f9a218bbcf6f58a5ad15eb00a5bd3c4b
sandbox: efi_loader: Correct use of addresses as pointers

The cache-flush function is incorrect which causes a crash in the
remoteproc tests with arm64.

Fix both problems by using map_sysmem() to convert an address to a
pointer and map_to_sysmem() to convert a pointer to an address.

Also update the image-loader's cache-flushing logic.

Signed-off-by: Simon Glass <sjg@chromium.org>
Fixes: 3286d223fd7 ("sandbox: implement invalidate_icache_all()")
Acked-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Changes in v6:
- Re-introduce

Changes in v2:
- Drop message about EFI_LOADER

arch/sandbox/cpu/cache.c              |  8 +++++++-
 drivers/remoteproc/rproc-elf-loader.c | 18 +++++++++++-------
 lib/efi_loader/efi_image_loader.c     |  3 ++-
 3 files changed, 20 insertions(+), 9 deletions(-)

Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
arch/sandbox/cpu/cache.c
drivers/remoteproc/rproc-elf-loader.c
lib/efi_loader/efi_image_loader.c