summaryrefslogtreecommitdiff
path: root/Include/Protocol/LegacyInterrupt.h
blob: adec21ff55d97f1c725d633682ad7ca539d44393 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
//**********************************************************************
//**********************************************************************
//**                                                                  **
//**        (C)Copyright 1985-2010, American Megatrends, Inc.         **
//**                                                                  **
//**                       All Rights Reserved.                       **
//**                                                                  **
//**           5555 Oakbrook Pkwy, Suite 200, Norcross, GA 30093      **
//**                                                                  **
//**                       Phone: (770)-246-8600                      **
//**                                                                  **
//**********************************************************************
//**********************************************************************

//**********************************************************************
// $Header: /Alaska/SOURCE/Modules/CSM/Generic/protocol/LegacyInterrupt.h 5     1/12/10 11:51a Olegi $
//
// $Revision: 5 $
//
// $Date: 1/12/10 11:51a $
//**********************************************************************
// Revision History
// ----------------
// $Log: /Alaska/SOURCE/Modules/CSM/Generic/protocol/LegacyInterrupt.h $
// 
// 5     1/12/10 11:51a Olegi
// Copyright message updated.
// 
// 4     4/27/07 5:17p Olegi
// CSM.CHM file preparation.
//
// 3     3/13/06 2:43p Felixp
//
// 2     1/18/05 3:22p Felixp
// PrintDebugMessage renamed to Trace
//
// 1     10/26/04 9:48a Olegi
//
// 2     8/24/04 3:56p Markw
// Fixed ifndef in *.h file.
//
// 1     8/24/04 3:55p Markw
//
//**********************************************************************
//<AMI_FHDR_START>
//
// Name:            LegacyInterrupt.h
//
// Description:     Legacy Interrupt driver header file
//
//<AMI_FHDR_END>
//**********************************************************************
#ifndef __LEGACY_INTERRUPT_PROTOCOL_H__
#define __LEGACY_INTERRUPT_PROTOCOL_H__
#ifdef __cplusplus
extern "C" {
#endif
#include <EFI.h>

// { 31CE593D-108A-485D-ADB2-78F21F2966BE }
#define EFI_LEGACY_INTERRUPT_PROTOCOL_GUID \
    {0x31ce593d,0x108a,0x485d,0xad,0xb2,0x78,0xf2,0x1f,0x29,0x66,0xbe}

GUID_VARIABLE_DECLARATION(gEfiLegacyInterruptProtocolGuid,EFI_LEGACY_INTERRUPT_PROTOCOL_GUID);

typedef struct _EFI_LEGACY_INTERRUPT_PROTOCOL EFI_LEGACY_INTERRUPT_PROTOCOL;

typedef EFI_STATUS (EFIAPI *EFI_LEGACY_INTERRUPT_GET_NUMBER_PIRQS) (
    IN EFI_LEGACY_INTERRUPT_PROTOCOL    *This,
    OUT UINT8                           *NumberPirqs
);

typedef EFI_STATUS (EFIAPI *EFI_LEGACY_INTERRUPT_GET_LOCATION) (
    IN EFI_LEGACY_INTERRUPT_PROTOCOL    *This,
    OUT UINT8                           *Bus,
    OUT UINT8                           *Device,
    OUT UINT8                           *Function
);

typedef EFI_STATUS (EFIAPI *EFI_LEGACY_INTERRUPT_READ_PIRQ) (
    IN EFI_LEGACY_INTERRUPT_PROTOCOL    *This,
    IN UINT8                            PirqNumber,
    OUT UINT8                           *PirqData
);

typedef EFI_STATUS (EFIAPI *EFI_LEGACY_INTERRUPT_WRITE_PIRQ) (
    IN EFI_LEGACY_INTERRUPT_PROTOCOL    *This,
    IN UINT8                            PirqNumber,
    IN UINT8                            PirqData
);


typedef struct _EFI_LEGACY_INTERRUPT_PROTOCOL {
    EFI_LEGACY_INTERRUPT_GET_NUMBER_PIRQS   GetNumberPirqs;
    EFI_LEGACY_INTERRUPT_GET_LOCATION       GetLocation;
    EFI_LEGACY_INTERRUPT_READ_PIRQ          ReadPirq;
    EFI_LEGACY_INTERRUPT_WRITE_PIRQ         WritePirq;
} EFI_LEGACY_INTERRUPT_PROTOCOL;


/****** DO NOT WRITE BELOW THIS LINE *******/
#ifdef __cplusplus
}
#endif
#endif

//**********************************************************************
//**********************************************************************
//**                                                                  **
//**        (C)Copyright 1985-2010, American Megatrends, Inc.         **
//**                                                                  **
//**                       All Rights Reserved.                       **
//**                                                                  **
//**           5555 Oakbrook Pkwy, Suite 200, Norcross, GA 30093      **
//**                                                                  **
//**                       Phone: (770)-246-8600                      **
//**                                                                  **
//**********************************************************************
//**********************************************************************