From deb8a7f267d96299b9aa41300539f617db54c2a9 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Wed, 4 Aug 2021 12:52:13 -0400 Subject: [PATCH] Make CopyMem() and SetMem() be EFIAPI For wildly unknown reasons, EFI Boot Services includes CopyMem() and SetMem() functions, and they are marked as EFIAPI functions. This patch marks gnu-efi's CopyMem() and SetMem() as EFIAPI functions, and makes their exposed API match the misguided nonsense in the EFI spec, so that they can be used there in a test environment. Signed-off-by: Peter Jones --- inc/efilib.h | 6 +++--- lib/misc.c | 6 +++--- lib/str.c | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/inc/efilib.h b/inc/efilib.h index a42453a..f35d2ed 100644 --- a/inc/efilib.h +++ b/inc/efilib.h @@ -287,17 +287,17 @@ ZeroMem ( IN UINTN Size ); -VOID +VOID EFIAPI SetMem ( IN VOID *Buffer, IN UINTN Size, IN UINT8 Value ); -VOID +VOID EFIAPI CopyMem ( IN VOID *Dest, - IN CONST VOID *Src, + IN VOID *Src, IN UINTN len ); diff --git a/lib/misc.c b/lib/misc.c index 78d61fc..1d2e241 100644 --- a/lib/misc.c +++ b/lib/misc.c @@ -98,7 +98,7 @@ ZeroMem ( RtZeroMem (Buffer, Size); } -VOID +VOID EFIAPI SetMem ( IN VOID *Buffer, IN UINTN Size, @@ -108,10 +108,10 @@ SetMem ( RtSetMem (Buffer, Size, Value); } -VOID +VOID EFIAPI CopyMem ( IN VOID *Dest, - IN CONST VOID *Src, + IN VOID *Src, IN UINTN len ) { diff --git a/lib/str.c b/lib/str.c index b9b156b..a2f8750 100644 --- a/lib/str.c +++ b/lib/str.c @@ -205,7 +205,7 @@ StrDuplicate ( Size = StrSize(Src); Dest = AllocatePool (Size); if (Dest) { - CopyMem (Dest, Src, Size); + CopyMem (Dest, (void *)Src, Size); } return Dest; }