]> git.proxmox.com Git - mirror_edk2.git/blob - IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/InternalIsaIo.h
d02c927e374b4be128f689d8777b1e5922c98452
[mirror_edk2.git] / IntelFrameworkModulePkg / Bus / Isa / IsaBusDxe / InternalIsaIo.h
1 /**@file
2 The header file for EFI_ISA_IO protocol implementation.
3
4 Copyright (c) 2006 - 2007, Intel Corporation.<BR>
5 All rights reserved. This program and the accompanying materials
6 are 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 _EFI_ISA_IO_LOCAL_H
16 #define _EFI_ISA_IO_LOCAL_H
17
18 #include "InternalIsaBus.h"
19
20 //
21 // ISA I/O Support Function Prototypes
22 //
23
24 EFI_STATUS
25 IsaIoVerifyAccess (
26 IN ISA_IO_DEVICE *IsaIoDevice,
27 IN ISA_ACCESS_TYPE Type,
28 IN EFI_ISA_IO_PROTOCOL_WIDTH Width,
29 IN UINTN Count,
30 IN OUT UINT32 *Offset
31 );
32
33 EFI_STATUS
34 EFIAPI
35 IsaIoIoRead (
36 IN EFI_ISA_IO_PROTOCOL *This,
37 IN EFI_ISA_IO_PROTOCOL_WIDTH Width,
38 IN UINT32 Offset,
39 IN UINTN Count,
40 IN OUT VOID *Buffer
41 );
42
43 EFI_STATUS
44 EFIAPI
45 IsaIoIoWrite (
46 IN EFI_ISA_IO_PROTOCOL *This,
47 IN EFI_ISA_IO_PROTOCOL_WIDTH Width,
48 IN UINT32 Offset,
49 IN UINTN Count,
50 IN OUT VOID *Buffer
51 );
52
53 EFI_STATUS
54 EFIAPI
55 IsaIoMap (
56 IN EFI_ISA_IO_PROTOCOL *This,
57 IN EFI_ISA_IO_PROTOCOL_OPERATION Operation,
58 IN UINT8 ChannelNumber OPTIONAL,
59 IN UINT32 ChannelAttributes,
60 IN VOID *HostAddress,
61 IN OUT UINTN *NumberOfBytes,
62 OUT EFI_PHYSICAL_ADDRESS *DeviceAddress,
63 OUT VOID **Mapping
64 );
65
66 EFI_STATUS
67 EFIAPI
68 IsaIoUnmap (
69 IN EFI_ISA_IO_PROTOCOL *This,
70 IN VOID *Mapping
71 );
72
73 EFI_STATUS
74 EFIAPI
75 IsaIoFlush (
76 IN EFI_ISA_IO_PROTOCOL *This
77 );
78
79 EFI_STATUS
80 ReportErrorStatusCode (
81 EFI_STATUS_CODE_VALUE code
82 );
83
84 EFI_STATUS
85 WriteDmaPort (
86 IN EFI_ISA_IO_PROTOCOL *This,
87 IN UINT32 AddrOffset,
88 IN UINT32 PageOffset,
89 IN UINT32 CountOffset,
90 IN UINT32 BaseAddress,
91 IN UINT16 Count
92 );
93
94 EFI_STATUS
95 WritePort (
96 IN EFI_ISA_IO_PROTOCOL *This,
97 IN UINT32 Offset,
98 IN UINT8 Value
99 );
100
101 EFI_STATUS
102 EFIAPI
103 IsaIoMemRead (
104 IN EFI_ISA_IO_PROTOCOL *This,
105 IN EFI_ISA_IO_PROTOCOL_WIDTH Width,
106 IN UINT32 Offset,
107 IN UINTN Count,
108 IN OUT VOID *Buffer
109 );
110
111
112 EFI_STATUS
113 EFIAPI
114 IsaIoMemWrite (
115 IN EFI_ISA_IO_PROTOCOL *This,
116 IN EFI_ISA_IO_PROTOCOL_WIDTH Width,
117 IN UINT32 Offset,
118 IN UINTN Count,
119 IN OUT VOID *Buffer
120 );
121
122 EFI_STATUS
123 EFIAPI
124 IsaIoCopyMem (
125 IN EFI_ISA_IO_PROTOCOL *This,
126 IN EFI_ISA_IO_PROTOCOL_WIDTH Width,
127 IN UINT32 DestOffset,
128 IN UINT32 SrcOffset,
129 IN UINTN Count
130 );
131
132 EFI_STATUS
133 EFIAPI
134 IsaIoAllocateBuffer (
135 IN EFI_ISA_IO_PROTOCOL *This,
136 IN EFI_ALLOCATE_TYPE Type,
137 IN EFI_MEMORY_TYPE MemoryType,
138 IN UINTN Pages,
139 OUT VOID **HostAddress,
140 IN UINT64 Attributes
141 );
142
143 EFI_STATUS
144 EFIAPI
145 IsaIoFreeBuffer (
146 IN EFI_ISA_IO_PROTOCOL *This,
147 IN UINTN Pages,
148 IN VOID *HostAddress
149 );
150
151 #endif