mirror_ubuntu-kernels/arch/loongarch/kernel
Ard Biesheuvel c82ceb440b efi/libstub: use EFI provided memcpy/memset routines
The stub is used in different execution environments, but on arm64,
RISC-V and LoongArch, we still use the core kernel's implementation of
memcpy and memset, as they are just a branch instruction away, and can
generally be reused even from code such as the EFI stub that runs in a
completely different address space.

KAsan complicates this slightly, resulting in the need for some hacks to
expose the uninstrumented, __ prefixed versions as the normal ones, as
the latter are instrumented to include the KAsan checks, which only work
in the core kernel.

Unfortunately, #define'ing memcpy to __memcpy when building C code does
not guarantee that no explicit memcpy() calls will be emitted. And with
the upcoming zboot support, which consists of a separate binary which
therefore needs its own implementation of memcpy/memset anyway, it's
better to provide one explicitly instead of linking to the existing one.

Given that EFI exposes implementations of memmove() and memset() via the
boot services table, let's wire those up in the appropriate way, and
drop the references to the core kernel ones.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2022-09-17 15:13:21 +02:00
..
.gitignore
access-helper.h LoongArch: Add exception/interrupt handling 2022-06-03 20:09:28 +08:00
acpi.c LoongArch: Parse MADT to get multi-processor information 2022-08-12 13:10:11 +08:00
asm-offsets.c LoongArch changes for v5.20 2022-08-12 09:44:23 -07:00
cacheinfo.c LoongArch: Fix shared cache size calculation 2022-07-29 18:22:33 +08:00
cpu-probe.c LoongArch: Fix wrong fpu version 2022-06-25 18:05:59 +08:00
dma.c LoongArch: Add Non-Uniform Memory Access (NUMA) support 2022-06-03 20:09:29 +08:00
efi-header.S efi/loongarch: Add efistub booting support 2022-09-06 11:19:34 +02:00
efi.c efi/loongarch: Add efistub booting support 2022-09-06 11:19:34 +02:00
elf.c LoongArch: Add ELF and module support 2022-06-03 20:09:28 +08:00
entry.S LoongArch: Re-tab the assembly files 2022-07-29 18:22:32 +08:00
env.c LoongArch: Remove unused variables 2022-07-29 18:22:32 +08:00
fpu.S LoongArch: Re-tab the assembly files 2022-07-29 18:22:32 +08:00
genex.S LoongArch: Re-tab the assembly files 2022-07-29 18:22:32 +08:00
head.S efi/loongarch: Add efistub booting support 2022-09-06 11:19:34 +02:00
idle.c LoongArch: Add process management 2022-06-03 20:09:28 +08:00
image-vars.h efi/libstub: use EFI provided memcpy/memset routines 2022-09-17 15:13:21 +02:00
inst.c LoongArch: Add ELF and module support 2022-06-03 20:09:28 +08:00
io.c LoongArch: Add misc common routines 2022-06-03 20:09:28 +08:00
irq.c irqchip: Add LoongArch CPU interrupt controller support 2022-07-20 12:09:21 +01:00
Makefile LoongArch: Add STACKTRACE support 2022-08-12 13:10:11 +08:00
mem.c LoongArch: Add boot and setup routines 2022-06-03 20:09:28 +08:00
module-sections.c LoongArch: Add ELF and module support 2022-06-03 20:09:28 +08:00
module.c LoongArch: Add Non-Uniform Memory Access (NUMA) support 2022-06-03 20:09:29 +08:00
numa.c LoongArch: Fix section mismatch warning 2022-07-07 17:41:01 +08:00
proc.c LoongArch: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK 2022-08-12 13:10:10 +08:00
process.c LoongArch: Add STACKTRACE support 2022-08-12 13:10:11 +08:00
ptrace.c LoongArch: Fix missing fcsr in ptrace's fpr_set 2022-07-29 18:22:33 +08:00
reset.c LoongArch: Remove useless header compiler.h 2022-07-29 18:22:32 +08:00
setup.c efi/loongarch: Add efistub booting support 2022-09-06 11:19:34 +02:00
signal.c LoongArch: Add signal handling support 2022-06-03 20:09:28 +08:00
smp.c LoongArch: Parse MADT to get multi-processor information 2022-08-12 13:10:11 +08:00
stacktrace.c LoongArch: Add USER_STACKTRACE support 2022-08-12 13:10:11 +08:00
switch.S LoongArch: Add STACKTRACE support 2022-08-12 13:10:11 +08:00
syscall.c LoongArch: Add system call support 2022-06-03 20:09:28 +08:00
time.c LoongArch: Fix unsigned comparison with less than zero 2022-08-12 13:10:10 +08:00
topology.c LoongArch: Add multi-processor (SMP) support 2022-06-03 20:09:29 +08:00
traps.c LoongArch: Add prologue unwinder support 2022-08-12 13:10:11 +08:00
unwind_guess.c LoongArch: Add guess unwinder support 2022-08-12 13:10:11 +08:00
unwind_prologue.c LoongArch: Add prologue unwinder support 2022-08-12 13:10:11 +08:00
vdso.c LoongArch: Add vDSO syscall __vdso_getcpu() 2022-08-12 13:10:11 +08:00
vmlinux.lds.S efi/loongarch: Add efistub booting support 2022-09-06 11:19:34 +02:00