diff options
author | Steve McIntyre <steve@einval.com> | 2021-03-23 23:49:46 +0000 |
---|---|---|
committer | Steve McIntyre <steve@einval.com> | 2021-03-23 23:49:46 +0000 |
commit | 1251a7ba86fc40a6aad8b4fecdbca2b61808d9fa (patch) | |
tree | 2125fda549aaca55cb49a48d54be77dec7fbf3df /gnu-efi/lib/runtime/efirtlib.c | |
parent | 85b409232ce89b34626df9d72abedf5d4f5ccef6 (diff) | |
parent | 031e5cce385d3f96b1caa1d53495332a7eb03749 (diff) | |
download | efi-boot-shim-debian/15.3-1.tar.gz efi-boot-shim-debian/15.3-1.zip |
Update upstream source from tag 'upstream/15.3'debian/15.3-1
Update to upstream version '15.3'
with Debian dir 1b484f1c1ac270604a5a1451b34de4b0865c6211
Diffstat (limited to 'gnu-efi/lib/runtime/efirtlib.c')
-rw-r--r-- | gnu-efi/lib/runtime/efirtlib.c | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/gnu-efi/lib/runtime/efirtlib.c b/gnu-efi/lib/runtime/efirtlib.c new file mode 100644 index 00000000..3e330d6a --- /dev/null +++ b/gnu-efi/lib/runtime/efirtlib.c @@ -0,0 +1,131 @@ +/*++ + +Copyright (c) 1999 Intel Corporation + +Module Name: + + EfiRtLib.h + +Abstract: + + EFI Runtime library functions + + + +Revision History + +--*/ + +#include "efi.h" +#include "efilib.h" +#include "efirtlib.h" + +#ifndef __GNUC__ +#pragma RUNTIME_CODE(RtZeroMem) +#endif +VOID +RUNTIMEFUNCTION +RtZeroMem ( + IN VOID *Buffer, + IN UINTN Size + ) +{ + INT8 *pt; + + pt = Buffer; + while (Size--) { + *(pt++) = 0; + } +} + +#ifndef __GNUC__ +#pragma RUNTIME_CODE(RtSetMem) +#endif +VOID +RUNTIMEFUNCTION +RtSetMem ( + IN VOID *Buffer, + IN UINTN Size, + IN UINT8 Value + ) +{ + INT8 *pt; + + pt = Buffer; + while (Size--) { + *(pt++) = Value; + } +} + +#ifndef __GNUC__ +#pragma RUNTIME_CODE(RtCopyMem) +#endif +VOID +RUNTIMEFUNCTION +RtCopyMem ( + IN VOID *Dest, + IN CONST VOID *Src, + IN UINTN len + ) +{ + CHAR8 *d; + CONST CHAR8 *s = Src; + d = Dest; + while (len--) { + *(d++) = *(s++); + } +} + +#ifndef __GNUC__ +#pragma RUNTIME_CODE(RtCompareMem) +#endif +INTN +RUNTIMEFUNCTION +RtCompareMem ( + IN CONST VOID *Dest, + IN CONST VOID *Src, + IN UINTN len + ) +{ + CONST unsigned char *d = Dest, *s = Src; + while (len--) { + if (*d != *s) { + return *d - *s; + } + + d += 1; + s += 1; + } + + return 0; +} + +#ifndef __GNUC__ +#pragma RUNTIME_CODE(RtCompareGuid) +#endif +INTN +RUNTIMEFUNCTION +RtCompareGuid ( + IN EFI_GUID *Guid1, + IN EFI_GUID *Guid2 + ) +/*++ + +Routine Description: + + Compares to GUIDs + +Arguments: + + Guid1 - guid to compare + Guid2 - guid to compare + +Returns: + = 0 if Guid1 == Guid2 + +--*/ +{ + return RtCompareMem(Guid1, Guid2, sizeof(*Guid1)); +} + + |