2 File to contain all the hardware specific stuff for the Smm QNCn dispatch protocol.
4 Copyright (c) 2013-2015 Intel Corporation.
6 This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
18 // Include common header file for this module.
20 #include "CommonHeader.h"
22 #include "QNCSmmHelpers.h"
24 QNC_SMM_SOURCE_DESC QNCN_SOURCE_DESCS
[NUM_ICHN_TYPES
] = {
27 NULL_SOURCE_DESC_INITIALIZER
,
30 NULL_SOURCE_DESC_INITIALIZER
,
36 {{ACPI_ADDR_TYPE
, {R_QNC_PM1BLK_PM1E
}}, S_QNC_PM1BLK_PM1E
, N_QNC_PM1BLK_PM1E_RTC
},
37 NULL_BIT_DESC_INITIALIZER
40 {{ACPI_ADDR_TYPE
, {R_QNC_PM1BLK_PM1S
}}, S_QNC_PM1BLK_PM1S
, N_QNC_PM1BLK_PM1S_RTC
}
44 // QNCnRingIndicate (3)
45 NULL_SOURCE_DESC_INITIALIZER
,
48 NULL_SOURCE_DESC_INITIALIZER
,
51 NULL_SOURCE_DESC_INITIALIZER
,
53 // QNCnY2KRollover (6)
54 NULL_SOURCE_DESC_INITIALIZER
,
57 NULL_SOURCE_DESC_INITIALIZER
,
60 NULL_SOURCE_DESC_INITIALIZER
,
63 NULL_SOURCE_DESC_INITIALIZER
,
65 // QNCnIntruderDetect (10)
66 NULL_SOURCE_DESC_INITIALIZER
,
70 QNC_SMM_CLEAR_WITH_ZERO
,
77 (PCI_BUS_NUMBER_QNC
<< 24) |
78 (PCI_DEVICE_NUMBER_QNC_LPC
<< 16) |
79 (PCI_FUNCTION_NUMBER_QNC_LPC
<< 8) |
85 N_QNC_LPC_BIOS_CNTL_BLE
87 NULL_BIT_DESC_INITIALIZER
95 (PCI_BUS_NUMBER_QNC
<< 24) |
96 (PCI_DEVICE_NUMBER_QNC_LPC
<< 16) |
97 (PCI_FUNCTION_NUMBER_QNC_LPC
<< 8) |
103 N_QNC_LPC_BIOS_CNTL_BIOSWE
109 NULL_SOURCE_DESC_INITIALIZER
,
112 NULL_SOURCE_DESC_INITIALIZER
,
116 QNC_SMM_SCI_EN_DEPENDENT
,
118 {{GPE_ADDR_TYPE
, {R_QNC_GPE0BLK_GPE0E
}}, S_QNC_GPE0BLK_GPE0E
, N_QNC_GPE0BLK_GPE0E_THRM
},
119 NULL_BIT_DESC_INITIALIZER
122 {{GPE_ADDR_TYPE
, {R_QNC_GPE0BLK_GPE0S
}}, S_QNC_GPE0BLK_GPE0S
, N_QNC_GPE0BLK_GPE0S_THRM
}
127 NULL_SOURCE_DESC_INITIALIZER
,
129 // QNCnIntelUsb2 (16)
130 NULL_SOURCE_DESC_INITIALIZER
,
133 NULL_SOURCE_DESC_INITIALIZER
,
136 NULL_SOURCE_DESC_INITIALIZER
,
139 NULL_SOURCE_DESC_INITIALIZER
,
142 NULL_SOURCE_DESC_INITIALIZER
,
144 // QNCnDevTrap13 (21)
145 NULL_SOURCE_DESC_INITIALIZER
,
147 // QNCnDevTrap12 (22)
148 NULL_SOURCE_DESC_INITIALIZER
,
150 // QNCnDevTrap11 (23)
151 NULL_SOURCE_DESC_INITIALIZER
,
153 // QNCnDevTrap10 (24)
154 NULL_SOURCE_DESC_INITIALIZER
,
157 NULL_SOURCE_DESC_INITIALIZER
,
160 NULL_SOURCE_DESC_INITIALIZER
,
163 NULL_SOURCE_DESC_INITIALIZER
,
166 NULL_SOURCE_DESC_INITIALIZER
,
169 NULL_SOURCE_DESC_INITIALIZER
,
172 NULL_SOURCE_DESC_INITIALIZER
,
175 NULL_SOURCE_DESC_INITIALIZER
,
178 NULL_SOURCE_DESC_INITIALIZER
,
181 NULL_SOURCE_DESC_INITIALIZER
,
184 NULL_SOURCE_DESC_INITIALIZER
,
187 NULL_SOURCE_DESC_INITIALIZER
,
190 NULL_SOURCE_DESC_INITIALIZER
,
193 NULL_SOURCE_DESC_INITIALIZER
,
195 // QNCnPciExpress (38)
196 NULL_SOURCE_DESC_INITIALIZER
,
199 NULL_SOURCE_DESC_INITIALIZER
,
202 NULL_SOURCE_DESC_INITIALIZER
,
205 NULL_SOURCE_DESC_INITIALIZER
,
207 // QNCnGpioUnlock (42)
208 NULL_SOURCE_DESC_INITIALIZER
212 QNCSmmQNCnClearSource(
213 QNC_SMM_SOURCE_DESC
*SrcDesc
216 QNCSmmClearSource (SrcDesc
);