Home | History | Annotate | Line # | Download | only in inc
      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