TianoCore EDK2 master
Loading...
Searching...
No Matches
ConfigurationManagerObjectParser.c
Go to the documentation of this file.
1
11#include <Library/BaseLib.h>
12#include <Library/DebugLib.h>
15
17VOID
18EFIAPI
19PrintString (
20 CONST CHAR8 *Format,
21 UINT8 *Ptr,
22 UINT32 Length
23 );
24
26VOID
27EFIAPI
28PrintStringPtr (
29 CONST CHAR8 *Format,
30 UINT8 *Ptr,
31 UINT32 Length
32 );
33
35VOID
36EFIAPI
37PrintChars (
38 CONST CHAR8 *Format,
39 UINT8 *Ptr,
40 UINT32 Length
41 );
42
44VOID
45EFIAPI
46HexDump (
47 CONST CHAR8 *Format,
48 UINT8 *Ptr,
49 UINT32 Length
50 );
51
55 { "BootArchFlags", 2, "0x%x", NULL }
56};
57
61 { "PowerManagementProfile", 1, "0x%x", NULL }
62};
63
67 { "CPUInterfaceNumber", 4, "0x%x", NULL },
68 { "AcpiProcessorUid", 4, "0x%x", NULL },
69 { "Flags", 4, "0x%x", NULL },
70 { "ParkingProtocolVersion", 4, "0x%x", NULL },
71 { "PerformanceInterruptGsiv", 4, "0x%x", NULL },
72 { "ParkedAddress", 8, "0x%llx", NULL },
73 { "PhysicalBaseAddress", 8, "0x%llx", NULL },
74 { "GICV", 8, "0x%llx", NULL },
75 { "GICH", 8, "0x%llx", NULL },
76 { "VGICMaintenanceInterrupt", 4, "0x%x", NULL },
77 { "GICRBaseAddress", 8, "0x%llx", NULL },
78 { "MPIDR", 8, "0x%llx", NULL },
79 { "ProcessorPowerEfficiencyClass", 1, "0x%x", NULL },
80 { "SpeOverflowInterrupt", 2, "0x%x", NULL },
81 { "ProximityDomain", 4, "0x%x", NULL },
82 { "ClockDomain", 4, "0x%x", NULL },
83 { "AffinityFlags", 4, "0x%x", NULL },
84 { "CpcToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
85 { "TRBEInterrupt", 2, "0x%x", NULL },
86 { "EtToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
87 { "PsdToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
88};
89
93 { "PhysicalBaseAddress", 8, "0x%llx", NULL },
94 { "SystemVectorBase", 4, "0x%x", NULL },
95 { "GicVersion", 1, "0x%x", NULL },
96};
97
101 { "GicMsiFrameId", 4, "0x%x", NULL },
102 { "PhysicalBaseAddress", 8, "0x%llx", NULL },
103 { "Flags", 4, "0x%x", NULL },
104 { "SPICount", 2, "0x%x", NULL },
105 { "SPIBase", 2, "0x%x", NULL }
106};
107
111 { "DiscoveryRangeBaseAddress", 8, "0x%llx", NULL },
112 { "DiscoveryRangeLength", 4, "0x%x", NULL }
113};
114
118 { "GicItsId", 4, "0x%x", NULL },
119 { "PhysicalBaseAddress", 8, "0x%llx", NULL },
120 { "ProximityDomain", 4, "0x%x", NULL }
121};
122
127 { "BaseAddress", 8, "0x%llx", NULL },
128 { "Interrupt", 4, "0x%x", NULL },
129 { "BaudRate", 8, "0x%llx", NULL },
130 { "Clock", 4, "0x%x", NULL },
131 { "PortSubtype", 2, "0x%x", NULL },
132 { "BaseAddressLength", 8, "0x%llx", NULL },
133 { "AccessSize", 1, "0x%d", NULL }
134};
135
139 { "CounterControlBaseAddress", 8, "0x%llx", NULL },
140 { "CounterReadBaseAddress", 8, "0x%llx", NULL },
141 { "SecurePL1TimerGSIV", 4, "0x%x", NULL },
142 { "SecurePL1TimerFlags", 4, "0x%x", NULL },
143 { "NonSecurePL1TimerGSIV", 4, "0x%x", NULL },
144 { "NonSecurePL1TimerFlags", 4, "0x%x", NULL },
145 { "VirtualTimerGSIV", 4, "0x%x", NULL },
146 { "VirtualTimerFlags", 4, "0x%x", NULL },
147 { "NonSecurePL2TimerGSIV", 4, "0x%x", NULL },
148 { "NonSecurePL2TimerFlags", 4, "0x%x", NULL },
149 { "VirtualPL2TimerGSIV", 4, "0x%x", NULL },
150 { "VirtualPL2TimerFlags", 4, "0x%x", NULL }
151};
152
156 { "GTBlockPhysicalAddress", 8, "0x%llx", NULL },
157 { "GTBlockTimerFrameCount", 4, "0x%x", NULL },
158 { "GTBlockTimerFrameToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL }
159};
160
164 { "FrameNumber", 1, "0x%x", NULL },
165 { "PhysicalAddressCntBase", 8, "0x%llx", NULL },
166 { "PhysicalAddressCntEL0Base", 8, "0x%llx", NULL },
167 { "PhysicalTimerGSIV", 4, "0x%x", NULL },
168 { "PhysicalTimerFlags", 4, "0x%x", NULL },
169 { "VirtualTimerGSIV", 4, "0x%x", NULL },
170 { "VirtualTimerFlags", 4, "0x%x", NULL },
171 { "CommonFlags", 4, "0x%x", NULL }
172};
173
177 { "ControlFrameAddress", 8, "0x%llx", NULL },
178 { "RefreshFrameAddress", 8, "0x%llx", NULL },
179 { "TimerGSIV", 4, "0x%x", NULL },
180 { "Flags", 4, "0x%x", NULL }
181};
182
186 { "BaseAddress", 8, "0x%llx", NULL },
187 { "PciSegmentGroupNumber", 2, "0x%x", NULL },
188 { "StartBusNumber", 1, "0x%x", NULL },
189 { "EndBusNumber", 1, "0x%x", NULL },
190 { "AddressMapToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
191 { "InterruptMapToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
192};
193
197 { "HypervisorVendorId", 8, "0x%llx", NULL }
198};
199
203 { "Flags", 4, "0x%x", NULL }
204};
205
209 { "Token", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
210 { "ItsIdCount", 4, "0x%x", NULL },
211 { "ItsIdToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
212 { "Identifier", 4, "0x%x", NULL },
213};
214
218 { "Token", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
219 { "IdMappingCount", 4, "0x%x", NULL },
220 { "IdMappingToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
221 { "Flags", 4, "0x%x", NULL },
222 { "CacheCoherent", 4, "0x%x", NULL },
223 { "AllocationHints", 1, "0x%x", NULL },
224 { "MemoryAccessFlags", 1, "0x%x", NULL },
225 { "AddressSizeLimit", 1, "0x%x", NULL },
226 { "ObjectName", sizeof (CHAR8 *), NULL, PrintStringPtr },
227 { "Identifier", 4, "0x%x", NULL },
228};
229
233 { "Token", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
234 { "IdMappingCount", 4, "0x%x", NULL },
235 { "IdMappingToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
236 { "CacheCoherent", 4, "0x%x", NULL },
237 { "AllocationHints", 1, "0x%x", NULL },
238 { "MemoryAccessFlags", 1, "0x%x", NULL },
239 { "AtsAttribute", 4, "0x%x", NULL },
240 { "PciSegmentNumber", 4, "0x%x", NULL },
241 { "MemoryAddressSize", 1, "0x%x", NULL },
242 { "PasidCapabilities", 2, "0x%x", NULL },
243 { "Flags", 4, "0x%x", NULL },
244 { "Identifier", 4, "0x%x", NULL },
245};
246
250 { "Token", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
251 { "IdMappingCount", 4, "0x%x", NULL },
252 { "IdMappingToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
253 { "BaseAddress", 8, "0x%llx", NULL },
254 { "Span", 8, "0x%llx", NULL },
255 { "Model", 4, "0x%x", NULL },
256 { "Flags", 4, "0x%x", NULL },
257 { "ContextInterruptCount", 4, "0x%x", NULL },
258 { "ContextInterruptToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
259 { "PmuInterruptCount", 4, "0x%x", NULL },
260 { "PmuInterruptToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
261 { "SMMU_NSgIrpt", 4, "0x%x", NULL },
262 { "SMMU_NSgIrptFlags", 4, "0x%x", NULL },
263 { "SMMU_NSgCfgIrpt", 4, "0x%x", NULL },
264 { "SMMU_NSgCfgIrptFlags", 4, "0x%x", NULL },
265 { "Identifier", 4, "0x%x", NULL },
266};
267
271 { "Token", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
272 { "IdMappingCount", 4, "0x%x", NULL },
273 { "IdMappingToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
274 { "BaseAddress", 8, "0x%llx", NULL },
275 { "Flags", 4, "0x%x", NULL },
276 { "VatosAddress", 8, "0x%llx", NULL },
277 { "Model", 4, "0x%x", NULL },
278 { "EventInterrupt", 4, "0x%x", NULL },
279 { "PriInterrupt", 4, "0x%x", NULL },
280 { "GerrInterrupt", 4, "0x%x", NULL },
281 { "SyncInterrupt", 4, "0x%x", NULL },
282 { "ProximityDomain", 4, "0x%x", NULL },
283 { "DeviceIdMappingIndex", 4, "0x%x", NULL },
284 { "Identifier", 4, "0x%x", NULL },
285};
286
290 { "Token", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
291 { "IdMappingCount", 4, "0x%x", NULL },
292 { "IdMappingToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
293 { "BaseAddress", 8, "0x%llx", NULL },
294 { "OverflowInterrupt", 4, "0x%x", NULL },
295 { "Page1BaseAddress", 8, "0x%llx", NULL },
296 { "ReferenceToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
297 { "Identifier", 4, "0x%x", NULL },
298};
299
303 { "ItsId", 4, "0x%x", NULL }
304};
305
309 { "InputBase", 4, "0x%x", NULL },
310 { "NumIds", 4, "0x%x", NULL },
311 { "OutputBase", 4, "0x%x", NULL },
312 { "OutputReferenceToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
313 { "Flags", 4, "0x%x", NULL }
314};
315
319 { "Interrupt", 4, "0x%x", NULL },
320 { "Flags", 4, "0x%x", NULL }
321};
322
326 { "Token", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
327 { "Flags", 4, "0x%x", NULL },
328 { "ParentToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
329 { "AcpiIdObjectToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
330 { "NoOfPrivateResources", 4, "0x%x", NULL },
331 { "PrivateResourcesArrayToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
332 { "LpiToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
333 { "OverrideNameUidEnabled", 1, "%d", NULL },
334 { "OverrideName", 2, "0x%x", NULL },
335 { "OverrideUid", 4, "0x%x", NULL }
336};
337
341 { "Token", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
342 { "NextLevelOfCacheToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
343 { "Size", 4, "0x%x", NULL },
344 { "NumberOfSets", 4, "0x%x", NULL },
345 { "Associativity", 4, "0x%x", NULL },
346 { "Attributes", 1, "0x%x", NULL },
347 { "LineSize", 2, "0x%x", NULL },
348 { "CacheId", 4, "0x%x", NULL },
349};
350
354 { "ReferenceToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL }
355};
356
360 { "ProximityDomain", 4, "0x%x", NULL },
361 { "BaseAddress", 8, "0x%llx", NULL },
362 { "Length", 8, "0x%llx", NULL },
363 { "Flags", 4, "0x%x", NULL }
364};
365
369 { "Hid", 8, "0x%llx", NULL },
370 { "Uid", 4, "0x%x", NULL }
371};
372
376 { "SegmentNumber", 2, "0x%x", NULL },
377 { "BusNumber", 1, "0x%x", NULL },
378 { "DeviceNumber", 1, "0x%x", NULL },
379 { "FunctionNumber", 1, "0x%x", NULL }
380};
381
385 { "ProximityDomain", 4, "0x%x", NULL },
386 { "Flags", 4, "0x%x", NULL },
387 { "DeviceHandleType", 1, "0x%x", NULL },
388 { "DeviceHandleToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL }
389};
390
394 { "PeriphBaseAddress", 8, "0x%llx", NULL },
395 { "PeriphBaseAddressLength", 8, "0x%llx", NULL },
396 { "RootNodeBaseAddress", 8, "0x%llx", NULL },
397 { "DtcCount", 1, "0x%x", NULL },
398 { "DtcInterrupt[0]", 4, "0x%x", NULL },
399 { "DtcFlags[0]", 4, "0x%x", NULL },
400 { "DtcInterrupt[1]", 4, "0x%x", NULL },
401 { "DtcFlags[1]", 4, "0x%x", NULL },
402 { "DtcInterrupt[2]", 4, "0x%x", NULL },
403 { "DtcFlags[2]", 4, "0x%x", NULL },
404 { "DtcInterrupt[3]", 4, "0x%x", NULL },
405 { "DtcFlags[3]", 4, "0x%x", NULL }
406};
407
411 { "AddressSpaceId", 1, "%d", NULL },
412 { "RegisterBitWidth", 1, "%d", NULL },
413 { "RegisterBitOffset", 1, "%d", NULL },
414 { "AccessSize", 1, "%d", NULL },
415 { "Address", 8, "0x%llx", NULL },
416};
417
421 { "MinResidency", 4, "0x%x", NULL },
422 { "WorstCaseWakeLatency", 4, "0x%x", NULL },
423 { "Flags", 4, "0x%x", NULL },
424 { "ArchFlags", 4, "0x%x", NULL },
425 { "ResCntFreq", 4, "0x%x", NULL },
426 { "EnableParentState", 4, "0x%x", NULL },
427 { "IsInteger", 1, "%d", NULL },
428 { "IntegerEntryMethod", 8, "0x%llx", NULL },
429 { "RegisterEntryMethod", sizeof (EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE),
432 { "ResidencyCounterRegister", sizeof (EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE),
435 { "UsageCounterRegister", sizeof (EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE),
438 { "StateName", 16, NULL, PrintString },
439};
440
444 { "SpaceCode", 1, "%d", NULL },
445 { "PciAddress", 8, "0x%llx", NULL },
446 { "CpuAddress", 8, "0x%llx", NULL },
447 { "AddressSize", 8, "0x%llx", NULL },
448};
449
453 { "PciBus", 1, "0x%x", NULL },
454 { "PciDevice", 1, "0x%x", NULL },
455 { "PciInterrupt", 1, "0x%x", NULL },
456 { "IntcInterrupt", sizeof (CM_ARCH_COMMON_GENERIC_INTERRUPT),
459};
460
464 { "Token", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
465 { "IdMappingCount", 4, "0x%x", NULL },
466 { "IdMappingToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
467 { "Identifier", 4, "0x%x", NULL },
468 { "Flags", 4, "0x%x", NULL },
469 { "MemRangeDescCount", 4, "0x%x", NULL },
470 { "MemRangeDescToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
471};
472
476 { "BaseAddress", 8, "0x%llx", NULL },
477 { "Length", 8, "0x%llx", NULL },
478};
479
483 { "Revision", 4, "0x%lx", NULL },
484 { "HighestPerformanceBuffer", sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE),
487 { "HighestPerformanceInteger", 4, "0x%lx", NULL },
488 { "NominalPerformanceBuffer", sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE),
491 { "NominalPerformanceInteger", 4, "0x%lx", NULL },
492 { "LowestNonlinearPerformanceBuffer", sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE),
495 { "LowestNonlinearPerformanceInteger", 4, "0x%lx", NULL },
496 { "LowestPerformanceBuffer", sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE),
499 { "LowestPerformanceInteger", 4, "0x%lx", NULL },
500 { "GuaranteedPerformanceRegister", sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE),
503 { "DesiredPerformanceRegister", sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE),
506 { "MinimumPerformanceRegister", sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE),
509 { "MaximumPerformanceRegister", sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE),
512 { "PerformanceReductionToleranceRegister", sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE),
515 { "TimeWindowRegister", sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE),
518 { "CounterWraparoundTimeBuffer", sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE),
521 { "CounterWraparoundTimeInteger", 4, "0x%lx", NULL },
522 { "ReferencePerformanceCounterRegister", sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE),
525 { "DeliveredPerformanceCounterRegister", sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE),
528 { "PerformanceLimitedRegister", sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE),
531 { "CPPCEnableRegister", sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE),
534 { "AutonomousSelectionEnableBuffer", sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE),
537 { "AutonomousSelectionEnableInteger", 4, "0x%lx", NULL },
538 { "AutonomousActivityWindowRegister", sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE),
541 { "EnergyPerformancePreferenceRegister", sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE),
544 { "ReferencePerformanceBuffer", sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE),
547 { "ReferencePerformanceInteger", 4, "0x%lx", NULL },
548 { "LowestFrequencyBuffer", sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE),
551 { "LowestFrequencyInteger", 4, "0x%lx", NULL },
552 { "NominalFrequencyBuffer", sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE),
555 { "NominalFrequencyInteger", 4, "0x%lx", NULL },
556};
557
561 { "Register", sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE), NULL, NULL,
563 { "PreserveMask", 8, "0x%llx", NULL },
564 { "WriteMask", 8, "0x%llx", NULL },
565};
566
570 { "NominalLatency", 4, "0x%x", NULL },
571 { "MaxPeriodicAccessRate", 4, "0x%x", NULL },
572 { "MinRequestTurnaroundTime", 2, "0x%x", NULL },
573};
574
578 { "SubspaceId", 1, "0x%x", NULL },
579 { "Type", 1, "0x%x", NULL },
580 { "BaseAddress", 8, "0x%llx", NULL },
581 { "AddressLength", 8, "0x%llx", NULL },
582 { "DoorbellReg", sizeof (PCC_MAILBOX_REGISTER_INFO),
585 { "ChannelTiming", sizeof (PCC_SUBSPACE_CHANNEL_TIMING_INFO),
588};
589
593 { "GenericPccInfo", sizeof (PCC_SUBSPACE_GENERIC_INFO),
596 { "PlatIrq", sizeof (CM_ARCH_COMMON_GENERIC_INTERRUPT),
599};
600
604 { "GenericPccInfo", sizeof (PCC_SUBSPACE_GENERIC_INFO),
607 { "PlatIrq", sizeof (CM_ARCH_COMMON_GENERIC_INTERRUPT),NULL,NULL,
609 { "PlatIrqAckReg", sizeof (PCC_MAILBOX_REGISTER_INFO),
612};
613
617 { "GenericPccInfo", sizeof (PCC_SUBSPACE_GENERIC_INFO),
620 { "PlatIrq", sizeof (CM_ARCH_COMMON_GENERIC_INTERRUPT),NULL,NULL,
622 { "PlatIrqAckReg", sizeof (PCC_MAILBOX_REGISTER_INFO),
625 { "CmdCompleteCheckReg", sizeof (PCC_MAILBOX_REGISTER_INFO),
628 { "CmdCompleteUpdateReg", sizeof (PCC_MAILBOX_REGISTER_INFO),
631 { "ErrorStatusReg", sizeof (PCC_MAILBOX_REGISTER_INFO),
634};
635
639 { "GenericPccInfo", sizeof (PCC_SUBSPACE_GENERIC_INFO),
642 { "Version", 2, "0x%x",NULL },
643 { "PlatIrq", sizeof (CM_ARCH_COMMON_GENERIC_INTERRUPT),NULL, NULL,
645 { "CmdCompleteCheckReg", sizeof (PCC_MAILBOX_REGISTER_INFO),
648 { "ErrorStatusReg", sizeof (PCC_MAILBOX_REGISTER_INFO),
651};
652
656 { "EtType", sizeof (ARM_ET_TYPE), "0x%x", NULL }
657};
658
662 { "Revision", 1, "0x%x", NULL },
663 { "DomainId", 4, "0x%x", NULL },
664 { "CoordType", 4, "0x%x", NULL },
665 { "NumProc", 4, "0x%x", NULL },
666};
667
671 { "PlatformClass", sizeof (UINT16), "0x%x", NULL },
672 { "AddressOfControlArea", sizeof (UINT64), "0x%llx", NULL },
673 { "StartMethod", sizeof (UINT32), "0x%x", NULL },
674 { "StartMethodParametersSize", sizeof (UINT8), "0x%x", NULL },
675 { "StartMethodParameters", EFI_TPM2_ACPI_TABLE_START_METHOD_SPECIFIC_PARAMETERS_MAX_SIZE, NULL, HexDump },
676 { "Laml", sizeof (UINT32), "0x%x", NULL },
677 { "Lasa", sizeof (UINT64), "0x%llx", NULL },
678};
679
683 { "InterfaceType", sizeof (UINT8), "0x%x", NULL },
684 { "BaseAddress", sizeof (EFI_ACPI_6_5_GENERIC_ADDRESS_STRUCTURE),
686};
687
691 { "InterruptType", sizeof (UINT8), "0x%x", NULL },
692 { "GPE", sizeof (UINT8), "0x%x", NULL },
693 { "PciDeviceFlag", sizeof (UINT8), "0x%x", NULL },
694 { "GlobalSystemInterrupt", sizeof (UINT32), "0x%x", NULL },
695 { "DeviceId", sizeof (UINT32), "0x%x", NULL }
696};
697
730 CM_PARSER_ADD_OBJECT_RESERVED (EArchCommonObjMax)
731};
732
761};
762
766 { "SciInterrupt", 2, "0x%x", NULL }
767};
768
772 { "SciCmd", 4, "0x%x", NULL },
773 { "AcpiEnable", 1, "0x%x", NULL },
774 { "AcpiDisable", 1, "0x%x", NULL },
775 { "S4BiosReq", 1, "0x%x", NULL },
776 { "PstateCnt", 1, "0x%x", NULL },
777 { "CstCnt", 1, "0x%x", NULL }
778};
779
783 { "Pm1aEvtBlk", 4, "0x%x", NULL },
784 { "Pm1bEvtBlk", 4, "0x%x", NULL },
785 { "Pm1aCntBlk", 4, "0x%x", NULL },
786 { "Pm1bCntBlk", 4, "0x%x", NULL },
787 { "Pm2CntBlk", 4, "0x%x", NULL },
788 { "PmTmrBlk", 4, "0x%x", NULL },
789 { "Pm1EvtLen", 1, "0x%x", NULL },
790 { "Pm1CntLen", 1, "0x%x", NULL },
791 { "Pm2CntLen", 1, "0x%x", NULL },
792 { "PmTmrLen", 1, "0x%x", NULL }
793};
794
798 { "Gpe0Blk", 4, "0x%x", NULL },
799 { "Gpe1Blk", 4, "0x%x", NULL },
800 { "Gpe0BlkLen", 1, "0x%x", NULL },
801 { "Gpe1BlkLen", 1, "0x%x", NULL },
802 { "Gpe1Base", 1, "0x%x", NULL }
803};
804
808 { "XPm1aEvtBlk", sizeof (EFI_ACPI_6_5_GENERIC_ADDRESS_STRUCTURE),
811 { "XPm1bEvtBlk", sizeof (EFI_ACPI_6_5_GENERIC_ADDRESS_STRUCTURE),
814 { "XPm1aCntBlk", sizeof (EFI_ACPI_6_5_GENERIC_ADDRESS_STRUCTURE),
817 { "XPm1bCntBlk", sizeof (EFI_ACPI_6_5_GENERIC_ADDRESS_STRUCTURE),
820 { "XPm2CntBlk", sizeof (EFI_ACPI_6_5_GENERIC_ADDRESS_STRUCTURE),
823 { "XPmTmrBlk", sizeof (EFI_ACPI_6_5_GENERIC_ADDRESS_STRUCTURE),
826};
827
831 { "XGpe0Blk", sizeof (EFI_ACPI_6_5_GENERIC_ADDRESS_STRUCTURE),
834 { "XGpe1Blk", sizeof (EFI_ACPI_6_5_GENERIC_ADDRESS_STRUCTURE),
837};
838
842 { "SleepControlReg", sizeof (EFI_ACPI_6_5_GENERIC_ADDRESS_STRUCTURE),
845 { "SleepStatusReg", sizeof (EFI_ACPI_6_5_GENERIC_ADDRESS_STRUCTURE),
848};
849
853 { "ResetReg", sizeof (EFI_ACPI_6_5_GENERIC_ADDRESS_STRUCTURE),
856 { "ResetValue", 1, "0x%x",NULL }
857};
858
862 { "PLvl2Lat", 2, "0x%x", NULL },
863 { "PLvl3Lat", 2, "0x%x", NULL },
864 { "FlushSize", 2, "0x%x", NULL },
865 { "FlushStride", 2, "0x%x", NULL },
866 { "DutyOffset", 1, "0x%x", NULL },
867 { "DutyWidth", 1, "0x%x", NULL },
868 { "DayAlrm", 1, "0x%x", NULL },
869 { "MonAlrm", 1, "0x%x", NULL },
870 { "Century", 1, "0x%x", NULL }
871};
872
876 { "WsmtFlags", 4, "0x%x", NULL }
877};
878
882 { "BaseAddressLower32Bit", 4, "0x%x", NULL },
883 { "MainCounterMinimumClockTickInPeriodicMode", 2, "0x%x", NULL },
884 { "PageProtectionAndOemAttribute", 1, "0x%x", NULL }
885};
886
903};
904
908 { "Revision", 4, "0x%x", NULL },
909 { "OemId[6]", 6, NULL, PrintChars }
910};
911
915 { "AcpiTableSignature", 4, NULL, PrintChars },
916 { "AcpiTableRevision", 1, "%d", NULL },
917 { "TableGeneratorId", sizeof (ACPI_TABLE_GENERATOR_ID), "0x%x", NULL },
918 { "AcpiTableData", sizeof (EFI_ACPI_DESCRIPTION_HEADER *), "0x%p", NULL },
919 { "OemTableId", 8, NULL, PrintChars },
920 { "OemRevision", 4, "0x%x", NULL },
921 { "MinorRevision", 1, "0x%x", NULL },
922};
923
927 { "TableGeneratorId", sizeof (SMBIOS_TABLE_GENERATOR_ID), "0x%x", NULL },
928 { "SmbiosTableData", sizeof (SMBIOS_STRUCTURE *), "0x%p", NULL }
929};
930
938};
939
948STATIC
949VOID
950EFIAPI
951PrintString (
952 IN CONST CHAR8 *Format,
953 IN UINT8 *Ptr,
954 IN UINT32 Length
955 )
956{
957 if (Ptr == NULL) {
958 ASSERT (0);
959 return;
960 }
961
962 DEBUG ((DEBUG_INFO, "%a", Ptr));
963}
964
973STATIC
974VOID
975EFIAPI
976PrintStringPtr (
977 IN CONST CHAR8 *Format,
978 IN UINT8 *Ptr,
979 IN UINT32 Length
980 )
981{
982 UINT8 *String;
983
984 if (Ptr == NULL) {
985 ASSERT (0);
986 return;
987 }
988
989 String = *(UINT8 **)Ptr;
990
991 if (String == NULL) {
992 String = (UINT8 *)"(NULLPTR)";
993 }
994
995 PrintString (Format, String, Length);
996}
997
1004STATIC
1005VOID
1006EFIAPI
1007PrintChars (
1008 IN CONST CHAR8 *Format,
1009 IN UINT8 *Ptr,
1010 IN UINT32 Length
1011 )
1012{
1013 UINT32 Index;
1014
1015 for (Index = 0; Index < Length; Index++) {
1016 DEBUG ((DEBUG_INFO, "%c", Ptr[Index]));
1017 }
1018}
1019
1026STATIC
1027VOID
1028EFIAPI
1029HexDump (
1030 IN CONST CHAR8 *Format,
1031 IN UINT8 *Ptr,
1032 IN UINT32 Length
1033 )
1034{
1035 UINT32 Index;
1036
1037 for (Index = 0; Index < Length; Index++) {
1038 DEBUG ((DEBUG_INFO, "0x%02x ", *Ptr++));
1039 }
1040}
1041
1052STATIC
1053VOID
1055 IN VOID *Data,
1056 IN CONST CM_OBJ_PARSER *Parser,
1057 IN UINTN ItemCount,
1058 IN INTN *RemainingSize,
1059 IN UINT32 IndentLevel
1060 )
1061{
1062 UINT32 Index;
1063 UINT32 IndentIndex;
1064 INTN SubStructSize;
1065
1066 if ((Data == NULL) ||
1067 (Parser == NULL) ||
1068 (ItemCount == 0) ||
1069 (RemainingSize == NULL))
1070 {
1071 ASSERT (0);
1072 return;
1073 }
1074
1075 // Print each field.
1076 for (Index = 0; Index < ItemCount; Index++) {
1077 // Check there is enough space in left.
1078 *RemainingSize -= Parser[Index].Length;
1079 if (*RemainingSize < 0) {
1080 DEBUG ((
1081 DEBUG_ERROR,
1082 "\nERROR: %a: Buffer overrun\n",
1083 Parser[Index].NameStr
1084 ));
1085 ASSERT (0);
1086 return;
1087 }
1088
1089 // Indentation
1090 for (IndentIndex = 0; IndentIndex < IndentLevel; IndentIndex++) {
1091 DEBUG ((DEBUG_INFO, " "));
1092 }
1093
1094 DEBUG ((
1095 DEBUG_INFO,
1096 "%-*a :",
1097 OUTPUT_FIELD_COLUMN_WIDTH - 2 * IndentLevel,
1098 Parser[Index].NameStr
1099 ));
1100 if (Parser[Index].PrintFormatter != NULL) {
1101 Parser[Index].PrintFormatter (Parser[Index].Format, Data, Parser[Index].Length);
1102 } else if (Parser[Index].Format != NULL) {
1103 switch (Parser[Index].Length) {
1104 case 1:
1105 DEBUG ((DEBUG_INFO, Parser[Index].Format, *(UINT8 *)Data));
1106 break;
1107 case 2:
1108 DEBUG ((DEBUG_INFO, Parser[Index].Format, *(UINT16 *)Data));
1109 break;
1110 case 4:
1111 DEBUG ((DEBUG_INFO, Parser[Index].Format, *(UINT32 *)Data));
1112 break;
1113 case 8:
1114 DEBUG ((DEBUG_INFO, Parser[Index].Format, ReadUnaligned64 (Data)));
1115 break;
1116 default:
1117 DEBUG ((
1118 DEBUG_INFO,
1119 "\nERROR: %a: CANNOT PARSE THIS FIELD, Field Length = %d\n",
1120 Parser[Index].NameStr,
1121 Parser[Index].Length
1122 ));
1123 } // switch
1124 } else if (Parser[Index].SubObjParser != NULL) {
1125 SubStructSize = Parser[Index].Length;
1126
1127 DEBUG ((DEBUG_INFO, "\n"));
1129 Data,
1130 Parser[Index].SubObjParser,
1131 Parser[Index].SubObjItemCount,
1132 &SubStructSize,
1133 IndentLevel + 1
1134 );
1135 } else {
1136 ASSERT (0);
1137 DEBUG ((
1138 DEBUG_INFO,
1139 "\nERROR: %a: CANNOT PARSE THIS FIELD, Field Length = %d\n",
1140 Parser[Index].NameStr,
1141 Parser[Index].Length
1142 ));
1143 }
1144
1145 DEBUG ((DEBUG_INFO, "\n"));
1146 Data = (UINT8 *)Data + Parser[Index].Length;
1147 } // for
1148}
1149
1154VOID
1155EFIAPI
1157 IN CONST CM_OBJ_DESCRIPTOR *CmObjDesc
1158 )
1159{
1160 UINTN ObjId;
1161 UINTN NameSpaceId;
1162 UINT32 ObjIndex;
1163 UINT32 ObjectCount;
1164 INTN RemainingSize;
1165 INTN Offset;
1166 CONST CM_OBJ_PARSER_ARRAY *ParserArray;
1167
1168 if ((CmObjDesc == NULL) || (CmObjDesc->Data == NULL)) {
1169 return;
1170 }
1171
1172 NameSpaceId = GET_CM_NAMESPACE_ID (CmObjDesc->ObjectId);
1173 ObjId = GET_CM_OBJECT_ID (CmObjDesc->ObjectId);
1174
1175 switch (NameSpaceId) {
1177 if (ObjId >= EStdObjMax) {
1178 ASSERT (0);
1179 return;
1180 }
1181
1182 if (ObjId >= ARRAY_SIZE (StdNamespaceObjectParser)) {
1183 DEBUG ((DEBUG_ERROR, "ObjId 0x%x is missing from the StdNamespaceObjectParser array\n", ObjId));
1184 ASSERT (0);
1185 return;
1186 }
1187
1188 ParserArray = &StdNamespaceObjectParser[ObjId];
1189 break;
1190 case EObjNameSpaceArm:
1191 if (ObjId >= EArmObjMax) {
1192 ASSERT (0);
1193 return;
1194 }
1195
1196 if (ObjId >= ARRAY_SIZE (ArmNamespaceObjectParser)) {
1197 DEBUG ((DEBUG_ERROR, "ObjId 0x%x is missing from the ArmNamespaceObjectParser array\n", ObjId));
1198 ASSERT (0);
1199 return;
1200 }
1201
1202 ParserArray = &ArmNamespaceObjectParser[ObjId];
1203 break;
1204
1206 if (ObjId >= EArchCommonObjMax) {
1207 ASSERT (0);
1208 return;
1209 }
1210
1212 DEBUG ((DEBUG_ERROR, "ObjId 0x%x is missing from the ArchCommonNamespaceObjectParser array\n", ObjId));
1213 ASSERT (0);
1214 return;
1215 }
1216
1217 ParserArray = &ArchCommonNamespaceObjectParser[ObjId];
1218 break;
1219
1220 case EObjNameSpaceX64:
1221 if (ObjId >= EX64ObjMax) {
1222 ASSERT (0);
1223 return;
1224 }
1225
1226 if (ObjId >= ARRAY_SIZE (X64NamespaceObjectParser)) {
1227 DEBUG ((DEBUG_ERROR, "ObjId 0x%x is missing from the X64NamespaceObjectParser array\n", ObjId));
1228 ASSERT (0);
1229 return;
1230 }
1231
1232 ParserArray = &X64NamespaceObjectParser[ObjId];
1233 break;
1234
1235 default:
1236 // Not supported
1237 DEBUG ((DEBUG_ERROR, "NameSpaceId 0x%x, ObjId 0x%x is not supported by the parser\n", NameSpaceId, ObjId));
1238 ASSERT (0);
1239 return;
1240 } // switch
1241
1242 ObjectCount = CmObjDesc->Count;
1243 RemainingSize = CmObjDesc->Size;
1244 Offset = 0;
1245
1246 for (ObjIndex = 0; ObjIndex < ObjectCount; ObjIndex++) {
1247 DEBUG ((
1248 DEBUG_INFO,
1249 "\n%-*a [%d/%d]:\n",
1250 OUTPUT_FIELD_COLUMN_WIDTH,
1251 ParserArray->ObjectName,
1252 ObjIndex + 1,
1253 ObjectCount
1254 ));
1255
1256 ASSERT (ObjId == ParserArray->ObjectId);
1257
1258 if (ParserArray->Parser == NULL) {
1259 DEBUG ((DEBUG_ERROR, "Parser not implemented\n"));
1260 RemainingSize = 0;
1261 } else {
1263 (VOID *)((UINTN)CmObjDesc->Data + Offset),
1264 ParserArray->Parser,
1265 ParserArray->ItemCount,
1266 &RemainingSize,
1267 1
1268 );
1269 if ((RemainingSize > (INTN)CmObjDesc->Size) ||
1270 (RemainingSize < 0))
1271 {
1272 ASSERT (0);
1273 return;
1274 }
1275
1276 Offset = CmObjDesc->Size - RemainingSize;
1277 }
1278 } // for
1279
1280 ASSERT (RemainingSize == 0);
1281}
UINT64 UINTN
INT64 INTN
TABLE_GENERATOR_ID ACPI_TABLE_GENERATOR_ID
struct PccSubspaceChannelTimingInfo PCC_SUBSPACE_CHANNEL_TIMING_INFO
struct PccSubspaceGenericInfo PCC_SUBSPACE_GENERIC_INFO
struct PccMailboxRegisterInfo PCC_MAILBOX_REGISTER_INFO
@ EArchCommonObjLpiInfo
15 - Lpi Info
@ EArchCommonObjPccSubspaceType4Info
23 - Pcc Subspace Type 4 Info
@ EArchCommonObjReserved
0 - Reserved
@ EArchCommonObjSerialPortInfo
2 - Generic Serial Port Info
@ EArchCommonObjPowerManagementProfileInfo
1 - Power Management Profile Info
@ EArchCommonObjSerialDebugPortInfo
4 - Serial Debug Port Info
@ EArchCommonObjPccSubspaceType2Info
21 - Pcc Subspace Type 2 Info
@ EArchCommonObjPccSubspaceType5Info
24 - Pcc Subspace Type 5 Info
@ EArchCommonObjSpmiInterfaceInfo
27 - SPMI Interface Info
@ EArchCommonObjPccSubspaceType3Info
22 - Pcc Subspace Type 3 Info
@ EArchCommonObjPccSubspaceType1Info
20 - Pcc Subspace Type 1 Info
@ EArchCommonObjGenericInitiatorAffinityInfo
14 - Generic Initiator Affinity
@ EArchCommonObjPciAddressMapInfo
9 - Pci Address Map Info
@ EArchCommonObjDeviceHandleAcpi
12 - Device Handle Acpi
@ EArchCommonObjDeviceHandlePci
13 - Device Handle Pci
@ EArchCommonObjHypervisorVendorIdentity
5 - Hypervisor Vendor Id
@ EArchCommonObjCpcInfo
18 - Continuous Performance Control Info
@ EArchCommonObjPsdInfo
25 - P-State Dependency (PSD) Info
@ EArchCommonObjTpm2InterfaceInfo
26 - TPM Interface Info
@ EArchCommonObjMemoryAffinityInfo
11 - Memory Affinity Info
@ EArchCommonObjCacheInfo
17 - Cache Info
@ EArchCommonObjPccSubspaceType0Info
19 - Pcc Subspace Type 0 Info
@ EArchCommonObjFixedFeatureFlags
6 - Fixed feature flags for FADT
@ EArchCommonObjCmRef
7 - CM Object Reference
@ EArchCommonObjPciInterruptMapInfo
10 - Pci Interrupt Map Info
@ EArchCommonObjSpmiInterruptDeviceInfo
28 - SPMI Interrupt and Device Info
@ EArchCommonObjConsolePortInfo
3 - Serial Console Port Info
@ EArchCommonObjPciConfigSpaceInfo
8 - PCI Configuration Space Info
@ EArchCommonObjProcHierarchyInfo
16 - Processor Hierarchy Info
struct CmArchCommonGenericInterrupt CM_ARCH_COMMON_GENERIC_INTERRUPT
@ EArmObjEtInfo
23 - Embedded Trace Extension/Module Info
@ EArmObjGicCInfo
2 - GIC CPU Interface Info
@ EArmObjSmmuV3
15 - SMMUv3
@ EArmObjPmcg
16 - PMCG
@ EArmObjIdMappingArray
18 - ID Mapping Array
@ EArmObjSmmuV1SmmuV2
14 - SMMUv1 or SMMUv2
@ EArmObjCmn600Info
20 - CMN-600 Info
@ EArmObjPlatformGTBlockInfo
8 - Platform GT Block Info
@ EArmObjGicMsiFrameInfo
4 - GIC MSI Frame Info
@ EArmObjRmr
21 - Reserved Memory Range Node
@ EArmObjGicItsInfo
6 - GIC ITS Info
@ EArmObjSmmuInterruptArray
19 - SMMU Interrupt Array
@ EArmObjPlatformGenericWatchdogInfo
10 - Platform Generic Watchdog
@ EArmObjGTBlockTimerFrameInfo
9 - Generic Timer Block Frame Info
@ EArmObjItsGroup
11 - ITS Group
@ EArmObjGicRedistributorInfo
5 - GIC Redistributor Info
@ EArmObjGicDInfo
3 - GIC Distributor Info
@ EArmObjBootArchInfo
1 - Boot Architecture Info
@ EArmObjMemoryRangeDescriptor
22 - Memory Range Descriptor
@ EArmObjNamedComponent
12 - Named Component
@ EArmObjGenericTimerInfo
7 - Generic Timer Info
@ EArmObjReserved
0 - Reserved
@ EArmObjRootComplex
13 - Root Complex
@ EArmObjGicItsIdentifierArray
17 - GIC ITS Identifier Array
enum ArmEtType ARM_ET_TYPE
UINT64 EFIAPI ReadUnaligned64(IN CONST UINT64 *Buffer)
Definition: Unaligned.c:204
#define GET_CM_NAMESPACE_ID(CmObjectId)
#define GET_CM_OBJECT_ID(CmObjectId)
@ EObjNameSpaceArm
ARM Objects Namespace.
@ EObjNameSpaceX64
X64 Objects Namespace.
@ EObjNameSpaceArchCommon
Arch Common Objects Namespace.
@ EObjNameSpaceStandard
Standard Objects Namespace.
STATIC CONST CM_OBJ_PARSER CmArchCommonSpmiInterruptDeviceInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArchCommonFixedFeatureFlagsParser[]
STATIC CONST CM_OBJ_PARSER CmArchCommonGenericInitiatorAffinityInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArchCommonHypervisorVendorIdentityParser[]
STATIC CONST CM_OBJ_PARSER CmArmIdMappingParser[]
STATIC CONST CM_OBJ_PARSER CmArchCommonPccSubspaceType0InfoParser[]
STATIC CONST CM_OBJ_PARSER CmX64ObjFadtXgpeBlockInfoParser[]
STATIC CONST CM_OBJ_PARSER StdObjAcpiTableInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArmGicCInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArmItsGroupNodeParser[]
STATIC CONST CM_OBJ_PARSER CmArchCommonDeviceHandleAcpiParser[]
STATIC CONST CM_OBJ_PARSER CmArmBootArchInfoParser[]
STATIC CONST CM_OBJ_PARSER_ARRAY StdNamespaceObjectParser[]
STATIC CONST CM_OBJ_PARSER AcpiGenericAddressParser[]
STATIC CONST CM_OBJ_PARSER CmArmGicMsiFrameInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArmNamedComponentNodeParser[]
STATIC CONST CM_OBJ_PARSER CmArmMemoryRangeDescriptorInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArchCommonPccSubspaceType2InfoParser[]
STATIC CONST CM_OBJ_PARSER CmArchCommonMemoryAffinityInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArmGenericWatchdogInfoParser[]
STATIC CONST CM_OBJ_PARSER_ARRAY ArchCommonNamespaceObjectParser[]
STATIC CONST CM_OBJ_PARSER CmArchCommonSpmiInterfaceInfoParser[]
VOID EFIAPI ParseCmObjDesc(IN CONST CM_OBJ_DESCRIPTOR *CmObjDesc)
STATIC CONST CM_OBJ_PARSER CmArchCommonPccSubspaceType1InfoParser[]
STATIC CONST CM_OBJ_PARSER CmArchCommonCacheInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArmRmrInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArchCommonGenericInterruptParser[]
STATIC CONST CM_OBJ_PARSER CmX64ObjFadtPmBlockInfoParser[]
STATIC CONST CM_OBJ_PARSER CmX64ObjHpetInfoParser[]
STATIC CONST CM_OBJ_PARSER StdObjSmbiosTableInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArmCmn600InfoParser[]
STATIC CONST CM_OBJ_PARSER CmX64ObjFadtSleepBlockInfoParser[]
STATIC CONST CM_OBJ_PARSER CmX64ObjFadtResetBlockInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceChannelTimingInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArmSmmuV1SmmuV2NodeParser[]
STATIC CONST CM_OBJ_PARSER CmArmGicRedistInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArchCommonPccSubspaceType5InfoParser[]
STATIC CONST CM_OBJ_PARSER CmArmRootComplexNodeParser[]
STATIC CONST CM_OBJ_PARSER CmX64ObjFadtSciInterruptParser[]
STATIC CONST CM_OBJ_PARSER CmArmSmmuV3NodeParser[]
STATIC CONST CM_OBJ_PARSER CmArchCommonObjRefParser[]
STATIC CONST CM_OBJ_PARSER CmArmGicDInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArchCommonPciAddressMapInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArchCommonPciInterruptMapInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArchCommonLpiInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArchCommonPowerManagementProfileInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArchCommonPccSubspaceType34InfoParser[]
STATIC CONST CM_OBJ_PARSER CmArmGTBlockTimerFrameInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArmGenericTimerInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArmMailboxRegisterInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArchCommonCpcInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArmGTBlockInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArchCommonPciConfigSpaceInfoParser[]
STATIC CONST CM_OBJ_PARSER StdObjCfgMgrInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArchCommonProcHierarchyInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArmPmcgNodeParser[]
STATIC CONST CM_OBJ_PARSER CmX64ObjFadtSciCmdInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArchCommonPsdInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArchCommonSerialPortInfoParser[]
STATIC VOID PrintCmObjDesc(IN VOID *Data, IN CONST CM_OBJ_PARSER *Parser, IN UINTN ItemCount, IN INTN *RemainingSize, IN UINT32 IndentLevel)
STATIC CONST CM_OBJ_PARSER CmX64ObjWsmtFlagsInfoParser[]
STATIC CONST CM_OBJ_PARSER_ARRAY X64NamespaceObjectParser[]
STATIC CONST CM_OBJ_PARSER CmX64ObjFadtGpeBlockInfoParser[]
STATIC CONST CM_OBJ_PARSER CmX64ObjFadtMiscInfoParser[]
STATIC CONST CM_OBJ_PARSER CmX64ObjFadtXpmBlockInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArmGicItsInfoParser[]
STATIC CONST CM_OBJ_PARSER CmArmGicItsIdentifierParser[]
STATIC CONST CM_OBJ_PARSER_ARRAY ArmNamespaceObjectParser[]
STATIC CONST CM_OBJ_PARSER CmArchCommonDeviceHandlePciParser[]
#define CM_PARSER_ADD_OBJECT_RESERVED(ObjectId)
#define CM_PARSER_ADD_OBJECT(ObjectId, Parser)
#define NULL
Definition: Base.h:319
#define CONST
Definition: Base.h:259
#define STATIC
Definition: Base.h:264
#define ARRAY_SIZE(Array)
Definition: Base.h:1393
#define IN
Definition: Base.h:279
#define DEBUG(Expression)
Definition: DebugLib.h:434
TABLE_GENERATOR_ID SMBIOS_TABLE_GENERATOR_ID
@ EStdObjAcpiTableList
1 - ACPI table Info List
@ EStdObjSmbiosTableList
2 - SMBIOS table Info List
@ EStdObjCfgMgrInfo
0 - Configuration Manager Info
UINTN CM_OBJECT_TOKEN
@ EX64ObjMax
12 - Maximum Object ID
@ EX64ObjHpetInfo
11 - HPET device info
@ EX64ObjFadtPmBlockInfo
3 - FADT Power management block info
@ EX64ObjWsmtFlagsInfo
10 - WSMT protection flags info
@ EX64ObjFadtXpmBlockInfo
5 - FADT 64-bit Power Management block info
@ EX64ObjFadtResetBlockInfo
8 - FADT Reset block info
@ EX64ObjFadtSleepBlockInfo
7 - FADT Sleep block info
@ EX64ObjFadtSciInterrupt
1 - FADT SCI Interrupt information
@ EX64ObjFadtSciCmdInfo
2 - FADT SCI CMD information
@ EX64ObjFadtGpeBlockInfo
4 - FADT GPE block info
@ EX64ObjFadtMiscInfo
9 - FADT Legacy fields info
@ EX64ObjFadtXgpeBlockInfo
6 - FADT 64-bit GPE block info
@ EX64ObjReserved
0 - Reserved