1/* $NetBSD: efirtlib.h,v 1.1.1.3 2021/09/30 18:50:09 jmcneill Exp $ */ 2 3#ifndef _EFI_RT_LIB_INCLUDE_ 4#define _EFI_RT_LIB_INCLUDE_ 5/*++ 6 7Copyright (c) 1998 Intel Corporation 8 9Module Name: 10 11 efilib.h 12 13Abstract: 14 15 EFI Runtime library functions 16 17 18 19Revision History 20 21--*/ 22 23#include "efidebug.h" 24#include "efipart.h" 25#if defined(_M_X64) || defined(__x86_64__) || defined(__amd64__) 26#include "x86_64/efilibplat.h" 27#elif defined(_M_IX86) || defined(__i386__) 28#include "ia32/efilibplat.h" 29#elif defined(_M_IA64) || defined(__ia64__) 30#include "ia64/efilibplat.h" 31#elif defined (_M_ARM64) || defined(__aarch64__) 32#include "aarch64/efilibplat.h" 33#elif defined (_M_ARM) || defined(__arm__) 34#include "arm/efilibplat.h" 35#elif defined (_M_MIPS64) || defined(__mips64__) 36#include "mips64el/efilibplat.h" 37#elif defined (__riscv) && __riscv_xlen == 64 38#include "riscv64/efilibplat.h" 39#endif 40 41 42VOID 43RUNTIMEFUNCTION 44RtZeroMem ( 45 IN VOID *Buffer, 46 IN UINTN Size 47 ); 48 49VOID 50RUNTIMEFUNCTION 51RtSetMem ( 52 IN VOID *Buffer, 53 IN UINTN Size, 54 IN UINT8 Value 55 ); 56 57VOID 58RUNTIMEFUNCTION 59RtCopyMem ( 60 IN VOID *Dest, 61 IN CONST VOID *Src, 62 IN UINTN len 63 ); 64 65INTN 66RUNTIMEFUNCTION 67RtCompareMem ( 68 IN CONST VOID *Dest, 69 IN CONST VOID *Src, 70 IN UINTN len 71 ); 72 73INTN 74RUNTIMEFUNCTION 75RtStrCmp ( 76 IN CONST CHAR16 *s1, 77 IN CONST CHAR16 *s2 78 ); 79 80 81VOID 82RUNTIMEFUNCTION 83RtStrCpy ( 84 IN CHAR16 *Dest, 85 IN CONST CHAR16 *Src 86 ); 87 88VOID 89RUNTIMEFUNCTION 90RtStrnCpy ( 91 IN CHAR16 *Dest, 92 IN CONST CHAR16 *Src, 93 IN UINTN Len 94 ); 95 96CHAR16 * 97RUNTIMEFUNCTION 98RtStpCpy ( 99 IN CHAR16 *Dest, 100 IN CONST CHAR16 *Src 101 ); 102 103CHAR16 * 104RUNTIMEFUNCTION 105RtStpnCpy ( 106 IN CHAR16 *Dest, 107 IN CONST CHAR16 *Src, 108 IN UINTN Len 109 ); 110 111VOID 112RUNTIMEFUNCTION 113RtStrCat ( 114 IN CHAR16 *Dest, 115 IN CONST CHAR16 *Src 116 ); 117 118VOID 119RUNTIMEFUNCTION 120RtStrnCat ( 121 IN CHAR16 *Dest, 122 IN CONST CHAR16 *Src, 123 IN UINTN Len 124 ); 125 126UINTN 127RUNTIMEFUNCTION 128RtStrLen ( 129 IN CONST CHAR16 *s1 130 ); 131 132UINTN 133RUNTIMEFUNCTION 134RtStrnLen ( 135 IN CONST CHAR16 *s1, 136 IN UINTN Len 137 ); 138 139UINTN 140RUNTIMEFUNCTION 141RtStrSize ( 142 IN CONST CHAR16 *s1 143 ); 144 145INTN 146RUNTIMEFUNCTION 147RtCompareGuid ( 148 IN EFI_GUID *Guid1, 149 IN EFI_GUID *Guid2 150 ); 151 152UINT8 153RUNTIMEFUNCTION 154RtDecimaltoBCD( 155 IN UINT8 BcdValue 156 ); 157 158UINT8 159RUNTIMEFUNCTION 160RtBCDtoDecimal( 161 IN UINT8 BcdValue 162 ); 163 164// 165// Virtual mapping transition support. (Only used during 166// the virtual address change transisition) 167// 168 169VOID 170RUNTIMEFUNCTION 171RtLibEnableVirtualMappings ( 172 VOID 173 ); 174 175VOID 176RUNTIMEFUNCTION 177RtConvertList ( 178 IN UINTN DebugDisposition, 179 IN OUT LIST_ENTRY *ListHead 180 ); 181 182VOID 183RUNTIMEFUNCTION 184RtAcquireLock ( 185 IN FLOCK *Lock 186 ); 187 188VOID 189RUNTIMEFUNCTION 190RtReleaseLock ( 191 IN FLOCK *Lock 192 ); 193 194 195#endif 196