intrinsics.c 713 B

123456789101112131415161718192021222324252627282930
  1. // SPDX-License-Identifier: GPL-2.0
  2. #include <linux/efi.h>
  3. #include <asm/efi.h>
  4. #include <asm/string.h>
  5. #include "efistub.h"
  6. #ifdef CONFIG_KASAN
  7. #undef memcpy
  8. #undef memmove
  9. #undef memset
  10. void *__memcpy(void *__dest, const void *__src, size_t __n) __alias(memcpy);
  11. void *__memmove(void *__dest, const void *__src, size_t count) __alias(memmove);
  12. void *__memset(void *s, int c, size_t count) __alias(memset);
  13. #endif
  14. void *memcpy(void *dst, const void *src, size_t len)
  15. {
  16. efi_bs_call(copy_mem, dst, src, len);
  17. return dst;
  18. }
  19. extern void *memmove(void *dst, const void *src, size_t len) __alias(memcpy);
  20. void *memset(void *dst, int c, size_t len)
  21. {
  22. efi_bs_call(set_mem, dst, len, c & U8_MAX);
  23. return dst;
  24. }