]> git.proxmox.com Git - mirror_edk2.git/blame - QuarkSocPkg/QuarkNorthCluster/Smm/DxeSmm/QncSmmDispatcher/QNC/QNCSmmQncn.c
ArmPkg/CompilerIntrinsicsLib: Add uread, uwrite GCC assembly sources
[mirror_edk2.git] / QuarkSocPkg / QuarkNorthCluster / Smm / DxeSmm / QncSmmDispatcher / QNC / QNCSmmQncn.c
CommitLineData
9b6bbcdb
MK
1/** @file\r
2File to contain all the hardware specific stuff for the Smm QNCn dispatch protocol.\r
3\r
4Copyright (c) 2013-2015 Intel Corporation.\r
5\r
c9f231d0 6SPDX-License-Identifier: BSD-2-Clause-Patent\r
9b6bbcdb
MK
7\r
8\r
9**/\r
10\r
11//\r
12// Include common header file for this module.\r
13//\r
14#include "CommonHeader.h"\r
15\r
16#include "QNCSmmHelpers.h"\r
17\r
18QNC_SMM_SOURCE_DESC QNCN_SOURCE_DESCS[NUM_ICHN_TYPES] = {\r
19\r
20 // QNCnMch (0)\r
21 NULL_SOURCE_DESC_INITIALIZER,\r
22\r
23 // QNCnPme (1)\r
24 NULL_SOURCE_DESC_INITIALIZER,\r
25\r
26 // QNCnRtcAlarm (2)\r
27 {\r
28 QNC_SMM_NO_FLAGS,\r
29 {\r
30 {{ACPI_ADDR_TYPE, {R_QNC_PM1BLK_PM1E}}, S_QNC_PM1BLK_PM1E, N_QNC_PM1BLK_PM1E_RTC},\r
31 NULL_BIT_DESC_INITIALIZER\r
32 },\r
33 {\r
34 {{ACPI_ADDR_TYPE, {R_QNC_PM1BLK_PM1S}}, S_QNC_PM1BLK_PM1S, N_QNC_PM1BLK_PM1S_RTC}\r
35 }\r
36 },\r
37\r
38 // QNCnRingIndicate (3)\r
39 NULL_SOURCE_DESC_INITIALIZER,\r
40\r
41 // QNCnAc97Wake (4)\r
42 NULL_SOURCE_DESC_INITIALIZER,\r
43\r
44 // QNCnSerialIrq (5)\r
45 NULL_SOURCE_DESC_INITIALIZER,\r
46\r
47 // QNCnY2KRollover (6)\r
48 NULL_SOURCE_DESC_INITIALIZER,\r
49\r
50 // QNCnTcoTimeout (7)\r
51 NULL_SOURCE_DESC_INITIALIZER,\r
52\r
53 // QNCnOsTco (8)\r
54 NULL_SOURCE_DESC_INITIALIZER,\r
55\r
56 // QNCnNmi (9)\r
57 NULL_SOURCE_DESC_INITIALIZER,\r
58\r
59 // QNCnIntruderDetect (10)\r
60 NULL_SOURCE_DESC_INITIALIZER,\r
61\r
62 // QNCnBiosWp (11)\r
63 {\r
64 QNC_SMM_CLEAR_WITH_ZERO,\r
65 {\r
66 {\r
67 {\r
68 PCI_ADDR_TYPE,\r
69 {\r
70 (\r
71 (PCI_BUS_NUMBER_QNC << 24) |\r
72 (PCI_DEVICE_NUMBER_QNC_LPC << 16) |\r
73 (PCI_FUNCTION_NUMBER_QNC_LPC << 8) |\r
74 R_QNC_LPC_BIOS_CNTL\r
75 )\r
76 }\r
77 },\r
78 S_QNC_LPC_BIOS_CNTL,\r
79 N_QNC_LPC_BIOS_CNTL_BLE\r
80 },\r
81 NULL_BIT_DESC_INITIALIZER\r
82 },\r
83 {\r
84 {\r
85 {\r
86 PCI_ADDR_TYPE,\r
87 {\r
88 (\r
89 (PCI_BUS_NUMBER_QNC << 24) |\r
90 (PCI_DEVICE_NUMBER_QNC_LPC << 16) |\r
91 (PCI_FUNCTION_NUMBER_QNC_LPC << 8) |\r
92 R_QNC_LPC_BIOS_CNTL\r
93 )\r
94 }\r
95 },\r
96 S_QNC_LPC_BIOS_CNTL,\r
97 N_QNC_LPC_BIOS_CNTL_BIOSWE\r
98 }\r
99 }\r
100 },\r
101\r
102 // QNCnMcSmi (12)\r
103 NULL_SOURCE_DESC_INITIALIZER,\r
104\r
105 // QNCnPmeB0 (13)\r
106 NULL_SOURCE_DESC_INITIALIZER,\r
107\r
108 // QNCnThrmSts (14)\r
109 {\r
110 QNC_SMM_SCI_EN_DEPENDENT,\r
111 {\r
112 {{GPE_ADDR_TYPE, {R_QNC_GPE0BLK_GPE0E}}, S_QNC_GPE0BLK_GPE0E, N_QNC_GPE0BLK_GPE0E_THRM},\r
113 NULL_BIT_DESC_INITIALIZER\r
114 },\r
115 {\r
116 {{GPE_ADDR_TYPE, {R_QNC_GPE0BLK_GPE0S}}, S_QNC_GPE0BLK_GPE0S, N_QNC_GPE0BLK_GPE0S_THRM}\r
117 }\r
118 },\r
119\r
120 // QNCnSmBus (15)\r
121 NULL_SOURCE_DESC_INITIALIZER,\r
122\r
123 // QNCnIntelUsb2 (16)\r
124 NULL_SOURCE_DESC_INITIALIZER,\r
125\r
126 // QNCnMonSmi7 (17)\r
127 NULL_SOURCE_DESC_INITIALIZER,\r
128\r
129 // QNCnMonSmi6 (18)\r
130 NULL_SOURCE_DESC_INITIALIZER,\r
131\r
132 // QNCnMonSmi5 (19)\r
133 NULL_SOURCE_DESC_INITIALIZER,\r
134\r
135 // QNCnMonSmi4 (20)\r
136 NULL_SOURCE_DESC_INITIALIZER,\r
137\r
138 // QNCnDevTrap13 (21)\r
139 NULL_SOURCE_DESC_INITIALIZER,\r
140\r
141 // QNCnDevTrap12 (22)\r
142 NULL_SOURCE_DESC_INITIALIZER,\r
143\r
144 // QNCnDevTrap11 (23)\r
145 NULL_SOURCE_DESC_INITIALIZER,\r
146\r
147 // QNCnDevTrap10 (24)\r
148 NULL_SOURCE_DESC_INITIALIZER,\r
149\r
150 // QNCnDevTrap9 (25)\r
151 NULL_SOURCE_DESC_INITIALIZER,\r
152\r
153 // QNCnDevTrap8 (26)\r
154 NULL_SOURCE_DESC_INITIALIZER,\r
155\r
156 // QNCnDevTrap7 (27)\r
157 NULL_SOURCE_DESC_INITIALIZER,\r
158\r
159 // QNCnDevTrap6 (28)\r
160 NULL_SOURCE_DESC_INITIALIZER,\r
161\r
162 // QNCnDevTrap5 (29)\r
163 NULL_SOURCE_DESC_INITIALIZER,\r
164\r
165 // QNCnDevTrap3 (30)\r
166 NULL_SOURCE_DESC_INITIALIZER,\r
167\r
168 // QNCnDevTrap2 (31)\r
169 NULL_SOURCE_DESC_INITIALIZER,\r
170\r
171 // QNCnDevTrap1 (32)\r
172 NULL_SOURCE_DESC_INITIALIZER,\r
173\r
174 // QNCnDevTrap0 (33)\r
175 NULL_SOURCE_DESC_INITIALIZER,\r
176\r
177 // QNCnIoTrap3 (34)\r
178 NULL_SOURCE_DESC_INITIALIZER,\r
179\r
180 // QNCnIoTrap2 (35)\r
181 NULL_SOURCE_DESC_INITIALIZER,\r
182\r
183 // QNCnIoTrap1 (36)\r
184 NULL_SOURCE_DESC_INITIALIZER,\r
185\r
186 // QNCnIoTrap0 (37)\r
187 NULL_SOURCE_DESC_INITIALIZER,\r
188\r
189 // QNCnPciExpress (38)\r
190 NULL_SOURCE_DESC_INITIALIZER,\r
191\r
192 // QNCnMonitor (39)\r
193 NULL_SOURCE_DESC_INITIALIZER,\r
194\r
195 // QNCnSpi (40)\r
196 NULL_SOURCE_DESC_INITIALIZER,\r
197\r
198 // QNCnQRT (41)\r
199 NULL_SOURCE_DESC_INITIALIZER,\r
200\r
201 // QNCnGpioUnlock (42)\r
202 NULL_SOURCE_DESC_INITIALIZER\r
203};\r
204\r
205VOID\r
206QNCSmmQNCnClearSource(\r
207 QNC_SMM_SOURCE_DESC *SrcDesc\r
208 )\r
209{\r
210 QNCSmmClearSource (SrcDesc);\r
211}\r