]> git.proxmox.com Git - mirror_edk2.git/blame - EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/Io.c
Update the copyright notice format
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Library / RuntimeDxe / EfiRuntimeLib / Io.c
CommitLineData
3eb9473e 1/*++\r
2\r
4ea9375a
HT
3Copyright (c) 2004, Intel Corporation. All rights reserved.<BR>\r
4This program and the accompanying materials \r
3eb9473e 5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
12Module Name:\r
13\r
14 Io.c\r
15\r
16Abstract:\r
17\r
18 Light weight lib functions that wrape IoRead (), IoWrite, MemRead (), \r
19 and MemWrite ().\r
20\r
21--*/\r
22\r
23#include "Tiano.h"\r
24#include "EfiRuntimeLib.h"\r
25\r
26UINT8\r
27IoRead8 (\r
28 IN UINT64 Address\r
29 )\r
30/*++\r
31\r
32Routine Description:\r
33 Do a one byte IO read\r
34\r
35Arguments:\r
36 Address - IO address to read\r
37\r
38Returns: \r
39 Data read\r
40\r
41--*/\r
42{\r
43 UINT8 Buffer;\r
44\r
45 EfiIoRead (EfiCpuIoWidthUint8, Address, 1, &Buffer);\r
46 return Buffer;\r
47}\r
48\r
49UINT16\r
50IoRead16 (\r
51 IN UINT64 Address\r
52 )\r
53/*++\r
54\r
55Routine Description:\r
56 Do a two byte IO read\r
57\r
58Arguments:\r
59 Address - IO address to read\r
60\r
61Returns: \r
62 Data read\r
63\r
64--*/\r
65{\r
66 UINT16 Buffer;\r
67\r
68 EfiIoRead (EfiCpuIoWidthUint16, Address, 1, &Buffer);\r
69 return Buffer;\r
70}\r
71\r
72UINT32\r
73IoRead32 (\r
74 IN UINT64 Address\r
75 )\r
76/*++\r
77\r
78Routine Description:\r
79 Do a four byte IO read\r
80\r
81Arguments:\r
82 Address - IO address to read\r
83\r
84Returns: \r
85 Data read\r
86\r
87--*/\r
88{\r
89 UINT32 Buffer;\r
90\r
91 EfiIoRead (EfiCpuIoWidthUint32, Address, 1, &Buffer);\r
92 return Buffer;\r
93}\r
94\r
95VOID\r
96IoWrite8 (\r
97 IN UINT64 Address,\r
98 IN UINT8 Data\r
99 )\r
100/*++\r
101\r
102Routine Description:\r
103 Do a one byte IO write\r
104\r
105Arguments:\r
106 Address - IO address to write\r
107 Data - Data to write to Address\r
108\r
109Returns: \r
110 NONE\r
111\r
112--*/\r
113{\r
114 EfiIoWrite (EfiCpuIoWidthUint8, Address, 1, &Data);\r
115}\r
116\r
117VOID\r
118IoWrite16 (\r
119 IN UINT64 Address,\r
120 IN UINT16 Data\r
121 )\r
122/*++\r
123\r
124Routine Description:\r
125 Do a two byte IO write\r
126\r
127Arguments:\r
128 Address - IO address to write\r
129 Data - Data to write to Address\r
130\r
131Returns: \r
132 NONE\r
133\r
134--*/\r
135{\r
136 EfiIoWrite (EfiCpuIoWidthUint16, Address, 1, &Data);\r
137}\r
138\r
139VOID\r
140IoWrite32 (\r
141 IN UINT64 Address,\r
142 IN UINT32 Data\r
143 )\r
144/*++\r
145\r
146Routine Description:\r
147 Do a four byte IO write\r
148\r
149Arguments:\r
150 Address - IO address to write\r
151 Data - Data to write to Address\r
152\r
153Returns: \r
154 NONE\r
155\r
156--*/\r
157{\r
158 EfiIoWrite (EfiCpuIoWidthUint32, Address, 1, &Data);\r
159}\r
160\r
161UINT8\r
162MemRead8 (\r
163 IN UINT64 Address\r
164 )\r
165/*++\r
166\r
167Routine Description:\r
168 Do a one byte Memory mapped IO read\r
169\r
170Arguments:\r
171 Address - Memory mapped IO address to read\r
172\r
173Returns: \r
174 Data read\r
175\r
176--*/\r
177{\r
178 UINT8 Buffer;\r
179\r
180 EfiMemRead (EfiCpuIoWidthUint8, Address, 1, &Buffer);\r
181 return Buffer;\r
182}\r
183\r
184UINT16\r
185MemRead16 (\r
186 IN UINT64 Address\r
187 )\r
188/*++\r
189\r
190Routine Description:\r
191 Do a two byte Memory mapped IO read\r
192\r
193Arguments:\r
194 Address - Memory mapped IO address to read\r
195\r
196Returns: \r
197 Data read\r
198\r
199--*/\r
200{\r
201 UINT16 Buffer;\r
202\r
203 EfiMemRead (EfiCpuIoWidthUint16, Address, 1, &Buffer);\r
204 return Buffer;\r
205}\r
206\r
207UINT32\r
208MemRead32 (\r
209 IN UINT64 Address\r
210 )\r
211/*++\r
212\r
213Routine Description:\r
214 Do a four byte Memory mapped IO read\r
215\r
216Arguments:\r
217 Address - Memory mapped IO address to read\r
218\r
219Returns: \r
220 Data read\r
221\r
222--*/\r
223{\r
224 UINT32 Buffer;\r
225\r
226 EfiMemRead (EfiCpuIoWidthUint32, Address, 1, &Buffer);\r
227 return Buffer;\r
228}\r
229\r
230UINT64\r
231MemRead64 (\r
232 IN UINT64 Address\r
233 )\r
234/*++\r
235\r
236Routine Description:\r
237 Do a eight byte Memory mapped IO read\r
238\r
239Arguments:\r
240 Address - Memory mapped IO address to read\r
241\r
242Returns: \r
243 Data read\r
244\r
245--*/\r
246{\r
247 UINT64 Buffer;\r
248\r
249 EfiMemRead (EfiCpuIoWidthUint64, Address, 1, &Buffer);\r
250 return Buffer;\r
251}\r
252\r
253VOID\r
254MemWrite8 (\r
255 IN UINT64 Address,\r
256 IN UINT8 Data\r
257 )\r
258/*++\r
259\r
260Routine Description:\r
261 Do a one byte Memory mapped IO write\r
262\r
263Arguments:\r
264 Address - Memory mapped IO address to write\r
265 Data - Data to write to Address\r
266\r
267Returns: \r
268 NONE\r
269\r
270--*/\r
271{\r
272 EfiMemWrite (EfiCpuIoWidthUint8, Address, 1, &Data);\r
273}\r
274\r
275VOID\r
276MemWrite16 (\r
277 IN UINT64 Address,\r
278 IN UINT16 Data\r
279 )\r
280/*++\r
281\r
282Routine Description:\r
283 Do a two byte Memory mapped IO write\r
284\r
285Arguments:\r
286 Address - Memory mapped IO address to write\r
287 Data - Data to write to Address\r
288\r
289Returns: \r
290 NONE\r
291\r
292--*/\r
293{\r
294 EfiMemWrite (EfiCpuIoWidthUint16, Address, 1, &Data);\r
295}\r
296\r
297VOID\r
298MemWrite32 (\r
299 IN UINT64 Address,\r
300 IN UINT32 Data\r
301 )\r
302/*++\r
303\r
304Routine Description:\r
305 Do a four byte Memory mapped IO write\r
306\r
307Arguments:\r
308 Address - Memory mapped IO address to write\r
309 Data - Data to write to Address\r
310\r
311Returns: \r
312 NONE\r
313\r
314--*/\r
315{\r
316 EfiMemWrite (EfiCpuIoWidthUint32, Address, 1, &Data);\r
317}\r
318\r
319VOID\r
320MemWrite64 (\r
321 IN UINT64 Address,\r
322 IN UINT64 Data\r
323 )\r
324/*++\r
325\r
326Routine Description:\r
327 Do a eight byte Memory mapped IO write\r
328\r
329Arguments:\r
330 Address - Memory mapped IO address to write\r
331 Data - Data to write to Address\r
332\r
333Returns: \r
334 NONE\r
335\r
336--*/\r
337{\r
338 EfiMemWrite (EfiCpuIoWidthUint64, Address, 1, &Data);\r
339}\r