]> git.proxmox.com Git - mirror_edk2.git/blob - IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/InternalIsaIo.h
Update to BSD license header.
[mirror_edk2.git] / IntelFrameworkModulePkg / Bus / Isa / IsaBusDxe / InternalIsaIo.h
1 /*++
2
3 Copyright (c) 2006 - 2007, Intel Corporation<BR>
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 Module Name:
13
14 IsaIo.h
15
16 Abstract:
17
18 The header file for EFI_ISA_IO protocol implementation.
19
20 --*/
21
22 #ifndef _EFI_ISA_IO_LOCAL_H
23 #define _EFI_ISA_IO_LOCAL_H
24
25 //
26 // Include common header file for this module.
27 //
28 #include "CommonHeader.h"
29
30 #include "InternalIsaBus.h"
31
32 //
33 // ISA I/O Support Function Prototypes
34 //
35
36 EFI_STATUS
37 IsaIoVerifyAccess (
38 IN ISA_IO_DEVICE *IsaIoDevice,
39 IN ISA_ACCESS_TYPE Type,
40 IN EFI_ISA_IO_PROTOCOL_WIDTH Width,
41 IN UINTN Count,
42 IN OUT UINT32 *Offset
43 );
44
45 EFI_STATUS
46 EFIAPI
47 IsaIoIoRead (
48 IN EFI_ISA_IO_PROTOCOL *This,
49 IN EFI_ISA_IO_PROTOCOL_WIDTH Width,
50 IN UINT32 Offset,
51 IN UINTN Count,
52 IN OUT VOID *Buffer
53 );
54
55 EFI_STATUS
56 EFIAPI
57 IsaIoIoWrite (
58 IN EFI_ISA_IO_PROTOCOL *This,
59 IN EFI_ISA_IO_PROTOCOL_WIDTH Width,
60 IN UINT32 Offset,
61 IN UINTN Count,
62 IN OUT VOID *Buffer
63 );
64
65 EFI_STATUS
66 EFIAPI
67 IsaIoMap (
68 IN EFI_ISA_IO_PROTOCOL *This,
69 IN EFI_ISA_IO_PROTOCOL_OPERATION Operation,
70 IN UINT8 ChannelNumber OPTIONAL,
71 IN UINT32 ChannelAttributes,
72 IN VOID *HostAddress,
73 IN OUT UINTN *NumberOfBytes,
74 OUT EFI_PHYSICAL_ADDRESS *DeviceAddress,
75 OUT VOID **Mapping
76 );
77
78 EFI_STATUS
79 EFIAPI
80 IsaIoUnmap (
81 IN EFI_ISA_IO_PROTOCOL *This,
82 IN VOID *Mapping
83 );
84
85 EFI_STATUS
86 EFIAPI
87 IsaIoFlush (
88 IN EFI_ISA_IO_PROTOCOL *This
89 );
90
91 EFI_STATUS
92 ReportErrorStatusCode (
93 EFI_STATUS_CODE_VALUE code
94 );
95
96 EFI_STATUS
97 WriteDmaPort (
98 IN EFI_ISA_IO_PROTOCOL *This,
99 IN UINT32 AddrOffset,
100 IN UINT32 PageOffset,
101 IN UINT32 CountOffset,
102 IN UINT32 BaseAddress,
103 IN UINT16 Count
104 );
105
106 EFI_STATUS
107 WritePort (
108 IN EFI_ISA_IO_PROTOCOL *This,
109 IN UINT32 Offset,
110 IN UINT8 Value
111 );
112
113 EFI_STATUS
114 EFIAPI
115 IsaIoMemRead (
116 IN EFI_ISA_IO_PROTOCOL *This,
117 IN EFI_ISA_IO_PROTOCOL_WIDTH Width,
118 IN UINT32 Offset,
119 IN UINTN Count,
120 IN OUT VOID *Buffer
121 );
122
123
124 EFI_STATUS
125 EFIAPI
126 IsaIoMemWrite (
127 IN EFI_ISA_IO_PROTOCOL *This,
128 IN EFI_ISA_IO_PROTOCOL_WIDTH Width,
129 IN UINT32 Offset,
130 IN UINTN Count,
131 IN OUT VOID *Buffer
132 );
133
134 EFI_STATUS
135 EFIAPI
136 IsaIoCopyMem (
137 IN EFI_ISA_IO_PROTOCOL *This,
138 IN EFI_ISA_IO_PROTOCOL_WIDTH Width,
139 IN UINT32 DestOffset,
140 IN UINT32 SrcOffset,
141 IN UINTN Count
142 );
143
144 EFI_STATUS
145 EFIAPI
146 IsaIoAllocateBuffer (
147 IN EFI_ISA_IO_PROTOCOL *This,
148 IN EFI_ALLOCATE_TYPE Type,
149 IN EFI_MEMORY_TYPE MemoryType,
150 IN UINTN Pages,
151 OUT VOID **HostAddress,
152 IN UINT64 Attributes
153 );
154
155 EFI_STATUS
156 EFIAPI
157 IsaIoFreeBuffer (
158 IN EFI_ISA_IO_PROTOCOL *This,
159 IN UINTN Pages,
160 IN VOID *HostAddress
161 );
162
163 #endif