]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Library/BaseIoLibIntrinsic/IoLibEbc.c
MdePkg UefiDevicePathLib: Validate before touch input buffer.
[mirror_edk2.git] / MdePkg / Library / BaseIoLibIntrinsic / IoLibEbc.c
CommitLineData
f530cdbb
LG
1/** @file\r
2 I/O Library for EBC.\r
3\r
4 EBC does not support port I/O. All APIs in this file ASSERT().\r
5\r
6 Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\r
7 This program and the accompanying materials\r
8 are licensed and made available under the terms and conditions of the BSD License\r
9 which accompanies this distribution. The full text of the license may be found at\r
10 http://opensource.org/licenses/bsd-license.php.\r
11\r
12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
14\r
15**/\r
16\r
17#include "BaseIoLibIntrinsicInternal.h"\r
18\r
19/**\r
20 Reads an 8-bit I/O port.\r
21\r
22 Reads the 8-bit I/O port specified by Port. The 8-bit read value is returned.\r
23 This function must guarantee that all I/O read and write operations are\r
24 serialized.\r
25\r
26 If 8-bit I/O port operations are not supported, then ASSERT().\r
27\r
28 @param Port The I/O port to read.\r
29\r
30 @return The value read.\r
31\r
32**/\r
33UINT8\r
34EFIAPI\r
35IoRead8 (\r
36 IN UINTN Port\r
37 )\r
38{\r
39 ASSERT (FALSE);\r
40 return 0;\r
41}\r
42\r
43/**\r
44 Writes an 8-bit I/O port.\r
45\r
46 Writes the 8-bit I/O port specified by Port with the value specified by Value\r
47 and returns Value. This function must guarantee that all I/O read and write\r
48 operations are serialized.\r
49\r
50 If 8-bit I/O port operations are not supported, then ASSERT().\r
51\r
52 @param Port The I/O port to write.\r
53 @param Value The value to write to the I/O port.\r
54\r
55 @return The value written to the I/O port.\r
56\r
57**/\r
58UINT8\r
59EFIAPI\r
60IoWrite8 (\r
61 IN UINTN Port,\r
62 IN UINT8 Value\r
63 )\r
64{\r
65 ASSERT (FALSE);\r
66 return 0;\r
67}\r
68\r
69/**\r
70 Reads a 16-bit I/O port.\r
71\r
72 Reads the 16-bit I/O port specified by Port. The 16-bit read value is returned.\r
73 This function must guarantee that all I/O read and write operations are\r
74 serialized.\r
75\r
76 If 16-bit I/O port operations are not supported, then ASSERT().\r
77 If Port is not aligned on a 16-bit boundary, then ASSERT().\r
78\r
79 @param Port The I/O port to read.\r
80\r
81 @return The value read.\r
82\r
83**/\r
84UINT16\r
85EFIAPI\r
86IoRead16 (\r
87 IN UINTN Port\r
88 )\r
89{\r
90 ASSERT (FALSE);\r
91 return 0;\r
92}\r
93\r
94/**\r
95 Writes a 16-bit I/O port.\r
96\r
97 Writes the 16-bit I/O port specified by Port with the value specified by Value\r
98 and returns Value. This function must guarantee that all I/O read and write\r
99 operations are serialized.\r
100\r
101 If 16-bit I/O port operations are not supported, then ASSERT().\r
102 If Port is not aligned on a 16-bit boundary, then ASSERT().\r
103\r
104 @param Port The I/O port to write.\r
105 @param Value The value to write to the I/O port.\r
106\r
107 @return The value written to the I/O port.\r
108\r
109**/\r
110UINT16\r
111EFIAPI\r
112IoWrite16 (\r
113 IN UINTN Port,\r
114 IN UINT16 Value\r
115 )\r
116{\r
117 ASSERT (FALSE);\r
118 return 0;\r
119}\r
120\r
121/**\r
122 Reads a 32-bit I/O port.\r
123\r
124 Reads the 32-bit I/O port specified by Port. The 32-bit read value is returned.\r
125 This function must guarantee that all I/O read and write operations are\r
126 serialized.\r
127\r
128 If 32-bit I/O port operations are not supported, then ASSERT().\r
129 If Port is not aligned on a 32-bit boundary, then ASSERT().\r
130\r
131 @param Port The I/O port to read.\r
132\r
133 @return The value read.\r
134\r
135**/\r
136UINT32\r
137EFIAPI\r
138IoRead32 (\r
139 IN UINTN Port\r
140 )\r
141{\r
142 ASSERT (FALSE);\r
143 return 0;\r
144}\r
145\r
146/**\r
147 Writes a 32-bit I/O port.\r
148\r
149 Writes the 32-bit I/O port specified by Port with the value specified by Value\r
150 and returns Value. This function must guarantee that all I/O read and write\r
151 operations are serialized.\r
152\r
153 If 32-bit I/O port operations are not supported, then ASSERT().\r
154 If Port is not aligned on a 32-bit boundary, then ASSERT().\r
155\r
156 @param Port The I/O port to write.\r
157 @param Value The value to write to the I/O port.\r
158\r
159 @return The value written to the I/O port.\r
160\r
161**/\r
162UINT32\r
163EFIAPI\r
164IoWrite32 (\r
165 IN UINTN Port,\r
166 IN UINT32 Value\r
167 )\r
168{\r
169 ASSERT (FALSE);\r
170 return 0;\r
171}\r