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 7 Copyright (c) 1998 Intel Corporation 8 9 Module Name: 10 11 efilib.h 12 13 Abstract: 14 15 EFI Runtime library functions 16 17 18 19 Revision 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 42 VOID 43 RUNTIMEFUNCTION 44 RtZeroMem ( 45 IN VOID *Buffer, 46 IN UINTN Size 47 ); 48 49 VOID 50 RUNTIMEFUNCTION 51 RtSetMem ( 52 IN VOID *Buffer, 53 IN UINTN Size, 54 IN UINT8 Value 55 ); 56 57 VOID 58 RUNTIMEFUNCTION 59 RtCopyMem ( 60 IN VOID *Dest, 61 IN CONST VOID *Src, 62 IN UINTN len 63 ); 64 65 INTN 66 RUNTIMEFUNCTION 67 RtCompareMem ( 68 IN CONST VOID *Dest, 69 IN CONST VOID *Src, 70 IN UINTN len 71 ); 72 73 INTN 74 RUNTIMEFUNCTION 75 RtStrCmp ( 76 IN CONST CHAR16 *s1, 77 IN CONST CHAR16 *s2 78 ); 79 80 81 VOID 82 RUNTIMEFUNCTION 83 RtStrCpy ( 84 IN CHAR16 *Dest, 85 IN CONST CHAR16 *Src 86 ); 87 88 VOID 89 RUNTIMEFUNCTION 90 RtStrnCpy ( 91 IN CHAR16 *Dest, 92 IN CONST CHAR16 *Src, 93 IN UINTN Len 94 ); 95 96 CHAR16 * 97 RUNTIMEFUNCTION 98 RtStpCpy ( 99 IN CHAR16 *Dest, 100 IN CONST CHAR16 *Src 101 ); 102 103 CHAR16 * 104 RUNTIMEFUNCTION 105 RtStpnCpy ( 106 IN CHAR16 *Dest, 107 IN CONST CHAR16 *Src, 108 IN UINTN Len 109 ); 110 111 VOID 112 RUNTIMEFUNCTION 113 RtStrCat ( 114 IN CHAR16 *Dest, 115 IN CONST CHAR16 *Src 116 ); 117 118 VOID 119 RUNTIMEFUNCTION 120 RtStrnCat ( 121 IN CHAR16 *Dest, 122 IN CONST CHAR16 *Src, 123 IN UINTN Len 124 ); 125 126 UINTN 127 RUNTIMEFUNCTION 128 RtStrLen ( 129 IN CONST CHAR16 *s1 130 ); 131 132 UINTN 133 RUNTIMEFUNCTION 134 RtStrnLen ( 135 IN CONST CHAR16 *s1, 136 IN UINTN Len 137 ); 138 139 UINTN 140 RUNTIMEFUNCTION 141 RtStrSize ( 142 IN CONST CHAR16 *s1 143 ); 144 145 INTN 146 RUNTIMEFUNCTION 147 RtCompareGuid ( 148 IN EFI_GUID *Guid1, 149 IN EFI_GUID *Guid2 150 ); 151 152 UINT8 153 RUNTIMEFUNCTION 154 RtDecimaltoBCD( 155 IN UINT8 BcdValue 156 ); 157 158 UINT8 159 RUNTIMEFUNCTION 160 RtBCDtoDecimal( 161 IN UINT8 BcdValue 162 ); 163 164 // 165 // Virtual mapping transition support. (Only used during 166 // the virtual address change transisition) 167 // 168 169 VOID 170 RUNTIMEFUNCTION 171 RtLibEnableVirtualMappings ( 172 VOID 173 ); 174 175 VOID 176 RUNTIMEFUNCTION 177 RtConvertList ( 178 IN UINTN DebugDisposition, 179 IN OUT LIST_ENTRY *ListHead 180 ); 181 182 VOID 183 RUNTIMEFUNCTION 184 RtAcquireLock ( 185 IN FLOCK *Lock 186 ); 187 188 VOID 189 RUNTIMEFUNCTION 190 RtReleaseLock ( 191 IN FLOCK *Lock 192 ); 193 194 195 #endif 196