xref: /aosp_15_r20/external/coreboot/util/msrtool/cs5536.c (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include "msrtool.h"
4 
cs5536_probe(const struct targetdef * target,const struct cpuid_t * id)5 int cs5536_probe(const struct targetdef *target, const struct cpuid_t *id) {
6 	return (NULL != pci_dev_find(0x1022, 0x2090));
7 }
8 
9 /**
10  * Documentation referenced:
11  *
12  * 33238G: AMD Geode(tm) CS5536 Companion Device Data Book
13  * http://www.amd.com/files/connectivitysolutions/geode/geode_lx/33238G_cs5536_db.pdf
14  *
15  */
16 
17 const struct msrdef cs5536_msrs[] = {
18 	/* 0x51400008-0x5140000f per 33238G pages 356-361 */
19 	/* 0x51400015 per 33238G pages 365-366 */
20 	/* 0x51400020-0x51400027 per 33238G pages 379-385 */
21 	{ 0x51400008, MSRTYPE_RDWR, MSR2(0, 0), "DIVIL_LBAR_IRQ", "Local BAR - IRQ Mapper", {
22 		{ 63, 15, RESERVED },
23 		{ 48, 1, RESERVED },
24 		{ 47, 4, "IO_MASK", "I/O Address Mask Value", PRESENT_BIN, {
25 			{ BITVAL_EOT }
26 		}},
27 		{ 43, 11, RESERVED },
28 		{ 32, 1, "LBAR_EN", "LBAR Enable", PRESENT_BIN, {
29 			{ MSR1(0), "Disable LBAR" },
30 			{ MSR1(1), "Enable LBAR" },
31 			{ BITVAL_EOT }
32 		}},
33 		{ 31, 15, RESERVED },
34 		{ 16, 1, RESERVED },
35 		{ 15, 11, "BASE_ADDR", "Base Address in I/O Space", PRESENT_HEX, {
36 			{ BITVAL_EOT }
37 		}},
38 		{ 4, 5, RESERVED },
39 		{ BITS_EOT }
40 	}},
41 	{ 0x51400009, MSRTYPE_RDWR, MSR2(0, 0), "DIVIL_LBAR_KEL", "Local BAR - Keyboard Emulation Logic from USB", {
42 		{ 63, 20, "MEM_MASK", "Memory Address Mask Value", PRESENT_HEX, {
43 			{ BITVAL_EOT }
44 		}},
45 		{ 43, 11, RESERVED },
46 		{ 32, 1, "LBAR_EN", "LBAR Enable", PRESENT_BIN, {
47 			{ MSR1(0), "Disable LBAR" },
48 			{ MSR1(1), "Enable LBAR" },
49 			{ BITVAL_EOT }
50 		}},
51 		{ 31, 20, "BASE_ADDR", "Base Address in Memory Space", PRESENT_HEX, {
52 			{ BITVAL_EOT }
53 		}},
54 		{ 11, 12, RESERVED },
55 		{ BITS_EOT }
56 	}},
57 	/* 0x5140000a is not mentioned in the databook */
58 	{ 0x5140000b, MSRTYPE_RDWR, MSR2(0, 0), "DIVIL_LBAR_SMB", "Local BAR - System Management Bus", {
59 		{ 63, 15, RESERVED },
60 		{ 48, 1, RESERVED },
61 		{ 47, 4, "IO_MASK", "I/O Address Mask Value", PRESENT_BIN, {
62 			{ BITVAL_EOT }
63 		}},
64 		{ 43, 11, RESERVED },
65 		{ 32, 1, "LBAR_EN", "LBAR Enable", PRESENT_BIN, {
66 			{ MSR1(0), "Disable LBAR" },
67 			{ MSR1(1), "Enable LBAR" },
68 			{ BITVAL_EOT }
69 		}},
70 		{ 31, 15, RESERVED },
71 		{ 16, 1, RESERVED },
72 		{ 15, 8, "BASE_ADDR", "Base Address in I/O Space", PRESENT_HEX, {
73 			{ BITVAL_EOT }
74 		}},
75 		{ 7, 8, RESERVED },
76 		{ BITS_EOT }
77 	}},
78 	{ 0x5140000c, MSRTYPE_RDWR, MSR2(0, 0), "DIVIL_LBAR_GPIO", "Local BAR - GPIO and Input Conditioning Functions", {
79 		{ 63, 15, RESERVED },
80 		{ 48, 1, RESERVED },
81 		{ 47, 4, "IO_MASK", "I/O Address Mask Value", PRESENT_BIN, {
82 			{ BITVAL_EOT }
83 		}},
84 		{ 43, 11, RESERVED },
85 		{ 32, 1, "LBAR_EN", "LBAR Enable", PRESENT_BIN, {
86 			{ MSR1(0), "Disable LBAR" },
87 			{ MSR1(1), "Enable LBAR" },
88 			{ BITVAL_EOT }
89 		}},
90 		{ 31, 15, RESERVED },
91 		{ 16, 1, RESERVED },
92 		{ 15, 8, "BASE_ADDR", "Base Address in I/O Space", PRESENT_HEX, {
93 			{ BITVAL_EOT }
94 		}},
95 		{ 7, 8, RESERVED },
96 		{ BITS_EOT }
97 	}},
98 	{ 0x5140000d, MSRTYPE_RDWR, MSR2(0, 0), "DIVIL_LBAR_MFGPT", "Local BAR - MFGPTs", {
99 		{ 63, 15, RESERVED },
100 		{ 48, 1, RESERVED },
101 		{ 47, 4, "IO_MASK", "I/O Address Mask Value", PRESENT_BIN, {
102 			{ BITVAL_EOT }
103 		}},
104 		{ 43, 11, RESERVED },
105 		{ 32, 1, "LBAR_EN", "LBAR Enable", PRESENT_BIN, {
106 			{ MSR1(0), "Disable LBAR" },
107 			{ MSR1(1), "Enable LBAR" },
108 			{ BITVAL_EOT }
109 		}},
110 		{ 31, 15, RESERVED },
111 		{ 16, 1, RESERVED },
112 		{ 15, 8, "BASE_ADDR", "Base Address in I/O Space", PRESENT_HEX, {
113 			{ BITVAL_EOT }
114 		}},
115 		{ 7, 8, RESERVED },
116 		{ BITS_EOT }
117 	}},
118 	{ 0x5140000e, MSRTYPE_RDWR, MSR2(0, 0), "DIVIL_LBAR_ACPI", "Local BAR - ACPI", {
119 		{ 63, 15, RESERVED },
120 		{ 48, 1, RESERVED },
121 		{ 47, 4, "IO_MASK", "I/O Address Mask Value", PRESENT_BIN, {
122 			{ BITVAL_EOT }
123 		}},
124 		{ 43, 11, RESERVED },
125 		{ 32, 1, "LBAR_EN", "LBAR Enable", PRESENT_BIN, {
126 			{ MSR1(0), "Disable LBAR" },
127 			{ MSR1(1), "Enable LBAR" },
128 			{ BITVAL_EOT }
129 		}},
130 		{ 31, 15, RESERVED },
131 		{ 16, 1, RESERVED },
132 		{ 15, 8, "BASE_ADDR", "Base Address in I/O Space", PRESENT_HEX, {
133 			{ BITVAL_EOT }
134 		}},
135 		{ 7, 8, RESERVED },
136 		{ BITS_EOT }
137 	}},
138 	{ 0x5140000f, MSRTYPE_RDWR, MSR2(0, 0), "DIVIL_LBAR_PMS", "Local BAR - Power Management Support", {
139 		{ 63, 15, RESERVED },
140 		{ 48, 1, RESERVED },
141 		{ 47, 4, "IO_MASK", "I/O Address Mask Value", PRESENT_BIN, {
142 			{ BITVAL_EOT }
143 		}},
144 		{ 43, 11, RESERVED },
145 		{ 32, 1, "LBAR_EN", "LBAR Enable", PRESENT_BIN, {
146 			{ MSR1(0), "Disable LBAR" },
147 			{ MSR1(1), "Enable LBAR" },
148 			{ BITVAL_EOT }
149 		}},
150 		{ 31, 15, RESERVED },
151 		{ 16, 1, RESERVED },
152 		{ 15, 9, "BASE_ADDR", "Base Address in I/O Space", PRESENT_HEX, {
153 			{ BITVAL_EOT }
154 		}},
155 		{ 6, 7, RESERVED },
156 		{ BITS_EOT }
157 	}},
158 	{ 0x51400015, MSRTYPE_RDWR, MSR2(0, 0x70), "DIVIL_BALL_OPTS", "Ball Options Control", {
159 		{ 63, 32, RESERVED },
160 		{ 31, 20, RESERVED },
161 		{ 11, 2, "SEC_BOOT_LOC", "Secondary Boot Location", PRESENT_BIN, {
162 			{ MSR1(0), "LPC ROM" },
163 			{ MSR1(2), "NOR Flash on IDE" },
164 			{ MSR1(3), "Firmware Hub" },
165 			{ BITVAL_EOT }
166 		}},
167 		{ 9, 2, "BOOT_OP_LATCHED", "Latched Value of Boot Option", PRESENT_BIN, {
168 			{ MSR1(0), "LPC ROM" },
169 			{ MSR1(2), "NOR Flash on IDE" },
170 			{ MSR1(3), "Firmware Hub" },
171 			{ BITVAL_EOT }
172 		}},
173 		{ 7, 1, RESERVED },
174 		{ 6, 1, "PIN_OPT_LALL", "All LPC Pin Option Selection", PRESENT_BIN, {
175 			{ MSR1(0), "All LPC pins become GPIOs including LPC_DRQ# and LPC_SERIRQ" },
176 			{ MSR1(1), "All LPC pins are controlled by the LPC controller except LPC_DRQ# and LPC_SERIRQ (bits [5:4])" },
177 			{ BITVAL_EOT }
178 		}},
179 		{ 5, 1, "PIN_OPT_LIRQ", "LPC_SERIRQ or GPIO21 Pin Option Selection", PRESENT_BIN, {
180 			{ MSR1(0), "Ball G2 is GPIO21" },
181 			{ MSR1(1), "Ball G2 functions as LPC_SERIRQ" },
182 			{ BITVAL_EOT }
183 		}},
184 		{ 4, 1, "PIN_OPT_LDRQ", "LPC_DRQ# or GPIO20 Pin Option Selection", PRESENT_BIN, {
185 			{ MSR1(0), "Ball G1 is GPIO20" },
186 			{ MSR1(1), "Ball G1 functions as LPC_DRQ#" },
187 			{ BITVAL_EOT }
188 		}},
189 		{ 3, 2, "PRI_BOOT_LOC", "Primary Boot Location", PRESENT_BIN, {
190 			{ MSR1(0), "LPC ROM" },
191 			{ MSR1(2), "NOR Flash on IDE" },
192 			{ MSR1(3), "Firmware Hub" },
193 			{ BITVAL_EOT }
194 		}},
195 		{ 1, 1, RESERVED },
196 		{ 0, 1, "PIN_OPT_IDE", "IDE or Flash Controller Pin Function Selection", PRESENT_BIN, {
197 			{ MSR1(0), "All IDE pins associated with Flash Controller" },
198 			{ MSR1(1), "All IDE pins associated with IDE Controller" },
199 			{ BITVAL_EOT }
200 		}},
201 	}},
202 	{ 0x51400020, MSRTYPE_RDWR, MSR2(0, 0), "PIC_YSEL_LOW", "IRQ Mapper Unrestricted Y Select Low", {
203 		{ 63, 32, RESERVED },
204 		{ 31, 4, "MAP_Y7", "Map Unrestricted Y Input 7", PRESENT_BIN, {
205 			{ MSR1(0), "Disable" },
206 			{ MSR1(1), "Interrupt Group 1" },
207 			{ MSR1(2), "Interrupt Group 2" },
208 			{ MSR1(3), "Interrupt Group 3" },
209 			{ MSR1(4), "Interrupt Group 4" },
210 			{ MSR1(5), "Interrupt Group 5" },
211 			{ MSR1(6), "Interrupt Group 6" },
212 			{ MSR1(7), "Interrupt Group 7" },
213 			{ MSR1(8), "Interrupt Group 8" },
214 			{ MSR1(9), "Interrupt Group 9" },
215 			{ MSR1(10), "Interrupt Group 10" },
216 			{ MSR1(11), "Interrupt Group 11" },
217 			{ MSR1(12), "Interrupt Group 12" },
218 			{ MSR1(13), "Interrupt Group 13" },
219 			{ MSR1(14), "Interrupt Group 14" },
220 			{ MSR1(15), "Interrupt Group 15" },
221 			{ BITVAL_EOT }
222 		}},
223 		{ 27, 4, "MAP_Y6", "Map Unrestricted Y Input 6", PRESENT_BIN, {
224 			{ MSR1(0), "Disable" },
225 			{ MSR1(1), "Interrupt Group 1" },
226 			{ MSR1(2), "Interrupt Group 2" },
227 			{ MSR1(3), "Interrupt Group 3" },
228 			{ MSR1(4), "Interrupt Group 4" },
229 			{ MSR1(5), "Interrupt Group 5" },
230 			{ MSR1(6), "Interrupt Group 6" },
231 			{ MSR1(7), "Interrupt Group 7" },
232 			{ MSR1(8), "Interrupt Group 8" },
233 			{ MSR1(9), "Interrupt Group 9" },
234 			{ MSR1(10), "Interrupt Group 10" },
235 			{ MSR1(11), "Interrupt Group 11" },
236 			{ MSR1(12), "Interrupt Group 12" },
237 			{ MSR1(13), "Interrupt Group 13" },
238 			{ MSR1(14), "Interrupt Group 14" },
239 			{ MSR1(15), "Interrupt Group 15" },
240 			{ BITVAL_EOT }
241 		}},
242 		{ 23, 4, "MAP_Y5", "Map Unrestricted Y Input 5", PRESENT_BIN, {
243 			{ MSR1(0), "Disable" },
244 			{ MSR1(1), "Interrupt Group 1" },
245 			{ MSR1(2), "Interrupt Group 2" },
246 			{ MSR1(3), "Interrupt Group 3" },
247 			{ MSR1(4), "Interrupt Group 4" },
248 			{ MSR1(5), "Interrupt Group 5" },
249 			{ MSR1(6), "Interrupt Group 6" },
250 			{ MSR1(7), "Interrupt Group 7" },
251 			{ MSR1(8), "Interrupt Group 8" },
252 			{ MSR1(9), "Interrupt Group 9" },
253 			{ MSR1(10), "Interrupt Group 10" },
254 			{ MSR1(11), "Interrupt Group 11" },
255 			{ MSR1(12), "Interrupt Group 12" },
256 			{ MSR1(13), "Interrupt Group 13" },
257 			{ MSR1(14), "Interrupt Group 14" },
258 			{ MSR1(15), "Interrupt Group 15" },
259 			{ BITVAL_EOT }
260 		}},
261 		{ 19, 4, "MAP_Y4", "Map Unrestricted Y Input 4", PRESENT_BIN, {
262 			{ MSR1(0), "Disable" },
263 			{ MSR1(1), "Interrupt Group 1" },
264 			{ MSR1(2), "Interrupt Group 2" },
265 			{ MSR1(3), "Interrupt Group 3" },
266 			{ MSR1(4), "Interrupt Group 4" },
267 			{ MSR1(5), "Interrupt Group 5" },
268 			{ MSR1(6), "Interrupt Group 6" },
269 			{ MSR1(7), "Interrupt Group 7" },
270 			{ MSR1(8), "Interrupt Group 8" },
271 			{ MSR1(9), "Interrupt Group 9" },
272 			{ MSR1(10), "Interrupt Group 10" },
273 			{ MSR1(11), "Interrupt Group 11" },
274 			{ MSR1(12), "Interrupt Group 12" },
275 			{ MSR1(13), "Interrupt Group 13" },
276 			{ MSR1(14), "Interrupt Group 14" },
277 			{ MSR1(15), "Interrupt Group 15" },
278 			{ BITVAL_EOT }
279 		}},
280 		{ 15, 4, "MAP_Y3", "Map Unrestricted Y Input 3", PRESENT_BIN, {
281 			{ MSR1(0), "Disable" },
282 			{ MSR1(1), "Interrupt Group 1" },
283 			{ MSR1(2), "Interrupt Group 2" },
284 			{ MSR1(3), "Interrupt Group 3" },
285 			{ MSR1(4), "Interrupt Group 4" },
286 			{ MSR1(5), "Interrupt Group 5" },
287 			{ MSR1(6), "Interrupt Group 6" },
288 			{ MSR1(7), "Interrupt Group 7" },
289 			{ MSR1(8), "Interrupt Group 8" },
290 			{ MSR1(9), "Interrupt Group 9" },
291 			{ MSR1(10), "Interrupt Group 10" },
292 			{ MSR1(11), "Interrupt Group 11" },
293 			{ MSR1(12), "Interrupt Group 12" },
294 			{ MSR1(13), "Interrupt Group 13" },
295 			{ MSR1(14), "Interrupt Group 14" },
296 			{ MSR1(15), "Interrupt Group 15" },
297 			{ BITVAL_EOT }
298 		}},
299 		{ 11, 4, "MAP_Y2", "Map Unrestricted Y Input 2", PRESENT_BIN, {
300 			{ MSR1(0), "Disable" },
301 			{ MSR1(1), "Interrupt Group 1" },
302 			{ MSR1(2), "Interrupt Group 2" },
303 			{ MSR1(3), "Interrupt Group 3" },
304 			{ MSR1(4), "Interrupt Group 4" },
305 			{ MSR1(5), "Interrupt Group 5" },
306 			{ MSR1(6), "Interrupt Group 6" },
307 			{ MSR1(7), "Interrupt Group 7" },
308 			{ MSR1(8), "Interrupt Group 8" },
309 			{ MSR1(9), "Interrupt Group 9" },
310 			{ MSR1(10), "Interrupt Group 10" },
311 			{ MSR1(11), "Interrupt Group 11" },
312 			{ MSR1(12), "Interrupt Group 12" },
313 			{ MSR1(13), "Interrupt Group 13" },
314 			{ MSR1(14), "Interrupt Group 14" },
315 			{ MSR1(15), "Interrupt Group 15" },
316 			{ BITVAL_EOT }
317 		}},
318 		{ 7, 4, "MAP_Y1", "Map Unrestricted Y Input 1", PRESENT_BIN, {
319 			{ MSR1(0), "Disable" },
320 			{ MSR1(1), "Interrupt Group 1" },
321 			{ MSR1(2), "Interrupt Group 2" },
322 			{ MSR1(3), "Interrupt Group 3" },
323 			{ MSR1(4), "Interrupt Group 4" },
324 			{ MSR1(5), "Interrupt Group 5" },
325 			{ MSR1(6), "Interrupt Group 6" },
326 			{ MSR1(7), "Interrupt Group 7" },
327 			{ MSR1(8), "Interrupt Group 8" },
328 			{ MSR1(9), "Interrupt Group 9" },
329 			{ MSR1(10), "Interrupt Group 10" },
330 			{ MSR1(11), "Interrupt Group 11" },
331 			{ MSR1(12), "Interrupt Group 12" },
332 			{ MSR1(13), "Interrupt Group 13" },
333 			{ MSR1(14), "Interrupt Group 14" },
334 			{ MSR1(15), "Interrupt Group 15" },
335 			{ BITVAL_EOT }
336 		}},
337 		{ 3, 4, "MAP_Y0", "Map Unrestricted Y Input 0", PRESENT_BIN, {
338 			{ MSR1(0), "Disable" },
339 			{ MSR1(1), "Interrupt Group 1" },
340 			{ MSR1(2), "Interrupt Group 2" },
341 			{ MSR1(3), "Interrupt Group 3" },
342 			{ MSR1(4), "Interrupt Group 4" },
343 			{ MSR1(5), "Interrupt Group 5" },
344 			{ MSR1(6), "Interrupt Group 6" },
345 			{ MSR1(7), "Interrupt Group 7" },
346 			{ MSR1(8), "Interrupt Group 8" },
347 			{ MSR1(9), "Interrupt Group 9" },
348 			{ MSR1(10), "Interrupt Group 10" },
349 			{ MSR1(11), "Interrupt Group 11" },
350 			{ MSR1(12), "Interrupt Group 12" },
351 			{ MSR1(13), "Interrupt Group 13" },
352 			{ MSR1(14), "Interrupt Group 14" },
353 			{ MSR1(15), "Interrupt Group 15" },
354 			{ BITVAL_EOT }
355 		}},
356 		{ BITS_EOT }
357 	}},
358 	{ 0x51400021, MSRTYPE_RDWR, MSR2(0, 0), "PIC_YSEL_HIGH", "IRQ Mapper Unrestricted Y Select High", {
359 		{ 63, 32, RESERVED },
360 		{ 31, 4, "MAP_Y15", "Map Unrestricted Y Input 15", PRESENT_BIN, {
361 			{ MSR1(0), "Disable" },
362 			{ MSR1(1), "Interrupt Group 1" },
363 			{ MSR1(2), "Interrupt Group 2" },
364 			{ MSR1(3), "Interrupt Group 3" },
365 			{ MSR1(4), "Interrupt Group 4" },
366 			{ MSR1(5), "Interrupt Group 5" },
367 			{ MSR1(6), "Interrupt Group 6" },
368 			{ MSR1(7), "Interrupt Group 7" },
369 			{ MSR1(8), "Interrupt Group 8" },
370 			{ MSR1(9), "Interrupt Group 9" },
371 			{ MSR1(10), "Interrupt Group 10" },
372 			{ MSR1(11), "Interrupt Group 11" },
373 			{ MSR1(12), "Interrupt Group 12" },
374 			{ MSR1(13), "Interrupt Group 13" },
375 			{ MSR1(14), "Interrupt Group 14" },
376 			{ MSR1(15), "Interrupt Group 15" },
377 			{ BITVAL_EOT }
378 		}},
379 		{ 27, 4, "MAP_Y14", "Map Unrestricted Y Input 14", PRESENT_BIN, {
380 			{ MSR1(0), "Disable" },
381 			{ MSR1(1), "Interrupt Group 1" },
382 			{ MSR1(2), "Interrupt Group 2" },
383 			{ MSR1(3), "Interrupt Group 3" },
384 			{ MSR1(4), "Interrupt Group 4" },
385 			{ MSR1(5), "Interrupt Group 5" },
386 			{ MSR1(6), "Interrupt Group 6" },
387 			{ MSR1(7), "Interrupt Group 7" },
388 			{ MSR1(8), "Interrupt Group 8" },
389 			{ MSR1(9), "Interrupt Group 9" },
390 			{ MSR1(10), "Interrupt Group 10" },
391 			{ MSR1(11), "Interrupt Group 11" },
392 			{ MSR1(12), "Interrupt Group 12" },
393 			{ MSR1(13), "Interrupt Group 13" },
394 			{ MSR1(14), "Interrupt Group 14" },
395 			{ MSR1(15), "Interrupt Group 15" },
396 			{ BITVAL_EOT }
397 		}},
398 		{ 23, 4, "MAP_Y13", "Map Unrestricted Y Input 13", PRESENT_BIN, {
399 			{ MSR1(0), "Disable" },
400 			{ MSR1(1), "Interrupt Group 1" },
401 			{ MSR1(2), "Interrupt Group 2" },
402 			{ MSR1(3), "Interrupt Group 3" },
403 			{ MSR1(4), "Interrupt Group 4" },
404 			{ MSR1(5), "Interrupt Group 5" },
405 			{ MSR1(6), "Interrupt Group 6" },
406 			{ MSR1(7), "Interrupt Group 7" },
407 			{ MSR1(8), "Interrupt Group 8" },
408 			{ MSR1(9), "Interrupt Group 9" },
409 			{ MSR1(10), "Interrupt Group 10" },
410 			{ MSR1(11), "Interrupt Group 11" },
411 			{ MSR1(12), "Interrupt Group 12" },
412 			{ MSR1(13), "Interrupt Group 13" },
413 			{ MSR1(14), "Interrupt Group 14" },
414 			{ MSR1(15), "Interrupt Group 15" },
415 			{ BITVAL_EOT }
416 		}},
417 		{ 19, 4, "MAP_Y12", "Map Unrestricted Y Input 12", PRESENT_BIN, {
418 			{ MSR1(0), "Disable" },
419 			{ MSR1(1), "Interrupt Group 1" },
420 			{ MSR1(2), "Interrupt Group 2" },
421 			{ MSR1(3), "Interrupt Group 3" },
422 			{ MSR1(4), "Interrupt Group 4" },
423 			{ MSR1(5), "Interrupt Group 5" },
424 			{ MSR1(6), "Interrupt Group 6" },
425 			{ MSR1(7), "Interrupt Group 7" },
426 			{ MSR1(8), "Interrupt Group 8" },
427 			{ MSR1(9), "Interrupt Group 9" },
428 			{ MSR1(10), "Interrupt Group 10" },
429 			{ MSR1(11), "Interrupt Group 11" },
430 			{ MSR1(12), "Interrupt Group 12" },
431 			{ MSR1(13), "Interrupt Group 13" },
432 			{ MSR1(14), "Interrupt Group 14" },
433 			{ MSR1(15), "Interrupt Group 15" },
434 			{ BITVAL_EOT }
435 		}},
436 		{ 15, 4, "MAP_Y11", "Map Unrestricted Y Input 11", PRESENT_BIN, {
437 			{ MSR1(0), "Disable" },
438 			{ MSR1(1), "Interrupt Group 1" },
439 			{ MSR1(2), "Interrupt Group 2" },
440 			{ MSR1(3), "Interrupt Group 3" },
441 			{ MSR1(4), "Interrupt Group 4" },
442 			{ MSR1(5), "Interrupt Group 5" },
443 			{ MSR1(6), "Interrupt Group 6" },
444 			{ MSR1(7), "Interrupt Group 7" },
445 			{ MSR1(8), "Interrupt Group 8" },
446 			{ MSR1(9), "Interrupt Group 9" },
447 			{ MSR1(10), "Interrupt Group 10" },
448 			{ MSR1(11), "Interrupt Group 11" },
449 			{ MSR1(12), "Interrupt Group 12" },
450 			{ MSR1(13), "Interrupt Group 13" },
451 			{ MSR1(14), "Interrupt Group 14" },
452 			{ MSR1(15), "Interrupt Group 15" },
453 			{ BITVAL_EOT }
454 		}},
455 		{ 11, 4, "MAP_Y10", "Map Unrestricted Y Input 10", PRESENT_BIN, {
456 			{ MSR1(0), "Disable" },
457 			{ MSR1(1), "Interrupt Group 1" },
458 			{ MSR1(2), "Interrupt Group 2" },
459 			{ MSR1(3), "Interrupt Group 3" },
460 			{ MSR1(4), "Interrupt Group 4" },
461 			{ MSR1(5), "Interrupt Group 5" },
462 			{ MSR1(6), "Interrupt Group 6" },
463 			{ MSR1(7), "Interrupt Group 7" },
464 			{ MSR1(8), "Interrupt Group 8" },
465 			{ MSR1(9), "Interrupt Group 9" },
466 			{ MSR1(10), "Interrupt Group 10" },
467 			{ MSR1(11), "Interrupt Group 11" },
468 			{ MSR1(12), "Interrupt Group 12" },
469 			{ MSR1(13), "Interrupt Group 13" },
470 			{ MSR1(14), "Interrupt Group 14" },
471 			{ MSR1(15), "Interrupt Group 15" },
472 			{ BITVAL_EOT }
473 		}},
474 		{ 7, 4, "MAP_Y9", "Map Unrestricted Y Input 9", PRESENT_BIN, {
475 			{ MSR1(0), "Disable" },
476 			{ MSR1(1), "Interrupt Group 1" },
477 			{ MSR1(2), "Interrupt Group 2" },
478 			{ MSR1(3), "Interrupt Group 3" },
479 			{ MSR1(4), "Interrupt Group 4" },
480 			{ MSR1(5), "Interrupt Group 5" },
481 			{ MSR1(6), "Interrupt Group 6" },
482 			{ MSR1(7), "Interrupt Group 7" },
483 			{ MSR1(8), "Interrupt Group 8" },
484 			{ MSR1(9), "Interrupt Group 9" },
485 			{ MSR1(10), "Interrupt Group 10" },
486 			{ MSR1(11), "Interrupt Group 11" },
487 			{ MSR1(12), "Interrupt Group 12" },
488 			{ MSR1(13), "Interrupt Group 13" },
489 			{ MSR1(14), "Interrupt Group 14" },
490 			{ MSR1(15), "Interrupt Group 15" },
491 			{ BITVAL_EOT }
492 		}},
493 		{ 3, 4, "MAP_Y8", "Map Unrestricted Y Input 8", PRESENT_BIN, {
494 			{ MSR1(0), "Disable" },
495 			{ MSR1(1), "Interrupt Group 1" },
496 			{ MSR1(2), "Interrupt Group 2" },
497 			{ MSR1(3), "Interrupt Group 3" },
498 			{ MSR1(4), "Interrupt Group 4" },
499 			{ MSR1(5), "Interrupt Group 5" },
500 			{ MSR1(6), "Interrupt Group 6" },
501 			{ MSR1(7), "Interrupt Group 7" },
502 			{ MSR1(8), "Interrupt Group 8" },
503 			{ MSR1(9), "Interrupt Group 9" },
504 			{ MSR1(10), "Interrupt Group 10" },
505 			{ MSR1(11), "Interrupt Group 11" },
506 			{ MSR1(12), "Interrupt Group 12" },
507 			{ MSR1(13), "Interrupt Group 13" },
508 			{ MSR1(14), "Interrupt Group 14" },
509 			{ MSR1(15), "Interrupt Group 15" },
510 			{ BITVAL_EOT }
511 		}},
512 		{ BITS_EOT }
513 	}},
514 	{ 0x51400022, MSRTYPE_RDWR, MSR2(0, 0), "PIC_ZSEL_LOW", "IRQ Mapper Unrestricted Z Select Low", {
515 		{ 63, 32, RESERVED },
516 		{ 31, 4, "MAP_Z7", "Map Unrestricted Z Input 7", PRESENT_BIN, {
517 			{ MSR1(0), "Disable" },
518 			{ MSR1(1), "Interrupt Group 1" },
519 			{ MSR1(2), "Interrupt Group 2" },
520 			{ MSR1(3), "Interrupt Group 3" },
521 			{ MSR1(4), "Interrupt Group 4" },
522 			{ MSR1(5), "Interrupt Group 5" },
523 			{ MSR1(6), "Interrupt Group 6" },
524 			{ MSR1(7), "Interrupt Group 7" },
525 			{ MSR1(8), "Interrupt Group 8" },
526 			{ MSR1(9), "Interrupt Group 9" },
527 			{ MSR1(10), "Interrupt Group 10" },
528 			{ MSR1(11), "Interrupt Group 11" },
529 			{ MSR1(12), "Interrupt Group 12" },
530 			{ MSR1(13), "Interrupt Group 13" },
531 			{ MSR1(14), "Interrupt Group 14" },
532 			{ MSR1(15), "Interrupt Group 15" },
533 			{ BITVAL_EOT }
534 		}},
535 		{ 27, 4, "MAP_Z6", "Map Unrestricted Z Input 6", PRESENT_BIN, {
536 			{ MSR1(0), "Disable" },
537 			{ MSR1(1), "Interrupt Group 1" },
538 			{ MSR1(2), "Interrupt Group 2" },
539 			{ MSR1(3), "Interrupt Group 3" },
540 			{ MSR1(4), "Interrupt Group 4" },
541 			{ MSR1(5), "Interrupt Group 5" },
542 			{ MSR1(6), "Interrupt Group 6" },
543 			{ MSR1(7), "Interrupt Group 7" },
544 			{ MSR1(8), "Interrupt Group 8" },
545 			{ MSR1(9), "Interrupt Group 9" },
546 			{ MSR1(10), "Interrupt Group 10" },
547 			{ MSR1(11), "Interrupt Group 11" },
548 			{ MSR1(12), "Interrupt Group 12" },
549 			{ MSR1(13), "Interrupt Group 13" },
550 			{ MSR1(14), "Interrupt Group 14" },
551 			{ MSR1(15), "Interrupt Group 15" },
552 			{ BITVAL_EOT }
553 		}},
554 		{ 23, 4, "MAP_Z5", "Map Unrestricted Z Input 5", PRESENT_BIN, {
555 			{ MSR1(0), "Disable" },
556 			{ MSR1(1), "Interrupt Group 1" },
557 			{ MSR1(2), "Interrupt Group 2" },
558 			{ MSR1(3), "Interrupt Group 3" },
559 			{ MSR1(4), "Interrupt Group 4" },
560 			{ MSR1(5), "Interrupt Group 5" },
561 			{ MSR1(6), "Interrupt Group 6" },
562 			{ MSR1(7), "Interrupt Group 7" },
563 			{ MSR1(8), "Interrupt Group 8" },
564 			{ MSR1(9), "Interrupt Group 9" },
565 			{ MSR1(10), "Interrupt Group 10" },
566 			{ MSR1(11), "Interrupt Group 11" },
567 			{ MSR1(12), "Interrupt Group 12" },
568 			{ MSR1(13), "Interrupt Group 13" },
569 			{ MSR1(14), "Interrupt Group 14" },
570 			{ MSR1(15), "Interrupt Group 15" },
571 			{ BITVAL_EOT }
572 		}},
573 		{ 19, 4, "MAP_Z4", "Map Unrestricted Z Input 4", PRESENT_BIN, {
574 			{ MSR1(0), "Disable" },
575 			{ MSR1(1), "Interrupt Group 1" },
576 			{ MSR1(2), "Interrupt Group 2" },
577 			{ MSR1(3), "Interrupt Group 3" },
578 			{ MSR1(4), "Interrupt Group 4" },
579 			{ MSR1(5), "Interrupt Group 5" },
580 			{ MSR1(6), "Interrupt Group 6" },
581 			{ MSR1(7), "Interrupt Group 7" },
582 			{ MSR1(8), "Interrupt Group 8" },
583 			{ MSR1(9), "Interrupt Group 9" },
584 			{ MSR1(10), "Interrupt Group 10" },
585 			{ MSR1(11), "Interrupt Group 11" },
586 			{ MSR1(12), "Interrupt Group 12" },
587 			{ MSR1(13), "Interrupt Group 13" },
588 			{ MSR1(14), "Interrupt Group 14" },
589 			{ MSR1(15), "Interrupt Group 15" },
590 			{ BITVAL_EOT }
591 		}},
592 		{ 15, 4, "MAP_Z3", "Map Unrestricted Z Input 3", PRESENT_BIN, {
593 			{ MSR1(0), "Disable" },
594 			{ MSR1(1), "Interrupt Group 1" },
595 			{ MSR1(2), "Interrupt Group 2" },
596 			{ MSR1(3), "Interrupt Group 3" },
597 			{ MSR1(4), "Interrupt Group 4" },
598 			{ MSR1(5), "Interrupt Group 5" },
599 			{ MSR1(6), "Interrupt Group 6" },
600 			{ MSR1(7), "Interrupt Group 7" },
601 			{ MSR1(8), "Interrupt Group 8" },
602 			{ MSR1(9), "Interrupt Group 9" },
603 			{ MSR1(10), "Interrupt Group 10" },
604 			{ MSR1(11), "Interrupt Group 11" },
605 			{ MSR1(12), "Interrupt Group 12" },
606 			{ MSR1(13), "Interrupt Group 13" },
607 			{ MSR1(14), "Interrupt Group 14" },
608 			{ MSR1(15), "Interrupt Group 15" },
609 			{ BITVAL_EOT }
610 		}},
611 		{ 11, 4, "MAP_Z2", "Map Unrestricted Z Input 2", PRESENT_BIN, {
612 			{ MSR1(0), "Disable" },
613 			{ MSR1(1), "Interrupt Group 1" },
614 			{ MSR1(2), "Interrupt Group 2" },
615 			{ MSR1(3), "Interrupt Group 3" },
616 			{ MSR1(4), "Interrupt Group 4" },
617 			{ MSR1(5), "Interrupt Group 5" },
618 			{ MSR1(6), "Interrupt Group 6" },
619 			{ MSR1(7), "Interrupt Group 7" },
620 			{ MSR1(8), "Interrupt Group 8" },
621 			{ MSR1(9), "Interrupt Group 9" },
622 			{ MSR1(10), "Interrupt Group 10" },
623 			{ MSR1(11), "Interrupt Group 11" },
624 			{ MSR1(12), "Interrupt Group 12" },
625 			{ MSR1(13), "Interrupt Group 13" },
626 			{ MSR1(14), "Interrupt Group 14" },
627 			{ MSR1(15), "Interrupt Group 15" },
628 			{ BITVAL_EOT }
629 		}},
630 		{ 7, 4, "MAP_Z1", "Map Unrestricted Z Input 1", PRESENT_BIN, {
631 			{ MSR1(0), "Disable" },
632 			{ MSR1(1), "Interrupt Group 1" },
633 			{ MSR1(2), "Interrupt Group 2" },
634 			{ MSR1(3), "Interrupt Group 3" },
635 			{ MSR1(4), "Interrupt Group 4" },
636 			{ MSR1(5), "Interrupt Group 5" },
637 			{ MSR1(6), "Interrupt Group 6" },
638 			{ MSR1(7), "Interrupt Group 7" },
639 			{ MSR1(8), "Interrupt Group 8" },
640 			{ MSR1(9), "Interrupt Group 9" },
641 			{ MSR1(10), "Interrupt Group 10" },
642 			{ MSR1(11), "Interrupt Group 11" },
643 			{ MSR1(12), "Interrupt Group 12" },
644 			{ MSR1(13), "Interrupt Group 13" },
645 			{ MSR1(14), "Interrupt Group 14" },
646 			{ MSR1(15), "Interrupt Group 15" },
647 			{ BITVAL_EOT }
648 		}},
649 		{ 3, 4, "MAP_Z0", "Map Unrestricted Z Input 0", PRESENT_BIN, {
650 			{ MSR1(0), "Disable" },
651 			{ MSR1(1), "Interrupt Group 1" },
652 			{ MSR1(2), "Interrupt Group 2" },
653 			{ MSR1(3), "Interrupt Group 3" },
654 			{ MSR1(4), "Interrupt Group 4" },
655 			{ MSR1(5), "Interrupt Group 5" },
656 			{ MSR1(6), "Interrupt Group 6" },
657 			{ MSR1(7), "Interrupt Group 7" },
658 			{ MSR1(8), "Interrupt Group 8" },
659 			{ MSR1(9), "Interrupt Group 9" },
660 			{ MSR1(10), "Interrupt Group 10" },
661 			{ MSR1(11), "Interrupt Group 11" },
662 			{ MSR1(12), "Interrupt Group 12" },
663 			{ MSR1(13), "Interrupt Group 13" },
664 			{ MSR1(14), "Interrupt Group 14" },
665 			{ MSR1(15), "Interrupt Group 15" },
666 			{ BITVAL_EOT }
667 		}},
668 		{ BITS_EOT }
669 	}},
670 	{ 0x51400023, MSRTYPE_RDWR, MSR2(0, 0), "PIC_ZSEL_HIGH", "IRQ Mapper Unrestricted Z Select High", {
671 		{ 63, 32, RESERVED },
672 		{ 31, 4, "MAP_Z15", "Map Unrestricted Z Input 15", PRESENT_BIN, {
673 			{ MSR1(0), "Disable" },
674 			{ MSR1(1), "Interrupt Group 1" },
675 			{ MSR1(2), "Interrupt Group 2" },
676 			{ MSR1(3), "Interrupt Group 3" },
677 			{ MSR1(4), "Interrupt Group 4" },
678 			{ MSR1(5), "Interrupt Group 5" },
679 			{ MSR1(6), "Interrupt Group 6" },
680 			{ MSR1(7), "Interrupt Group 7" },
681 			{ MSR1(8), "Interrupt Group 8" },
682 			{ MSR1(9), "Interrupt Group 9" },
683 			{ MSR1(10), "Interrupt Group 10" },
684 			{ MSR1(11), "Interrupt Group 11" },
685 			{ MSR1(12), "Interrupt Group 12" },
686 			{ MSR1(13), "Interrupt Group 13" },
687 			{ MSR1(14), "Interrupt Group 14" },
688 			{ MSR1(15), "Interrupt Group 15" },
689 			{ BITVAL_EOT }
690 		}},
691 		{ 27, 4, "MAP_Z14", "Map Unrestricted Z Input 14", PRESENT_BIN, {
692 			{ MSR1(0), "Disable" },
693 			{ MSR1(1), "Interrupt Group 1" },
694 			{ MSR1(2), "Interrupt Group 2" },
695 			{ MSR1(3), "Interrupt Group 3" },
696 			{ MSR1(4), "Interrupt Group 4" },
697 			{ MSR1(5), "Interrupt Group 5" },
698 			{ MSR1(6), "Interrupt Group 6" },
699 			{ MSR1(7), "Interrupt Group 7" },
700 			{ MSR1(8), "Interrupt Group 8" },
701 			{ MSR1(9), "Interrupt Group 9" },
702 			{ MSR1(10), "Interrupt Group 10" },
703 			{ MSR1(11), "Interrupt Group 11" },
704 			{ MSR1(12), "Interrupt Group 12" },
705 			{ MSR1(13), "Interrupt Group 13" },
706 			{ MSR1(14), "Interrupt Group 14" },
707 			{ MSR1(15), "Interrupt Group 15" },
708 			{ BITVAL_EOT }
709 		}},
710 		{ 23, 4, "MAP_Z13", "Map Unrestricted Z Input 13", PRESENT_BIN, {
711 			{ MSR1(0), "Disable" },
712 			{ MSR1(1), "Interrupt Group 1" },
713 			{ MSR1(2), "Interrupt Group 2" },
714 			{ MSR1(3), "Interrupt Group 3" },
715 			{ MSR1(4), "Interrupt Group 4" },
716 			{ MSR1(5), "Interrupt Group 5" },
717 			{ MSR1(6), "Interrupt Group 6" },
718 			{ MSR1(7), "Interrupt Group 7" },
719 			{ MSR1(8), "Interrupt Group 8" },
720 			{ MSR1(9), "Interrupt Group 9" },
721 			{ MSR1(10), "Interrupt Group 10" },
722 			{ MSR1(11), "Interrupt Group 11" },
723 			{ MSR1(12), "Interrupt Group 12" },
724 			{ MSR1(13), "Interrupt Group 13" },
725 			{ MSR1(14), "Interrupt Group 14" },
726 			{ MSR1(15), "Interrupt Group 15" },
727 			{ BITVAL_EOT }
728 		}},
729 		{ 19, 4, "MAP_Z12", "Map Unrestricted Z Input 12", PRESENT_BIN, {
730 			{ MSR1(0), "Disable" },
731 			{ MSR1(1), "Interrupt Group 1" },
732 			{ MSR1(2), "Interrupt Group 2" },
733 			{ MSR1(3), "Interrupt Group 3" },
734 			{ MSR1(4), "Interrupt Group 4" },
735 			{ MSR1(5), "Interrupt Group 5" },
736 			{ MSR1(6), "Interrupt Group 6" },
737 			{ MSR1(7), "Interrupt Group 7" },
738 			{ MSR1(8), "Interrupt Group 8" },
739 			{ MSR1(9), "Interrupt Group 9" },
740 			{ MSR1(10), "Interrupt Group 10" },
741 			{ MSR1(11), "Interrupt Group 11" },
742 			{ MSR1(12), "Interrupt Group 12" },
743 			{ MSR1(13), "Interrupt Group 13" },
744 			{ MSR1(14), "Interrupt Group 14" },
745 			{ MSR1(15), "Interrupt Group 15" },
746 			{ BITVAL_EOT }
747 		}},
748 		{ 15, 4, "MAP_Z11", "Map Unrestricted Z Input 11", PRESENT_BIN, {
749 			{ MSR1(0), "Disable" },
750 			{ MSR1(1), "Interrupt Group 1" },
751 			{ MSR1(2), "Interrupt Group 2" },
752 			{ MSR1(3), "Interrupt Group 3" },
753 			{ MSR1(4), "Interrupt Group 4" },
754 			{ MSR1(5), "Interrupt Group 5" },
755 			{ MSR1(6), "Interrupt Group 6" },
756 			{ MSR1(7), "Interrupt Group 7" },
757 			{ MSR1(8), "Interrupt Group 8" },
758 			{ MSR1(9), "Interrupt Group 9" },
759 			{ MSR1(10), "Interrupt Group 10" },
760 			{ MSR1(11), "Interrupt Group 11" },
761 			{ MSR1(12), "Interrupt Group 12" },
762 			{ MSR1(13), "Interrupt Group 13" },
763 			{ MSR1(14), "Interrupt Group 14" },
764 			{ MSR1(15), "Interrupt Group 15" },
765 			{ BITVAL_EOT }
766 		}},
767 		{ 11, 4, "MAP_Z10", "Map Unrestricted Z Input 10", PRESENT_BIN, {
768 			{ MSR1(0), "Disable" },
769 			{ MSR1(1), "Interrupt Group 1" },
770 			{ MSR1(2), "Interrupt Group 2" },
771 			{ MSR1(3), "Interrupt Group 3" },
772 			{ MSR1(4), "Interrupt Group 4" },
773 			{ MSR1(5), "Interrupt Group 5" },
774 			{ MSR1(6), "Interrupt Group 6" },
775 			{ MSR1(7), "Interrupt Group 7" },
776 			{ MSR1(8), "Interrupt Group 8" },
777 			{ MSR1(9), "Interrupt Group 9" },
778 			{ MSR1(10), "Interrupt Group 10" },
779 			{ MSR1(11), "Interrupt Group 11" },
780 			{ MSR1(12), "Interrupt Group 12" },
781 			{ MSR1(13), "Interrupt Group 13" },
782 			{ MSR1(14), "Interrupt Group 14" },
783 			{ MSR1(15), "Interrupt Group 15" },
784 			{ BITVAL_EOT }
785 		}},
786 		{ 7, 4, "MAP_Z9", "Map Unrestricted Z Input 9", PRESENT_BIN, {
787 			{ MSR1(0), "Disable" },
788 			{ MSR1(1), "Interrupt Group 1" },
789 			{ MSR1(2), "Interrupt Group 2" },
790 			{ MSR1(3), "Interrupt Group 3" },
791 			{ MSR1(4), "Interrupt Group 4" },
792 			{ MSR1(5), "Interrupt Group 5" },
793 			{ MSR1(6), "Interrupt Group 6" },
794 			{ MSR1(7), "Interrupt Group 7" },
795 			{ MSR1(8), "Interrupt Group 8" },
796 			{ MSR1(9), "Interrupt Group 9" },
797 			{ MSR1(10), "Interrupt Group 10" },
798 			{ MSR1(11), "Interrupt Group 11" },
799 			{ MSR1(12), "Interrupt Group 12" },
800 			{ MSR1(13), "Interrupt Group 13" },
801 			{ MSR1(14), "Interrupt Group 14" },
802 			{ MSR1(15), "Interrupt Group 15" },
803 			{ BITVAL_EOT }
804 		}},
805 		{ 3, 4, "MAP_Z8", "Map Unrestricted Z Input 8", PRESENT_BIN, {
806 			{ MSR1(0), "Disable" },
807 			{ MSR1(1), "Interrupt Group 1" },
808 			{ MSR1(2), "Interrupt Group 2" },
809 			{ MSR1(3), "Interrupt Group 3" },
810 			{ MSR1(4), "Interrupt Group 4" },
811 			{ MSR1(5), "Interrupt Group 5" },
812 			{ MSR1(6), "Interrupt Group 6" },
813 			{ MSR1(7), "Interrupt Group 7" },
814 			{ MSR1(8), "Interrupt Group 8" },
815 			{ MSR1(9), "Interrupt Group 9" },
816 			{ MSR1(10), "Interrupt Group 10" },
817 			{ MSR1(11), "Interrupt Group 11" },
818 			{ MSR1(12), "Interrupt Group 12" },
819 			{ MSR1(13), "Interrupt Group 13" },
820 			{ MSR1(14), "Interrupt Group 14" },
821 			{ MSR1(15), "Interrupt Group 15" },
822 			{ BITVAL_EOT }
823 		}},
824 		{ BITS_EOT }
825 	}},
826 	{ 0x51400024, MSRTYPE_RDWR, MSR2(0, 0xffff), "PIC_IRQM_PRIM", "IRQ Mapper Primary Mask", {
827 		{ 63, 48, RESERVED },
828 		{ 15, 1, "PRIM15_MSK", "Primary Input 15 Mask", PRESENT_DEC, {
829 			{ MSR1(0), "Mask the interrupt source" },
830 			{ MSR1(1), "Do not mask the interrupt source" },
831 			{ BITVAL_EOT }
832 		}},
833 		{ 14, 1, "PRIM14_MSK", "Primary Input 14 Mask", PRESENT_DEC, {
834 			{ MSR1(0), "Mask the interrupt source" },
835 			{ MSR1(1), "Do not mask the interrupt source" },
836 			{ BITVAL_EOT }
837 		}},
838 		{ 13, 1, "PRIM13_MSK", "Primary Input 13 Mask", PRESENT_DEC, {
839 			{ MSR1(0), "Mask the interrupt source" },
840 			{ MSR1(1), "Do not mask the interrupt source" },
841 			{ BITVAL_EOT }
842 		}},
843 		{ 12, 1, "PRIM12_MSK", "Primary Input 12 Mask", PRESENT_DEC, {
844 			{ MSR1(0), "Mask the interrupt source" },
845 			{ MSR1(1), "Do not mask the interrupt source" },
846 			{ BITVAL_EOT }
847 		}},
848 		{ 11, 1, "PRIM11_MSK", "Primary Input 11 Mask", PRESENT_DEC, {
849 			{ MSR1(0), "Mask the interrupt source" },
850 			{ MSR1(1), "Do not mask the interrupt source" },
851 			{ BITVAL_EOT }
852 		}},
853 		{ 10, 1, "PRIM10_MSK", "Primary Input 10 Mask", PRESENT_DEC, {
854 			{ MSR1(0), "Mask the interrupt source" },
855 			{ MSR1(1), "Do not mask the interrupt source" },
856 			{ BITVAL_EOT }
857 		}},
858 		{ 9, 1, "PRIM9_MSK", "Primary Input 9 Mask", PRESENT_DEC, {
859 			{ MSR1(0), "Mask the interrupt source" },
860 			{ MSR1(1), "Do not mask the interrupt source" },
861 			{ BITVAL_EOT }
862 		}},
863 		{ 8, 1, "PRIM8_MSK", "Primary Input 8 Mask", PRESENT_DEC, {
864 			{ MSR1(0), "Mask the interrupt source" },
865 			{ MSR1(1), "Do not mask the interrupt source" },
866 			{ BITVAL_EOT }
867 		}},
868 		{ 7, 1, "PRIM7_MSK", "Primary Input 7 Mask", PRESENT_DEC, {
869 			{ MSR1(0), "Mask the interrupt source" },
870 			{ MSR1(1), "Do not mask the interrupt source" },
871 			{ BITVAL_EOT }
872 		}},
873 		{ 6, 1, "PRIM6_MSK", "Primary Input 6 Mask", PRESENT_DEC, {
874 			{ MSR1(0), "Mask the interrupt source" },
875 			{ MSR1(1), "Do not mask the interrupt source" },
876 			{ BITVAL_EOT }
877 		}},
878 		{ 5, 1, "PRIM5_MSK", "Primary Input 5 Mask", PRESENT_DEC, {
879 			{ MSR1(0), "Mask the interrupt source" },
880 			{ MSR1(1), "Do not mask the interrupt source" },
881 			{ BITVAL_EOT }
882 		}},
883 		{ 4, 1, "PRIM4_MSK", "Primary Input 4 Mask", PRESENT_DEC, {
884 			{ MSR1(0), "Mask the interrupt source" },
885 			{ MSR1(1), "Do not mask the interrupt source" },
886 			{ BITVAL_EOT }
887 		}},
888 		{ 3, 1, "PRIM3_MSK", "Primary Input 3 Mask", PRESENT_DEC, {
889 			{ MSR1(0), "Mask the interrupt source" },
890 			{ MSR1(1), "Do not mask the interrupt source" },
891 			{ BITVAL_EOT }
892 		}},
893 		{ 2, 1, RESERVED },
894 		{ 1, 1, "PRIM1_MSK", "Primary Input 1 Mask", PRESENT_DEC, {
895 			{ MSR1(0), "Mask the interrupt source" },
896 			{ MSR1(1), "Do not mask the interrupt source" },
897 			{ BITVAL_EOT }
898 		}},
899 		{ 0, 1, "PRIM0_MSK", "Primary Input 0 Mask", PRESENT_DEC, {
900 			{ MSR1(0), "Mask the interrupt source" },
901 			{ MSR1(1), "Do not mask the interrupt source" },
902 			{ BITVAL_EOT }
903 		}},
904 		{ BITS_EOT }
905 	}},
906 	{ 0x51400025, MSRTYPE_RDWR, MSR2(0, 0), "PIC_IRQM_LPC", "IRQ Mapper LPC Mask", {
907 		{ 63, 48, RESERVED },
908 		{ 15, 1, "LPC15_EN", "LPC Input 15 Enable", PRESENT_DEC, {
909 			{ MSR1(0), "Disable interrupt source" },
910 			{ MSR1(1), "Enable interrupt source" },
911 			{ BITVAL_EOT }
912 		}},
913 		{ 14, 1, "LPC14_EN", "LPC Input 14 Enable", PRESENT_DEC, {
914 			{ MSR1(0), "Disable interrupt source" },
915 			{ MSR1(1), "Enable interrupt source" },
916 			{ BITVAL_EOT }
917 		}},
918 		{ 13, 1, "LPC13_EN", "LPC Input 13 Enable", PRESENT_DEC, {
919 			{ MSR1(0), "Disable interrupt source" },
920 			{ MSR1(1), "Enable interrupt source" },
921 			{ BITVAL_EOT }
922 		}},
923 		{ 12, 1, "LPC12_EN", "LPC Input 12 Enable", PRESENT_DEC, {
924 			{ MSR1(0), "Disable interrupt source" },
925 			{ MSR1(1), "Enable interrupt source" },
926 			{ BITVAL_EOT }
927 		}},
928 		{ 11, 1, "LPC11_EN", "LPC Input 11 Enable", PRESENT_DEC, {
929 			{ MSR1(0), "Disable interrupt source" },
930 			{ MSR1(1), "Enable interrupt source" },
931 			{ BITVAL_EOT }
932 		}},
933 		{ 10, 1, "LPC10_EN", "LPC Input 10 Enable", PRESENT_DEC, {
934 			{ MSR1(0), "Disable interrupt source" },
935 			{ MSR1(1), "Enable interrupt source" },
936 			{ BITVAL_EOT }
937 		}},
938 		{ 9, 1, "LPC9_EN", "LPC Input 9 Enable", PRESENT_DEC, {
939 			{ MSR1(0), "Disable interrupt source" },
940 			{ MSR1(1), "Enable interrupt source" },
941 			{ BITVAL_EOT }
942 		}},
943 		{ 8, 1, "LPC8_EN", "LPC Input 8 Enable", PRESENT_DEC, {
944 			{ MSR1(0), "Disable interrupt source" },
945 			{ MSR1(1), "Enable interrupt source" },
946 			{ BITVAL_EOT }
947 		}},
948 		{ 7, 1, "LPC7_EN", "LPC Input 7 Enable", PRESENT_DEC, {
949 			{ MSR1(0), "Disable interrupt source" },
950 			{ MSR1(1), "Enable interrupt source" },
951 			{ BITVAL_EOT }
952 		}},
953 		{ 6, 1, "LPC6_EN", "LPC Input 6 Enable", PRESENT_DEC, {
954 			{ MSR1(0), "Disable interrupt source" },
955 			{ MSR1(1), "Enable interrupt source" },
956 			{ BITVAL_EOT }
957 		}},
958 		{ 5, 1, "LPC5_EN", "LPC Input 5 Enable", PRESENT_DEC, {
959 			{ MSR1(0), "Disable interrupt source" },
960 			{ MSR1(1), "Enable interrupt source" },
961 			{ BITVAL_EOT }
962 		}},
963 		{ 4, 1, "LPC4_EN", "LPC Input 4 Enable", PRESENT_DEC, {
964 			{ MSR1(0), "Disable interrupt source" },
965 			{ MSR1(1), "Enable interrupt source" },
966 			{ BITVAL_EOT }
967 		}},
968 		{ 3, 1, "LPC3_EN", "LPC Input 3 Enable", PRESENT_DEC, {
969 			{ MSR1(0), "Disable interrupt source" },
970 			{ MSR1(1), "Enable interrupt source" },
971 			{ BITVAL_EOT }
972 		}},
973 		{ 2, 1, RESERVED },
974 		{ 1, 1, "LPC1_EN", "LPC Input 1 Enable", PRESENT_DEC, {
975 			{ MSR1(0), "Disable interrupt source" },
976 			{ MSR1(1), "Enable interrupt source" },
977 			{ BITVAL_EOT }
978 		}},
979 		{ 0, 1, "LPC0_EN", "LPC Input 0 Enable", PRESENT_DEC, {
980 			{ MSR1(0), "Disable interrupt source" },
981 			{ MSR1(1), "Enable interrupt source" },
982 			{ BITVAL_EOT }
983 		}},
984 		{ BITS_EOT }
985 	}},
986 	{ 0x51400026, MSRTYPE_RDONLY, MSR2(0, 0), "PIC_XIRR_STS_LOW", "IRQ Mapper Extended Interrupt Request Status Low", {
987 		{ 63, 32, RESERVED },
988 		{ 31, 1, "IG7_STS_Z", "Unrestricted Source Z Input 7", PRESENT_BIN, {
989 			{ MSR1(0), "No interrupt" },
990 			{ MSR1(1), "INTERRUPT" },
991 			{ BITVAL_EOT }
992 		}},
993 		{ 30, 1, "IG7_STS_Y", "Unrestricted Source Y Input 7", PRESENT_BIN, {
994 			{ MSR1(0), "No interrupt" },
995 			{ MSR1(1), "INTERRUPT" },
996 			{ BITVAL_EOT }
997 		}},
998 		{ 29, 1, "IG7_STS_LPC", "LPC Input 7", PRESENT_BIN, {
999 			{ MSR1(0), "No interrupt" },
1000 			{ MSR1(1), "INTERRUPT" },
1001 			{ BITVAL_EOT }
1002 		}},
1003 		{ 28, 1, "IG7_STS_PRIM", "Primary Input 7", PRESENT_BIN, {
1004 			{ MSR1(0), "No interrupt" },
1005 			{ MSR1(1), "INTERRUPT" },
1006 			{ BITVAL_EOT }
1007 		}},
1008 		{ 27, 1, "IG6_STS_Z", "Unrestricted Source Z Input 6", PRESENT_BIN, {
1009 			{ MSR1(0), "No interrupt" },
1010 			{ MSR1(1), "INTERRUPT" },
1011 			{ BITVAL_EOT }
1012 		}},
1013 		{ 26, 1, "IG6_STS_Y", "Unrestricted Source Y Input 6", PRESENT_BIN, {
1014 			{ MSR1(0), "No interrupt" },
1015 			{ MSR1(1), "INTERRUPT" },
1016 			{ BITVAL_EOT }
1017 		}},
1018 		{ 25, 1, "IG6_STS_LPC", "LPC Input 6", PRESENT_BIN, {
1019 			{ MSR1(0), "No interrupt" },
1020 			{ MSR1(1), "INTERRUPT" },
1021 			{ BITVAL_EOT }
1022 		}},
1023 		{ 24, 1, "IG6_STS_PRIM", "Primary Input 6", PRESENT_BIN, {
1024 			{ MSR1(0), "No interrupt" },
1025 			{ MSR1(1), "INTERRUPT" },
1026 			{ BITVAL_EOT }
1027 		}},
1028 		{ 23, 1, "IG5_STS_Z", "Unrestricted Source Z Input 5", PRESENT_BIN, {
1029 			{ MSR1(0), "No interrupt" },
1030 			{ MSR1(1), "INTERRUPT" },
1031 			{ BITVAL_EOT }
1032 		}},
1033 		{ 22, 1, "IG5_STS_Y", "Unrestricted Source Y Input 5", PRESENT_BIN, {
1034 			{ MSR1(0), "No interrupt" },
1035 			{ MSR1(1), "INTERRUPT" },
1036 			{ BITVAL_EOT }
1037 		}},
1038 		{ 21, 1, "IG5_STS_LPC", "LPC Input 5", PRESENT_BIN, {
1039 			{ MSR1(0), "No interrupt" },
1040 			{ MSR1(1), "INTERRUPT" },
1041 			{ BITVAL_EOT }
1042 		}},
1043 		{ 20, 1, "IG5_STS_PRIM", "Primary Input 5", PRESENT_BIN, {
1044 			{ MSR1(0), "No interrupt" },
1045 			{ MSR1(1), "INTERRUPT" },
1046 			{ BITVAL_EOT }
1047 		}},
1048 		{ 19, 1, "IG4_STS_Z", "Unrestricted Source Z Input 4", PRESENT_BIN, {
1049 			{ MSR1(0), "No interrupt" },
1050 			{ MSR1(1), "INTERRUPT" },
1051 			{ BITVAL_EOT }
1052 		}},
1053 		{ 18, 1, "IG4_STS_Y", "Unrestricted Source Y Input 4", PRESENT_BIN, {
1054 			{ MSR1(0), "No interrupt" },
1055 			{ MSR1(1), "INTERRUPT" },
1056 			{ BITVAL_EOT }
1057 		}},
1058 		{ 17, 1, "IG4_STS_LPC", "LPC Input 4", PRESENT_BIN, {
1059 			{ MSR1(0), "No interrupt" },
1060 			{ MSR1(1), "INTERRUPT" },
1061 			{ BITVAL_EOT }
1062 		}},
1063 		{ 16, 1, "IG4_STS_PRIM", "Primary Input 4", PRESENT_BIN, {
1064 			{ MSR1(0), "No interrupt" },
1065 			{ MSR1(1), "INTERRUPT" },
1066 			{ BITVAL_EOT }
1067 		}},
1068 		{ 15, 1, "IG3_STS_Z", "Unrestricted Source Z Input 3", PRESENT_BIN, {
1069 			{ MSR1(0), "No interrupt" },
1070 			{ MSR1(1), "INTERRUPT" },
1071 			{ BITVAL_EOT }
1072 		}},
1073 		{ 14, 1, "IG3_STS_Y", "Unrestricted Source Y Input 3", PRESENT_BIN, {
1074 			{ MSR1(0), "No interrupt" },
1075 			{ MSR1(1), "INTERRUPT" },
1076 			{ BITVAL_EOT }
1077 		}},
1078 		{ 13, 1, "IG3_STS_LPC", "LPC Input 3", PRESENT_BIN, {
1079 			{ MSR1(0), "No interrupt" },
1080 			{ MSR1(1), "INTERRUPT" },
1081 			{ BITVAL_EOT }
1082 		}},
1083 		{ 12, 1, "IG3_STS_PRIM", "Primary Input 3", PRESENT_BIN, {
1084 			{ MSR1(0), "No interrupt" },
1085 			{ MSR1(1), "INTERRUPT" },
1086 			{ BITVAL_EOT }
1087 		}},
1088 		{ 11, 1, "IG2_STS_Z", "Unrestricted Source Z Input 2", PRESENT_BIN, {
1089 			{ MSR1(0), "No interrupt" },
1090 			{ MSR1(1), "INTERRUPT" },
1091 			{ BITVAL_EOT }
1092 		}},
1093 		{ 10, 1, "IG2_STS_Y", "Unrestricted Source Y Input 2", PRESENT_BIN, {
1094 			{ MSR1(0), "No interrupt" },
1095 			{ MSR1(1), "INTERRUPT" },
1096 			{ BITVAL_EOT }
1097 		}},
1098 		{ 9, 2, RESERVED },
1099 		{ 7, 1, "IG1_STS_Z", "Unrestricted Source Z Input 1", PRESENT_BIN, {
1100 			{ MSR1(0), "No interrupt" },
1101 			{ MSR1(1), "INTERRUPT" },
1102 			{ BITVAL_EOT }
1103 		}},
1104 		{ 6, 1, "IG1_STS_Y", "Unrestricted Source Y Input 1", PRESENT_BIN, {
1105 			{ MSR1(0), "No interrupt" },
1106 			{ MSR1(1), "INTERRUPT" },
1107 			{ BITVAL_EOT }
1108 		}},
1109 		{ 5, 1, "IG1_STS_LPC", "LPC Input 1", PRESENT_BIN, {
1110 			{ MSR1(0), "No interrupt" },
1111 			{ MSR1(1), "INTERRUPT" },
1112 			{ BITVAL_EOT }
1113 		}},
1114 		{ 4, 1, "IG1_STS_PRIM", "Primary Input 1", PRESENT_BIN, {
1115 			{ MSR1(0), "No interrupt" },
1116 			{ MSR1(1), "INTERRUPT" },
1117 			{ BITVAL_EOT }
1118 		}},
1119 		{ 3, 2, RESERVED },
1120 		{ 1, 1, "IG0_STS_LPC", "LPC Input 0", PRESENT_BIN, {
1121 			{ MSR1(0), "No interrupt" },
1122 			{ MSR1(1), "INTERRUPT" },
1123 			{ BITVAL_EOT }
1124 		}},
1125 		{ 0, 1, "IG0_STS_PRIM", "Primary Input 0", PRESENT_BIN, {
1126 			{ MSR1(0), "No interrupt" },
1127 			{ MSR1(1), "INTERRUPT" },
1128 			{ BITVAL_EOT }
1129 		}},
1130 		{ BITS_EOT }
1131 	}},
1132 	{ 0x51400027, MSRTYPE_RDONLY, MSR2(0, 0), "PIC_XIRR_STS_HIGH", "IRQ Mapper Extended Interrupt Request Status High", {
1133 		{ 63, 32, RESERVED },
1134 		{ 31, 1, "IG15_STS_Z", "Unrestricted Source Z Input 15", PRESENT_BIN, {
1135 			{ MSR1(0), "No interrupt" },
1136 			{ MSR1(1), "INTERRUPT" },
1137 			{ BITVAL_EOT }
1138 		}},
1139 		{ 30, 1, "IG15_STS_Y", "Unrestricted Source Y Input 15", PRESENT_BIN, {
1140 			{ MSR1(0), "No interrupt" },
1141 			{ MSR1(1), "INTERRUPT" },
1142 			{ BITVAL_EOT }
1143 		}},
1144 		{ 29, 1, "IG15_STS_LPC", "LPC Input 15", PRESENT_BIN, {
1145 			{ MSR1(0), "No interrupt" },
1146 			{ MSR1(1), "INTERRUPT" },
1147 			{ BITVAL_EOT }
1148 		}},
1149 		{ 28, 1, "IG15_STS_PRIM", "Primary Input 15", PRESENT_BIN, {
1150 			{ MSR1(0), "No interrupt" },
1151 			{ MSR1(1), "INTERRUPT" },
1152 			{ BITVAL_EOT }
1153 		}},
1154 		{ 27, 1, "IG14_STS_Z", "Unrestricted Source Z Input 14", PRESENT_BIN, {
1155 			{ MSR1(0), "No interrupt" },
1156 			{ MSR1(1), "INTERRUPT" },
1157 			{ BITVAL_EOT }
1158 		}},
1159 		{ 26, 1, "IG14_STS_Y", "Unrestricted Source Y Input 14", PRESENT_BIN, {
1160 			{ MSR1(0), "No interrupt" },
1161 			{ MSR1(1), "INTERRUPT" },
1162 			{ BITVAL_EOT }
1163 		}},
1164 		{ 25, 1, "IG14_STS_LPC", "LPC Input 14", PRESENT_BIN, {
1165 			{ MSR1(0), "No interrupt" },
1166 			{ MSR1(1), "INTERRUPT" },
1167 			{ BITVAL_EOT }
1168 		}},
1169 		{ 24, 1, "IG14_STS_PRIM", "Primary Input 14", PRESENT_BIN, {
1170 			{ MSR1(0), "No interrupt" },
1171 			{ MSR1(1), "INTERRUPT" },
1172 			{ BITVAL_EOT }
1173 		}},
1174 		{ 23, 1, "IG13_STS_Z", "Unrestricted Source Z Input 13", PRESENT_BIN, {
1175 			{ MSR1(0), "No interrupt" },
1176 			{ MSR1(1), "INTERRUPT" },
1177 			{ BITVAL_EOT }
1178 		}},
1179 		{ 22, 1, "IG13_STS_Y", "Unrestricted Source Y Input 13", PRESENT_BIN, {
1180 			{ MSR1(0), "No interrupt" },
1181 			{ MSR1(1), "INTERRUPT" },
1182 			{ BITVAL_EOT }
1183 		}},
1184 		{ 21, 1, "IG13_STS_LPC", "LPC Input 13", PRESENT_BIN, {
1185 			{ MSR1(0), "No interrupt" },
1186 			{ MSR1(1), "INTERRUPT" },
1187 			{ BITVAL_EOT }
1188 		}},
1189 		{ 20, 1, "IG13_STS_PRIM", "Primary Input 13", PRESENT_BIN, {
1190 			{ MSR1(0), "No interrupt" },
1191 			{ MSR1(1), "INTERRUPT" },
1192 			{ BITVAL_EOT }
1193 		}},
1194 		{ 19, 1, "IG12_STS_Z", "Unrestricted Source Z Input 12", PRESENT_BIN, {
1195 			{ MSR1(0), "No interrupt" },
1196 			{ MSR1(1), "INTERRUPT" },
1197 			{ BITVAL_EOT }
1198 		}},
1199 		{ 18, 1, "IG12_STS_Y", "Unrestricted Source Y Input 12", PRESENT_BIN, {
1200 			{ MSR1(0), "No interrupt" },
1201 			{ MSR1(1), "INTERRUPT" },
1202 			{ BITVAL_EOT }
1203 		}},
1204 		{ 17, 1, "IG12_STS_LPC", "LPC Input 12", PRESENT_BIN, {
1205 			{ MSR1(0), "No interrupt" },
1206 			{ MSR1(1), "INTERRUPT" },
1207 			{ BITVAL_EOT }
1208 		}},
1209 		{ 16, 1, "IG12_STS_PRIM", "Primary Input 12", PRESENT_BIN, {
1210 			{ MSR1(0), "No interrupt" },
1211 			{ MSR1(1), "INTERRUPT" },
1212 			{ BITVAL_EOT }
1213 		}},
1214 		{ 15, 1, "IG11_STS_Z", "Unrestricted Source Z Input 11", PRESENT_BIN, {
1215 			{ MSR1(0), "No interrupt" },
1216 			{ MSR1(1), "INTERRUPT" },
1217 			{ BITVAL_EOT }
1218 		}},
1219 		{ 14, 1, "IG11_STS_Y", "Unrestricted Source Y Input 11", PRESENT_BIN, {
1220 			{ MSR1(0), "No interrupt" },
1221 			{ MSR1(1), "INTERRUPT" },
1222 			{ BITVAL_EOT }
1223 		}},
1224 		{ 13, 1, "IG11_STS_LPC", "LPC Input 11", PRESENT_BIN, {
1225 			{ MSR1(0), "No interrupt" },
1226 			{ MSR1(1), "INTERRUPT" },
1227 			{ BITVAL_EOT }
1228 		}},
1229 		{ 12, 1, "IG11_STS_PRIM", "Primary Input 11", PRESENT_BIN, {
1230 			{ MSR1(0), "No interrupt" },
1231 			{ MSR1(1), "INTERRUPT" },
1232 			{ BITVAL_EOT }
1233 		}},
1234 		{ 11, 1, "IG10_STS_Z", "Unrestricted Source Z Input 10", PRESENT_BIN, {
1235 			{ MSR1(0), "No interrupt" },
1236 			{ MSR1(1), "INTERRUPT" },
1237 			{ BITVAL_EOT }
1238 		}},
1239 		{ 10, 1, "IG10_STS_Y", "Unrestricted Source Y Input 10", PRESENT_BIN, {
1240 			{ MSR1(0), "No interrupt" },
1241 			{ MSR1(1), "INTERRUPT" },
1242 			{ BITVAL_EOT }
1243 		}},
1244 		{ 9, 1, "IG10_STS_LPC", "LPC Input 10", PRESENT_BIN, {
1245 			{ MSR1(0), "No interrupt" },
1246 			{ MSR1(1), "INTERRUPT" },
1247 			{ BITVAL_EOT }
1248 		}},
1249 		{ 8, 1, "IG10_STS_PRIM", "Primary Input 10", PRESENT_BIN, {
1250 			{ MSR1(0), "No interrupt" },
1251 			{ MSR1(1), "INTERRUPT" },
1252 			{ BITVAL_EOT }
1253 		}},
1254 		{ 7, 1, "IG9_STS_Z", "Unrestricted Source Z Input 9", PRESENT_BIN, {
1255 			{ MSR1(0), "No interrupt" },
1256 			{ MSR1(1), "INTERRUPT" },
1257 			{ BITVAL_EOT }
1258 		}},
1259 		{ 6, 1, "IG9_STS_Y", "Unrestricted Source Y Input 9", PRESENT_BIN, {
1260 			{ MSR1(0), "No interrupt" },
1261 			{ MSR1(1), "INTERRUPT" },
1262 			{ BITVAL_EOT }
1263 		}},
1264 		{ 5, 1, "IG9_STS_LPC", "LPC Input 9", PRESENT_BIN, {
1265 			{ MSR1(0), "No interrupt" },
1266 			{ MSR1(1), "INTERRUPT" },
1267 			{ BITVAL_EOT }
1268 		}},
1269 		{ 4, 1, "IG9_STS_PRIM", "Primary Input 9", PRESENT_BIN, {
1270 			{ MSR1(0), "No interrupt" },
1271 			{ MSR1(1), "INTERRUPT" },
1272 			{ BITVAL_EOT }
1273 		}},
1274 		{ 3, 1, "IG8_STS_Z", "Unrestricted Source Z Input 8", PRESENT_BIN, {
1275 			{ MSR1(0), "No interrupt" },
1276 			{ MSR1(1), "INTERRUPT" },
1277 			{ BITVAL_EOT }
1278 		}},
1279 		{ 2, 1, "IG8_STS_Y", "Unrestricted Source Y Input 8", PRESENT_BIN, {
1280 			{ MSR1(0), "No interrupt" },
1281 			{ MSR1(1), "INTERRUPT" },
1282 			{ BITVAL_EOT }
1283 		}},
1284 		{ 1, 1, "IG8_STS_LPC", "LPC Input 8", PRESENT_BIN, {
1285 			{ MSR1(0), "No interrupt" },
1286 			{ MSR1(1), "INTERRUPT" },
1287 			{ BITVAL_EOT }
1288 		}},
1289 		{ 0, 1, "IG8_STS_PRIM", "Primary Input 8", PRESENT_BIN, {
1290 			{ MSR1(0), "No interrupt" },
1291 			{ MSR1(1), "INTERRUPT" },
1292 			{ BITVAL_EOT }
1293 		}},
1294 		{ BITS_EOT }
1295 	}},
1296 	{ 0x5140004e, MSRTYPE_RDWR, MSR2(0, 0), "LPC_SERIRQ", "LPC Serial IRQ Control", {
1297 		{ 31, 16, "INVERT", "IRQ[x] input is active low", PRESENT_HEX },
1298 		{ 15, 8, RESERVED },
1299 		{ 7, 1, "SIRQ_EN", "Serial IRQ Enable", PRESENT_BIN, {
1300 			{ MSR1(0), "Disable" },
1301 			{ MSR1(1), "Enable" },
1302 			{ BITVAL_EOT }
1303 		}},
1304 		{ 6, 1, "SIRQ_MODE", "Serial IRQ Interface Mode", PRESENT_BIN, {
1305 			{ MSR1(0), "Continuous (Idle)" },
1306 			{ MSR1(1), "Quiet (Active)" },
1307 			{ BITVAL_EOT }
1308 		}},
1309 		{ 5, 4, "IRQ_FRAME", "IRQ Data Frames", PRESENT_BIN, {
1310 			{ MSR1(0), "17" },
1311 			{ MSR1(1), "18" },
1312 			{ MSR1(2), "19" },
1313 			{ MSR1(3), "20" },
1314 			{ MSR1(4), "21" },
1315 			{ MSR1(5), "22" },
1316 			{ MSR1(6), "23" },
1317 			{ MSR1(7), "24" },
1318 			{ MSR1(8), "25" },
1319 			{ MSR1(9), "26" },
1320 			{ MSR1(10), "27" },
1321 			{ MSR1(11), "28" },
1322 			{ MSR1(12), "29" },
1323 			{ MSR1(13), "30" },
1324 			{ MSR1(14), "31" },
1325 			{ MSR1(15), "32" },
1326 			{ BITVAL_EOT }
1327 		}},
1328 		{ 1, 2, "START_FPW", "Start Frame Pulse Width", PRESENT_BIN, {
1329 			{ MSR1(0), "4 clocks" },
1330 			{ MSR1(1), "6 clocks" },
1331 			{ MSR1(2), "8 clocks" },
1332 			{ MSR1(3), "Reserved" },
1333 			{ BITVAL_EOT }
1334 		}},
1335 		{ BITS_EOT }
1336 	}},
1337 	{ MSR_EOT }
1338 };
1339