Forráskód Böngészése

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 <pjones@redhat.com>
Peter Jones 3 éve
szülő
commit
deb8a7f267
3 módosított fájl, 7 hozzáadás és 7 törlés
  1. 3 3
      inc/efilib.h
  2. 3 3
      lib/misc.c
  3. 1 1
      lib/str.c

+ 3 - 3
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
     );
 

+ 3 - 3
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
     )
 {

+ 1 - 1
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;
 }