TianoCore EDK2 master
Loading...
Searching...
No Matches
Legacy8259.h
Go to the documentation of this file.
1
14#ifndef _EFI_LEGACY_8259_H_
15#define _EFI_LEGACY_8259_H_
16
17#define EFI_LEGACY_8259_PROTOCOL_GUID \
18 { \
19 0x38321dba, 0x4fe0, 0x4e17, {0x8a, 0xec, 0x41, 0x30, 0x55, 0xea, 0xed, 0xc1 } \
20 }
21
23
24typedef enum {
25 Efi8259Irq0,
26 Efi8259Irq1,
27 Efi8259Irq2,
28 Efi8259Irq3,
29 Efi8259Irq4,
30 Efi8259Irq5,
31 Efi8259Irq6,
32 Efi8259Irq7,
33 Efi8259Irq8,
34 Efi8259Irq9,
35 Efi8259Irq10,
36 Efi8259Irq11,
37 Efi8259Irq12,
38 Efi8259Irq13,
39 Efi8259Irq14,
40 Efi8259Irq15,
41 Efi8259IrqMax
42} EFI_8259_IRQ;
43
44typedef enum {
45 Efi8259LegacyMode,
46 Efi8259ProtectedMode,
47 Efi8259MaxMode
48} EFI_8259_MODE;
49
63typedef
67 IN UINT8 MasterBase,
68 IN UINT8 SlaveBase
69 );
70
86typedef
90 OUT UINT16 *LegacyMask OPTIONAL,
91 OUT UINT16 *LegacyEdgeLevel OPTIONAL,
92 OUT UINT16 *ProtectedMask OPTIONAL,
93 OUT UINT16 *ProtectedEdgeLevel OPTIONAL
94 );
95
112typedef
116 IN UINT16 *LegacyMask OPTIONAL,
117 IN UINT16 *LegacyEdgeLevel OPTIONAL,
118 IN UINT16 *ProtectedMask OPTIONAL,
119 IN UINT16 *ProtectedEdgeLevel OPTIONAL
120 );
121
140typedef
144 IN EFI_8259_MODE Mode,
145 IN UINT16 *Mask OPTIONAL,
146 IN UINT16 *EdgeLevel OPTIONAL
147 );
148
160typedef
164 IN EFI_8259_IRQ Irq,
165 OUT UINT8 *Vector
166 );
167
179typedef
183 IN EFI_8259_IRQ Irq,
184 IN BOOLEAN LevelTriggered
185 );
186
197typedef
201 IN EFI_8259_IRQ Irq
202 );
203
218typedef
222 IN EFI_HANDLE PciHandle,
223 OUT UINT8 *Vector
224 );
225
236typedef
240 IN EFI_8259_IRQ Irq
241 );
242
284 EFI_LEGACY_8259_GET_INTERRUPT_LINE GetInterruptLine;
286};
287
288extern EFI_GUID gEfiLegacy8259ProtocolGuid;
289
290#endif
#define OPTIONAL
Definition: Base.h:290
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
EFI_STATUS(EFIAPI * EFI_LEGACY_8259_END_OF_INTERRUPT)(IN EFI_LEGACY_8259_PROTOCOL *This, IN EFI_8259_IRQ Irq)
Definition: Legacy8259.h:238
EFI_STATUS(EFIAPI * EFI_LEGACY_8259_SET_MASK)(IN EFI_LEGACY_8259_PROTOCOL *This, IN UINT16 *LegacyMask OPTIONAL, IN UINT16 *LegacyEdgeLevel OPTIONAL, IN UINT16 *ProtectedMask OPTIONAL, IN UINT16 *ProtectedEdgeLevel OPTIONAL)
Definition: Legacy8259.h:114
EFI_STATUS(EFIAPI * EFI_LEGACY_8259_SET_VECTOR_BASE)(IN EFI_LEGACY_8259_PROTOCOL *This, IN UINT8 MasterBase, IN UINT8 SlaveBase)
Definition: Legacy8259.h:65
EFI_STATUS(EFIAPI * EFI_LEGACY_8259_ENABLE_IRQ)(IN EFI_LEGACY_8259_PROTOCOL *This, IN EFI_8259_IRQ Irq, IN BOOLEAN LevelTriggered)
Definition: Legacy8259.h:181
EFI_STATUS(EFIAPI * EFI_LEGACY_8259_DISABLE_IRQ)(IN EFI_LEGACY_8259_PROTOCOL *This, IN EFI_8259_IRQ Irq)
Definition: Legacy8259.h:199
EFI_STATUS(EFIAPI * EFI_LEGACY_8259_GET_MASK)(IN EFI_LEGACY_8259_PROTOCOL *This, OUT UINT16 *LegacyMask OPTIONAL, OUT UINT16 *LegacyEdgeLevel OPTIONAL, OUT UINT16 *ProtectedMask OPTIONAL, OUT UINT16 *ProtectedEdgeLevel OPTIONAL)
Definition: Legacy8259.h:88
EFI_STATUS(EFIAPI * EFI_LEGACY_8259_GET_VECTOR)(IN EFI_LEGACY_8259_PROTOCOL *This, IN EFI_8259_IRQ Irq, OUT UINT8 *Vector)
Definition: Legacy8259.h:162
EFI_STATUS(EFIAPI * EFI_LEGACY_8259_SET_MODE)(IN EFI_LEGACY_8259_PROTOCOL *This, IN EFI_8259_MODE Mode, IN UINT16 *Mask OPTIONAL, IN UINT16 *EdgeLevel OPTIONAL)
Definition: Legacy8259.h:142
EFI_STATUS(EFIAPI * EFI_LEGACY_8259_GET_INTERRUPT_LINE)(IN EFI_LEGACY_8259_PROTOCOL *This, IN EFI_HANDLE PciHandle, OUT UINT8 *Vector)
Definition: Legacy8259.h:220
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
VOID * EFI_HANDLE
Definition: UefiBaseType.h:33
Definition: Base.h:213