source: mainline/boot/arch/ia64/loader/gefi/lib/runtime/efirtlib.c@ 36251c6

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 36251c6 was 7208b6c, checked in by Jakub Vana <jakub.vana@…>, 18 years ago

Basic IA64 boot and kernel suport for real machines

  • Property mode set to 100644
File size: 1.7 KB
Line 
1/*++
2
3Copyright (c) 1999 Intel Corporation
4
5Module Name:
6
7 EfiRtLib.h
8
9Abstract:
10
11 EFI Runtime library functions
12
13
14
15Revision History
16
17--*/
18
19#include "efi.h"
20#include "efilib.h"
21#include "efirtlib.h"
22
23#pragma RUNTIME_CODE(RtZeroMem)
24VOID
25RUNTIMEFUNCTION
26RtZeroMem (
27 IN VOID *Buffer,
28 IN UINTN Size
29 )
30{
31 INT8 *pt;
32
33 pt = Buffer;
34 while (Size--) {
35 *(pt++) = 0;
36 }
37}
38
39#pragma RUNTIME_CODE(RtSetMem)
40VOID
41RUNTIMEFUNCTION
42RtSetMem (
43 IN VOID *Buffer,
44 IN UINTN Size,
45 IN UINT8 Value
46 )
47{
48 INT8 *pt;
49
50 pt = Buffer;
51 while (Size--) {
52 *(pt++) = Value;
53 }
54}
55
56#pragma RUNTIME_CODE(RtCopyMem)
57VOID
58RUNTIMEFUNCTION
59RtCopyMem (
60 IN VOID *Dest,
61 IN VOID *Src,
62 IN UINTN len
63 )
64{
65 CHAR8 *d, *s;
66
67 d = Dest;
68 s = Src;
69 while (len--) {
70 *(d++) = *(s++);
71 }
72}
73
74#pragma RUNTIME_CODE(RtCompareMem)
75INTN
76RUNTIMEFUNCTION
77RtCompareMem (
78 IN VOID *Dest,
79 IN VOID *Src,
80 IN UINTN len
81 )
82{
83 CHAR8 *d, *s;
84
85 d = Dest;
86 s = Src;
87 while (len--) {
88 if (*d != *s) {
89 return *d - *s;
90 }
91
92 d += 1;
93 s += 1;
94 }
95
96 return 0;
97}
98
99#pragma RUNTIME_CODE(RtCompareGuid)
100INTN
101RUNTIMEFUNCTION
102RtCompareGuid (
103 IN EFI_GUID *Guid1,
104 IN EFI_GUID *Guid2
105 )
106/*++
107
108Routine Description:
109
110 Compares to GUIDs
111
112Arguments:
113
114 Guid1 - guid to compare
115 Guid2 - guid to compare
116
117Returns:
118 = 0 if Guid1 == Guid2
119
120--*/
121{
122 INT32 *g1, *g2, r;
123
124 //
125 // Compare 32 bits at a time
126 //
127
128 g1 = (INT32 *) Guid1;
129 g2 = (INT32 *) Guid2;
130
131 r = g1[0] - g2[0];
132 r |= g1[1] - g2[1];
133 r |= g1[2] - g2[2];
134 r |= g1[3] - g2[3];
135
136 return r;
137}
138
139
Note: See TracBrowser for help on using the repository browser.