VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/PcAtChipsetPkg/PciHostBridgeDxe/IoFifo.h@ 70119

最後變更 在這個檔案從70119是 58466,由 vboxsync 提交於 9 年 前

EFI/Firmware: Merged in the svn:eol-style, svn:mime-type and trailing whitespace cleanup that was done after the initial UDK2014.SP1 import: svn merge /vendor/edk2/UDK2014.SP1 /vendor/edk2/current .

  • 屬性 svn:eol-style 設為 native
檔案大小: 4.6 KB
 
1/** @file
2 I/O FIFO routines
3
4 Copyright (c) 2008 - 2012, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials are
6 licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13**/
14
15#ifndef _IO_FIFO_H_INCLUDED_
16#define _IO_FIFO_H_INCLUDED_
17
18/**
19 Reads an 8-bit I/O port fifo into a block of memory.
20
21 Reads the 8-bit I/O fifo port specified by Port.
22
23 The port is read Count times, and the read data is
24 stored in the provided Buffer.
25
26 This function must guarantee that all I/O read and write operations are
27 serialized.
28
29 If 8-bit I/O port operations are not supported, then ASSERT().
30
31 @param Port The I/O port to read.
32 @param Count The number of times to read I/O port.
33 @param Buffer The buffer to store the read data into.
34
35**/
36VOID
37EFIAPI
38IoReadFifo8 (
39 IN UINTN Port,
40 IN UINTN Count,
41 OUT VOID *Buffer
42 );
43
44/**
45 Reads a 16-bit I/O port fifo into a block of memory.
46
47 Reads the 16-bit I/O fifo port specified by Port.
48
49 The port is read Count times, and the read data is
50 stored in the provided Buffer.
51
52 This function must guarantee that all I/O read and write operations are
53 serialized.
54
55 If 16-bit I/O port operations are not supported, then ASSERT().
56
57 @param Port The I/O port to read.
58 @param Count The number of times to read I/O port.
59 @param Buffer The buffer to store the read data into.
60
61**/
62VOID
63EFIAPI
64IoReadFifo16 (
65 IN UINTN Port,
66 IN UINTN Count,
67 OUT VOID *Buffer
68 );
69
70/**
71 Reads a 32-bit I/O port fifo into a block of memory.
72
73 Reads the 32-bit I/O fifo port specified by Port.
74
75 The port is read Count times, and the read data is
76 stored in the provided Buffer.
77
78 This function must guarantee that all I/O read and write operations are
79 serialized.
80
81 If 32-bit I/O port operations are not supported, then ASSERT().
82
83 @param Port The I/O port to read.
84 @param Count The number of times to read I/O port.
85 @param Buffer The buffer to store the read data into.
86
87**/
88VOID
89EFIAPI
90IoReadFifo32 (
91 IN UINTN Port,
92 IN UINTN Count,
93 OUT VOID *Buffer
94 );
95
96/**
97 Writes a block of memory into an 8-bit I/O port fifo.
98
99 Writes the 8-bit I/O fifo port specified by Port.
100
101 The port is written Count times, and the write data is
102 retrieved from the provided Buffer.
103
104 This function must guarantee that all I/O write and write operations are
105 serialized.
106
107 If 8-bit I/O port operations are not supported, then ASSERT().
108
109 @param Port The I/O port to write.
110 @param Count The number of times to write I/O port.
111 @param Buffer The buffer to store the write data into.
112
113**/
114VOID
115EFIAPI
116IoWriteFifo8 (
117 IN UINTN Port,
118 IN UINTN Count,
119 OUT VOID *Buffer
120 );
121
122/**
123 Writes a block of memory into a 16-bit I/O port fifo.
124
125 Writes the 16-bit I/O fifo port specified by Port.
126
127 The port is written Count times, and the write data is
128 retrieved from the provided Buffer.
129
130 This function must guarantee that all I/O write and write operations are
131 serialized.
132
133 If 16-bit I/O port operations are not supported, then ASSERT().
134
135 @param Port The I/O port to write.
136 @param Count The number of times to write I/O port.
137 @param Buffer The buffer to store the write data into.
138
139**/
140VOID
141EFIAPI
142IoWriteFifo16 (
143 IN UINTN Port,
144 IN UINTN Count,
145 OUT VOID *Buffer
146 );
147
148/**
149 Writes a block of memory into a 32-bit I/O port fifo.
150
151 Writes the 32-bit I/O fifo port specified by Port.
152
153 The port is written Count times, and the write data is
154 retrieved from the provided Buffer.
155
156 This function must guarantee that all I/O write and write operations are
157 serialized.
158
159 If 32-bit I/O port operations are not supported, then ASSERT().
160
161 @param Port The I/O port to write.
162 @param Count The number of times to write I/O port.
163 @param Buffer The buffer to store the write data into.
164
165**/
166VOID
167EFIAPI
168IoWriteFifo32 (
169 IN UINTN Port,
170 IN UINTN Count,
171 OUT VOID *Buffer
172 );
173
174#endif
175
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette