diff options
author | Heinrich Schuchardt <xypron.glpk@gmx.de> | 2020-06-28 16:30:29 +0200 |
---|---|---|
committer | Heinrich Schuchardt <xypron.glpk@gmx.de> | 2020-07-11 23:14:17 +0200 |
commit | b0dd8cb4076ea178df93ad56be6636dcdb444c33 (patch) | |
tree | b2cfe6dbd438e1384c07acc7363169a8a0150a38 | |
parent | 724d28171e5bd239866cdf885a7b70c059ddd563 (diff) | |
download | u-boot-b0dd8cb4076ea178df93ad56be6636dcdb444c33.zip u-boot-b0dd8cb4076ea178df93ad56be6636dcdb444c33.tar.gz u-boot-b0dd8cb4076ea178df93ad56be6636dcdb444c33.tar.bz2 |
efi_loader: new function efi_memcpy_runtime()
Provide a memcpy() function that we can use at UEFI runtime.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
-rw-r--r-- | include/efi_loader.h | 3 | ||||
-rw-r--r-- | lib/efi_loader/efi_runtime.c | 19 |
2 files changed, 22 insertions, 0 deletions
diff --git a/include/efi_loader.h b/include/efi_loader.h index be6cede..9894464 100644 --- a/include/efi_loader.h +++ b/include/efi_loader.h @@ -792,6 +792,9 @@ bool efi_secure_boot_enabled(void); bool efi_image_parse(void *efi, size_t len, struct efi_image_regions **regp, WIN_CERTIFICATE **auth, size_t *auth_len); +/* runtime implementation of memcpy() */ +void efi_memcpy_runtime(void *dest, const void *src, size_t n); + #else /* CONFIG_IS_ENABLED(EFI_LOADER) */ /* Without CONFIG_EFI_LOADER we don't have a runtime section, stub it out */ diff --git a/lib/efi_loader/efi_runtime.c b/lib/efi_loader/efi_runtime.c index a4aa1d8..5b6506f 100644 --- a/lib/efi_loader/efi_runtime.c +++ b/lib/efi_loader/efi_runtime.c @@ -138,6 +138,25 @@ efi_status_t efi_init_runtime_supported(void) } /** + * efi_memcpy_runtime() - copy memory area + * + * At runtime memcpy() is not available. + * + * @dest: destination buffer + * @src: source buffer + * @n: number of bytes to copy + * Return: pointer to destination buffer + */ +void __efi_runtime efi_memcpy_runtime(void *dest, const void *src, size_t n) +{ + u8 *d = dest; + const u8 *s = src; + + for (; n; --n) + *d++ = *s++; +} + +/** * efi_update_table_header_crc32() - Update crc32 in table header * * @table: EFI table |