summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/MdeModulePkg.dec
blob: ccba64cd042fdf58b2198f0a87fa78af565ce45d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
## @file  MdeModulePkg.dec
#
# This package provides the modules that conform to UEFI/PI Industry standards.
# It also provides the defintions(including PPIs/PROTOCOLs/GUIDs and library classes)
# and libraries instances, which are used for those modules.
#
# Copyright (c) 2007 - 2012, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials are licensed and made available under 
# the terms and conditions of the BSD License that accompanies this distribution.  
# The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php.                                                                          
# 
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.  
#
##


[Defines]
  DEC_SPECIFICATION              = 0x00010005
  PACKAGE_NAME                   = MdeModulePkg
  PACKAGE_GUID                   = BA0D78D6-2CAF-414b-BD4D-B6762A894288
  PACKAGE_VERSION                = 0.92

[Includes]
  Include


[LibraryClasses]
  ##  @libraryclass  IpIo layer upon EFI IP4 Protocol.
  #   This library is only intended to be used by UEFI network stack modules.
  IpIoLib|Include/Library/IpIoLib.h

  ##  @libraryclass  Basic function for UEFI network stack.
  #   This library is only intended to be used by UEFI network stack modules.
  NetLib|Include/Library/NetLib.h

  ##  @libraryclass  The helper routines to access UDP service.
  #   This library is only intended to be used by UEFI network stack modules.
  UdpIoLib|Include/Library/UdpIoLib.h

  ##  @libraryclass  The helper routines to access TCP service.
  #   This library is only intended to be used by UEFI network stack modules.
  TcpIoLib|Include/Library/TcpIoLib.h

  ##  @libraryclass  Defines a set of methods to reset whole system.
  ResetSystemLib|Include/Library/ResetSystemLib.h

  ##  @libraryclass  Defines a set of methods related do S3 mode.
  #   This library class is no longer used and modules using this library should
  #   directly locate EFI_PEI_S3_RESUME_PPI defined in PI 1.2 specification.
  S3Lib|Include/Library/S3Lib.h

  ##  @libraryclass  Defines a set of methods related recovery mode.
  #   This library class is no longer used and modules using this library should
  #   directly locate EFI_PEI_RECOVERY_MODULE_PPI defined in PI 1.2 specification.
  RecoveryLib|Include/Library/RecoveryLib.h

  ##  @libraryclass  Provides HII related functions.
  HiiLib|Include/Library/HiiLib.h

  ##  @libraryclass  Defines a set of interfaces on how to process capusle image update.
  CapsuleLib|Include/Library/CapsuleLib.h

  ##  @libraryclass  Library for Deferred Procedure Calls.
  DpcLib|Include/Library/DpcLib.h

  ##  @libraryclass    Provides global variables that are pointers
  #   to the UEFI HII related protocols.
  #
  UefiHiiServicesLib|Include/Library/UefiHiiServicesLib.h

  ##  @libraryclass    Provides a set of interfaces to abstract the policy of security measurement.
  #
  SecurityManagementLib|Include/Library/SecurityManagementLib.h

  ##  @libraryclass  OEM status code libary is used to report status code to OEM device.
  #
  OemHookStatusCodeLib|Include/Library/OemHookStatusCodeLib.h

  ##  @libraryclass  Debug Agent is used to provide soft debug capability.
  #
  DebugAgentLib|Include/Library/DebugAgentLib.h

  ##  @libraryclass  Provide platform specific hooks.
  #
  PlatformHookLib|Include/Library/PlatformHookLib.h

  ##  @libraryclass  Provide platform specific hooks for SMM core.
  #
  SmmCorePlatformHookLib|Include/Library/SmmCorePlatformHookLib.h

  ##  @libraryclass  Provide capability to maintain the data integrity cross S3 phase.
  #
  LockBoxLib|Include/Library/LockBoxLib.h
  
  ##  @libraryclass  Provide the CPU exception handler.
  #
  CpuExceptionHandlerLib|Include/Library/CpuExceptionHandlerLib.h
  
[Guids]
  ## MdeModule package token space guid
  # Include/Guid/MdeModulePkgTokenSpace.h
  gEfiMdeModulePkgTokenSpaceGuid       = { 0xA1AFF049, 0xFDEB, 0x442a, { 0xB3, 0x20, 0x13, 0xAB, 0x4C, 0xB7, 0x2B, 0xBC }}

  ## Hob guid for Pcd DataBase
  #  Include/Guid/PcdDataBaseHobGuid.h
  gPcdDataBaseHobGuid            = { 0xEA296D92, 0x0B69, 0x423C, { 0x8C, 0x28, 0x33, 0xB4, 0xE0, 0xA9, 0x12, 0x68 }}

  ## Guid for EDKII implementation GUIDed opcodes
  #  Include/Guid/MdeModuleHii.h
  gEfiIfrTianoGuid      = { 0xf0b1735, 0x87a0, 0x4193, {0xb2, 0x66, 0x53, 0x8c, 0x38, 0xaf, 0x48, 0xce }}

  ## Guid for Framework vfr GUIDed opcodes.
  #  Include/Guid/MdeModuleHii.h
  gEfiIfrFrameworkGuid  = { 0x31ca5d1a, 0xd511, 0x4931, { 0xb7, 0x82, 0xae, 0x6b, 0x2b, 0x17, 0x8c, 0xd7 }}

  ## Guid to specify the System Non Volatile FV
  #  Include/Guid/SystemNvDataGuid.h
  gEfiSystemNvDataFvGuid         = { 0xFFF12B8D, 0x7696, 0x4C8B, { 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50 }}

  ## Guid specify the device is the console out device.
  #  Include/Guid/ConsoleOutDevice.h
  gEfiConsoleOutDeviceGuid       = { 0xD3B36F2C, 0xD551, 0x11D4, { 0x9A, 0x46, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}

  ## Guid specify the device is the console in device.
  #  Include/Guid/ConsoleInDevice.h
  gEfiConsoleInDeviceGuid        = { 0xD3B36F2B, 0xD551, 0x11D4, { 0x9A, 0x46, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}

  ## Hob and Variable guid specify the platform memory type information.
  #  Include/Guid/MemoryTypeInformation.h
  gEfiMemoryTypeInformationGuid  = { 0x4C19049F, 0x4137, 0x4DD3, { 0x9C, 0x10, 0x8B, 0x97, 0xA8, 0x3F, 0xFD, 0xFA }}

  ## Capsule update hob and variable guid
  #  Include/Guid/CapsuleVendor.h
  gEfiCapsuleVendorGuid          = { 0x711C703F, 0xC285, 0x4B10, { 0xA3, 0xB0, 0x36, 0xEC, 0xBD, 0x3C, 0x8B, 0xE2 }}

  ## Guid specifiy the device is the StdErr device.
  #  Include/Guid/StandardErrorDevice.h
  gEfiStandardErrorDeviceGuid    = { 0xD3B36F2D, 0xD551, 0x11D4, { 0x9A, 0x46, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}

  ## Guid acted as variable store header's signature and to specify the variable list entries put in the EFI system table.
  #  Include/Guid/VariableFormat.h
  gEfiVariableGuid           = { 0xddcf3616, 0x3275, 0x4164, { 0x98, 0xb6, 0xfe, 0x85, 0x70, 0x7f, 0xfe, 0x7d }}

  #  Include/Guid/VariableIndexTable.h
  gEfiVariableIndexTableGuid  = { 0x8cfdb8c8, 0xd6b2, 0x40f3, { 0x8e, 0x97, 0x02, 0x30, 0x7c, 0xc9, 0x8b, 0x7c }}

  ## Guid is defined for SMM variable module to notify SMM variable wrapper module when variable write service was ready.
  #  Include/Guid/SmmVariableCommon.h
  gSmmVariableWriteGuid  = { 0x93ba1826, 0xdffb, 0x45dd, { 0x82, 0xa7, 0xe7, 0xdc, 0xaa, 0x3b, 0xbd, 0xf3 }}
  
  ## Performance protocol guid that also acts as the performance HOB guid and performance variable GUID
  #  Include/Guid/Performance.h
  gPerformanceProtocolGuid       = { 0x76B6BDFA, 0x2ACD, 0x4462, { 0x9E, 0x3F, 0xCB, 0x58, 0xC9, 0x69, 0xD9, 0x37 } }
  gSmmPerformanceProtocolGuid    = { 0xf866226a, 0xeaa5, 0x4f5a, { 0xa9, 0xa,  0x6c, 0xfb, 0xa5, 0x7c, 0x58, 0x8e } }
  gPerformanceExProtocolGuid     = { 0x1ea81bec, 0xf01a, 0x4d98, { 0xa2, 0x1,  0x4a, 0x61, 0xce, 0x2f, 0xc0, 0x22 } }
  gSmmPerformanceExProtocolGuid  = { 0x931fc048, 0xc71d, 0x4455, { 0x89, 0x30, 0x47, 0x6,  0x30, 0xe3, 0xe,  0xe5 } }

  ## Guid is defined for CRC32 encapsulation scheme.
  #  Include/Guid/Crc32GuidedSectionExtraction.h
  gEfiCrc32GuidedSectionExtractionGuid = { 0xFC1BCDB0, 0x7D31, 0x49aa, {0x93, 0x6A, 0xA4, 0x60, 0x0D, 0x9D, 0xD0, 0x83 } }

  ## Include/Guid/NicIp4ConfigNvData.h
  gEfiNicIp4ConfigVariableGuid   = {0xd8944553, 0xc4dd, 0x41f4, { 0x9b, 0x30, 0xe1, 0x39, 0x7c, 0xfb, 0x26, 0x7b }}

  ## Include/Guid/StatusCodeCallbackGuid.h
  gStatusCodeCallbackGuid   = {0xe701458c, 0x4900, 0x4ca5, {0xb7, 0x72, 0x3d, 0x37, 0x94, 0x9f, 0x79, 0x27}}

  ## GUID identifies status code records HOB that originate from the PEI status code
  #  Include/Guid/MemoryStatusCodeRecord.h
  gMemoryStatusCodeRecordGuid     = { 0x060CC026, 0x4C0D, 0x4DDA, { 0x8F, 0x41, 0x59, 0x5F, 0xEF, 0x00, 0xA5, 0x02 }}

  ## GUID used to pass DEBUG() macro information through the Status Code Protocol and Status Code PPI
  #  Include/Guid/StatusCodeDataTypeDebug.h
  gEfiStatusCodeDataTypeDebugGuid  = { 0x9A4E9246, 0xD553, 0x11D5, { 0x87, 0xE2, 0x00, 0x06, 0x29, 0x45, 0xC3, 0xB9 }}

  ##  A configuration Table Guid for Load module at fixed address 
  #  Include/Guid/LoadModuleAtFixedAddress.h
  gLoadFixedAddressConfigurationTableGuid  = { 0x2CA88B53,0xD296,0x4080, { 0xA4,0xA5,0xCA,0xD9,0xBA,0xE2,0x4B,0x9 } }

  ## GUID used to store the global debug mask value into an EFI Variable
  # Include/Guid/DebugMask.h  
  gEfiGenericVariableGuid = { 0x59d1c24f, 0x50f1, 0x401a, {0xb1, 0x01, 0xf3, 0x3e, 0x0d, 0xae, 0xd4, 0x43} }
  
  ##  Event for the DXE Core to signal idle events
  #  Include/Guid/EventIdle.h
  gIdleLoopEventGuid  = { 0x3c8d294c, 0x5fc3, 0x4451, { 0xbb, 0x31, 0xc4, 0xc0, 0x32, 0x29, 0x5e, 0x6c } }

  ## Include/Guid/RecoveryDevice.h
  gRecoveryOnFatUsbDiskGuid          = { 0x0FFBCE19, 0x324C, 0x4690, { 0xA0, 0x09, 0x98, 0xC6, 0xAE, 0x2E, 0xB1, 0x86 }}

  ## Include/Guid/RecoveryDevice.h
  gRecoveryOnFatIdeDiskGuid          = { 0xB38573B6, 0x6200, 0x4AC5, { 0xB5, 0x1D, 0x82, 0xE6, 0x59, 0x38, 0xD7, 0x83 }}

  ## Include/Guid/RecoveryDevice.h
  gRecoveryOnFatFloppyDiskGuid       = { 0x2E3D2E75, 0x9B2E, 0x412D, { 0xB4, 0xB1, 0x70, 0x41, 0x6B, 0x87, 0x00, 0xFF }}

  ## Include/Guid/RecoveryDevice.h
  gRecoveryOnDataCdGuid              = { 0x5CAC0099, 0x0DC9, 0x48E5, { 0x80, 0x68, 0xBB, 0x95, 0xF5, 0x40, 0x0A, 0x9F }}

  ## Include/Guid/SmmLockBox.h
  gEfiSmmLockBoxCommunicationGuid       = { 0x2a3cfebd, 0x27e8, 0x4d0a, { 0x8b, 0x79, 0xd6, 0x88, 0xc2, 0xa3, 0xe1, 0xc0 }}

  ## Include/Guid/AcpiS3Context.h
  gEfiAcpiVariableGuid               = { 0xAF9FFD67, 0xEC10, 0x488A, { 0x9D, 0xFC, 0x6C, 0xBF, 0x5E, 0xE2, 0x2C, 0x2E }}

  ## Include/Guid/AcpiS3Context.h
  gEfiAcpiS3ContextGuid              = { 0xef98d3a, 0x3e33, 0x497a, { 0xa4, 0x1, 0x77, 0xbe, 0x3e, 0xb7, 0x4f, 0x38 }}

  ## Include/Guid/BootScriptExecutorVariable.h
  gEfiBootScriptExecutorVariableGuid = { 0x3079818c, 0x46d4, 0x4a73, { 0xae, 0xf3, 0xe3, 0xe4, 0x6c, 0xf1, 0xee, 0xdb }}
  gEfiBootScriptExecutorContextGuid  = { 0x79cb58c4, 0xac51, 0x442f, { 0xaf, 0xd7, 0x98, 0xe4, 0x7d, 0x2e, 0x99, 0x8 }}

  ## Include/Guid/UsbKeyBoardLayout.h
  gUsbKeyboardLayoutPackageGuid      = { 0xc0f3b43, 0x44de, 0x4907, { 0xb4, 0x78, 0x22, 0x5f, 0x6f, 0x62, 0x89, 0xdc }}
  gUsbKeyboardLayoutKeyGuid          = { 0x3a4d7a7c, 0x18a, 0x4b42, { 0x81, 0xb3, 0xdc, 0x10, 0xe3, 0xb5, 0x91, 0xbd }}
  
  ## Include/Guid/HiiResourceSampleHii.h
  gHiiResourceSamleFormSetGuid       = { 0x4f4ef7f0, 0xaa29, 0x4ce9, { 0xba, 0x41, 0x64, 0x3e, 0x1, 0x23, 0xa9, 0x9f }}

  ## Include/Guid/DriverSampleHii.h
  gDriverSampleFormSetGuid           = { 0xA04A27f4, 0xDF00, 0x4D42, { 0xB5, 0x52, 0x39, 0x51, 0x13, 0x02, 0x11, 0x3D }}
  gDriverSampleInventoryGuid         = { 0xb3f56470, 0x6141, 0x4621, { 0x8f, 0x19, 0x70, 0x4e, 0x57, 0x7a, 0xa9, 0xe8 }}
  gEfiIfrRefreshIdOpGuid             = { 0xF5E655D9, 0x02A6, 0x46f2, { 0x9E, 0x76, 0xB8, 0xBE, 0x8E, 0x60, 0xAB, 0x22 }}

  ## Include/Guid/PlatDriOverrideHii.h
  gPlatformOverridesManagerGuid      = { 0x8614567d, 0x35be, 0x4415, { 0x8d, 0x88, 0xbd, 0x7d, 0xc, 0x9c, 0x70, 0xc0 }}

  ## Include/Guid/Ip4ConfigHii.h
  gNicIp4ConfigNvDataGuid            = { 0x9d5b53f, 0xf4b0, 0x4f59, { 0xa0, 0xb1, 0x7b, 0x57, 0xd3, 0x5c, 0xe, 0x5 }}

  ## Include/Guid/VlanConfigHii.h
  gVlanConfigFormSetGuid             = { 0xd79df6b0, 0xef44, 0x43bd, { 0x97, 0x97, 0x43, 0xe9, 0x3b, 0xcf, 0x5f, 0xa8 }}

  ## Include/Guid/Ip4IScsiConfigHii.h
  gIp4IScsiConfigGuid                = { 0x6456ed61, 0x3579, 0x41c9, { 0x8a, 0x26, 0x0a, 0x0b, 0xd6, 0x2b, 0x78, 0xfc }}
  gIScsiCHAPAuthInfoGuid             = { 0x786ec0ac, 0x65ae, 0x4d1b, { 0xb1, 0x37, 0xd, 0x11, 0xa, 0x48, 0x37, 0x97 }}

  ## Include/Guid/ZeroGuid.h
  gZeroGuid                          = { 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
  
  ## Include/Guid/MtcVendor.h
  gMtcVendorGuid                     = { 0xeb704011, 0x1402, 0x11d3, { 0x8e, 0x77, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b }}

  ## Guid for Firmware Performance Data Table (FPDT) implementation.
  #  Include/Guid/FirmwarePerformance.h
  gEfiFirmwarePerformanceGuid = { 0xc095791a, 0x3001, 0x47b2, { 0x80, 0xc9, 0xea, 0xc7, 0x31, 0x9f, 0x2f, 0xa4 }}

[Ppis]
  ## Include/Ppi/AtaController.h
  gPeiAtaControllerPpiGuid       = { 0xa45e60d1, 0xc719, 0x44aa, { 0xb0, 0x7a, 0xaa, 0x77, 0x7f, 0x85, 0x90, 0x6d }}

  ## Include/Ppi/UsbHostController.h
  gPeiUsbHostControllerPpiGuid   = { 0x652B38A9, 0x77F4, 0x453F, { 0x89, 0xD5, 0xE7, 0xBD, 0xC3, 0x52, 0xFC, 0x53 }}

  ## Include/Ppi/Usb2HostController.h
  gPeiUsb2HostControllerPpiGuid  = { 0xfedd6305, 0xe2d7, 0x4ed5, { 0x9f, 0xaa, 0xda, 0x8, 0xe, 0x33, 0x6c, 0x22   }}

  ## Include/Ppi/UsbController.h
  gPeiUsbControllerPpiGuid       = { 0x3BC1F6DE, 0x693E, 0x4547, { 0xA3, 0x00, 0x21, 0x82, 0x3C, 0xA4, 0x20, 0xB2 }}

  ## Include/Ppi/UsbIo.h
  gPeiUsbIoPpiGuid               = { 0x7C29785C, 0x66B9, 0x49FC, { 0xB7, 0x97, 0x1C, 0xA5, 0x55, 0x0E, 0xF2, 0x83 }}

  ## Include/Ppi/Capsule.h
  gPeiCapsulePpiGuid             = { 0x3acf33ee, 0xd892, 0x40f4, { 0xa2, 0xfc, 0x38, 0x54, 0xd2, 0xe1, 0x32, 0x3d }}

  ## Include/Ppi/SecPerformance.h
  gPeiSecPerformancePpiGuid      = { 0x0ecc666b, 0x4662, 0x47f9, { 0x9d, 0xd5, 0xd0, 0x96, 0xff, 0x7d, 0xa4, 0x9e }}

  ## Include/Ppi/SmmCommunication.h
  gEfiPeiSmmCommunicationPpiGuid   =  { 0xae933e1c, 0xcc47, 0x4e38, { 0x8f, 0xe, 0xe2, 0xf6, 0x1d, 0x26, 0x5, 0xdf }}

  ## Include/Ppi/SmmAccess.h
  gPeiSmmAccessPpiGuid          =  { 0x268f33a9, 0xcccd, 0x48be, { 0x88, 0x17, 0x86, 0x5, 0x3a, 0xc3, 0x2e, 0xd6 }}

  ## Include/Ppi/SmmControl.h
  gPeiSmmControlPpiGuid         =  { 0x61c68702, 0x4d7e, 0x4f43, { 0x8d, 0xef, 0xa7, 0x43, 0x5, 0xce, 0x74, 0xc5 }}

  ## Include/Ppi/PostBootScriptTable.h
  gPeiPostScriptTablePpiGuid    =  { 0x88c9d306, 0x900, 0x4eb5, { 0x82, 0x60, 0x3e, 0x2d, 0xbe, 0xda, 0x1f, 0x89}}

[Protocols]
  ## Load File protocol provides capability to load and unload EFI image into memory and execute it.
  #  Include/Protocol/LoadPe32Image.h
  #  This protocol is deprecated. Native EDKII module should NOT use this protocol to load/unload image.
  #  If developer need implement such functionality, they should use BasePeCoffLib.
  gEfiLoadPeImageProtocolGuid    = { 0x5CB5C776, 0x60D5, 0x45EE, { 0x88, 0x3C, 0x45, 0x27, 0x08, 0xCD, 0x74, 0x3F }}

  ## Print protocol defines basic print functions to print the format unicode and ascii string.
  # Include/Protocol/Print2.h
  gEfiPrint2ProtocolGuid          = { 0xf05976ef, 0x83f1, 0x4f3d, { 0x86, 0x19, 0xf7, 0x59, 0x5d, 0x41, 0xe5, 0x38 } }

  ## This protocol defines the generic memory test interfaces in Dxe phase.
  # Include/Protocol/GenericMemoryTest.h
  gEfiGenericMemTestProtocolGuid = { 0x309DE7F1, 0x7F5E, 0x4ACE, { 0xB4, 0x9C, 0x53, 0x1B, 0xE5, 0xAA, 0x95, 0xEF }}

  ## Include/Protocol/Dpc.h
  gEfiDpcProtocolGuid            = {0x480f8ae9, 0xc46, 0x4aa9,  { 0xbc, 0x89, 0xdb, 0x9f, 0xba, 0x61, 0x98, 0x6 }}

  ## Fault Tolerant Write protocol provides boot-time service to do fault tolerant write capability for block devices.
  #  Include/Protocol/FaultTolerantWrite.h
  gEfiFaultTolerantWriteProtocolGuid = { 0x3EBD9E82, 0x2C78, 0x4DE6, { 0x97, 0x86, 0x8D, 0x4B, 0xFC, 0xB7, 0xC8, 0x81 }}

  ## This protocol provides boot-time service to do fault tolerant write capability for block devices in SMM environment.
  #  Include/Protocol/SmmFaultTolerantWrite.h
  gEfiSmmFaultTolerantWriteProtocolGuid = { 0x3868fc3b, 0x7e45, 0x43a7, { 0x90, 0x6c, 0x4b, 0xa4, 0x7d, 0xe1, 0x75, 0x4d }}
  
  ## This protocol is used to abstract the swap operation of boot block and backup block of boot FV.
  #  Include/Protocol/SwapAddressRange.h
  gEfiSwapAddressRangeProtocolGuid = { 0x1259F60D, 0xB754, 0x468E, { 0xA7, 0x89, 0x4D, 0xB8, 0x5D, 0x55, 0xE8, 0x7E }}
  
  ## This protocol is used to abstract the swap operation of boot block and backup block of boot FV in SMM environment.
  #  Include/Protocol/SmmSwapAddressRange.h
  gEfiSmmSwapAddressRangeProtocolGuid = { 0x67c4f112, 0x3385, 0x4e55, { 0x9c, 0x5b, 0xc0, 0x5b, 0x71, 0x7c, 0x42, 0x28 }}
  
  ## This protocol is intended for use as a means to store data in the EFI SMM environment.
  #  Include/Protocol/SmmVariableProtocol.h
  gEfiSmmVariableProtocolGuid = { 0xed32d533, 0x99e6, 0x4209, { 0x9c, 0xc0, 0x2d, 0x72, 0xcd, 0xd9, 0x98, 0xa7 }}

  ## This protocol is similar with DXE FVB protocol and used in the UEFI SMM evvironment.
  #  Include/Protocol/SmmFirmwareVolumeBlock.h
  gEfiSmmFirmwareVolumeBlockProtocolGuid = { 0xd326d041, 0xbd31, 0x4c01, { 0xb5, 0xa8, 0x62, 0x8b, 0xe8, 0x7f, 0x6, 0x53 }}

  ## This protocol allows the error level mask for DEBUG() macros to be adjusted for DXE Phase modules
  # Include/Guid/DebugMask.h  
  gEfiDebugMaskProtocolGuid = { 0x4c8a2451, 0xc207, 0x405b, {0x96, 0x94, 0x99, 0xea, 0x13, 0x25, 0x13, 0x41} }

  ## Include/Protocol/LockBox.h
  gEfiLockBoxProtocolGuid        = { 0xbd445d79, 0xb7ad, 0x4f04, { 0x9a, 0xd8, 0x29, 0xbd, 0x20, 0x40, 0xeb, 0x3c }}
  
  ## Include/Protocol/FormBrowserEx.h
  gEfiFormBrowserExProtocolGuid = { 0x1f73b18d, 0x4630, 0x43c1, { 0xa1, 0xde, 0x6f, 0x80, 0x85, 0x5d, 0x7d, 0xa4 } }

  ## Include/Protocol/EbcVmTest.h
  gEfiEbcVmTestProtocolGuid = { 0xAAEACCFD, 0xF27B, 0x4C17, { 0xB6, 0x10, 0x75, 0xCA, 0x1F, 0x2D, 0xFB, 0x52 } }

  ## Include/Protocol/EbcSimpleDebugger.h
  gEfiEbcSimpleDebuggerProtocolGuid = { 0x2a72d11e, 0x7376, 0x40f6, { 0x9c, 0x68, 0x23, 0xfa, 0x2f, 0xe3, 0x63, 0xf1 } }

  ## Include/Protocol/BootLogo.h
  gEfiBootLogoProtocolGuid = { 0xcdea2bd3, 0xfc25, 0x4c1c, { 0xb9, 0x7c, 0xb3, 0x11, 0x86, 0x6, 0x49, 0x90 } }

[PcdsFeatureFlag]
  ## Indicate whether platform can support update capsule across a system reset
  gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|FALSE|BOOLEAN|0x0001001d

  ## This feature flag can be used to enable or disable all PCD PEIM services.
  #  If TRUE, all PCD PPI services will be produced.
  #  If FALSE, the minimal PCD PEIM services (only GetService) will be produced.
  gEfiMdeModulePkgTokenSpaceGuid.PcdPeiFullPcdDatabaseEnable|TRUE|BOOLEAN|0x00010020

  ## If TRUE, then the Device Path To Text Protocol should be produced by the platform.
  #  It can be disabled to save size.
  gEfiMdeModulePkgTokenSpaceGuid.PcdDevicePathSupportDevicePathToText|TRUE|BOOLEAN|0x00010037

  ## If TRUE, then the Device Path From Text Protocol should be produced by the platform.
  #  It can be disabled to save size.
  gEfiMdeModulePkgTokenSpaceGuid.PcdDevicePathSupportDevicePathFromText|TRUE|BOOLEAN|0x00010038

  ## If TRUE, enable the statistic functionality about variable usage. Such information is
  #  stored as a vendor configuration table into the EFI system table.
  #  If user wants to use VariableInfo application in MdeModulePkg\Application directory to get
  #  variable usage info, this pcd should be set as TRUE. Otherwise VariableInfo application can
  #  not output useful info.
  gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics|FALSE|BOOLEAN|0x0001003f

  ## If TRUE, Unicode Collation Protocol will be installed.
  gEfiMdeModulePkgTokenSpaceGuid.PcdUnicodeCollationSupport|TRUE|BOOLEAN|0x00010040

  ## If TRUE, Unicode Collation 2 Protocol will be installed.
  gEfiMdeModulePkgTokenSpaceGuid.PcdUnicodeCollation2Support|TRUE|BOOLEAN|0x00010041

  ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.
  #  It could be set FALSE to save size.
  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE|BOOLEAN|0x00010042

  ## If TRUE, UGA Draw Protocol will be installed on virtual handle created by ConsplitterDxe.
  #  It could be set FALSE to save size.
  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|TRUE|BOOLEAN|0x00010043

  ## If TRUE, when PeiCore dispatches a PEI module, PeiCore will first search TE section from this PEIM to load the image.
  #  If TE section is not found, then PeiCore will search PE section.
  #  If FALSE, PeiCore will first search PE section from PEIM to load the image.
  #  This PCD is used to tune Pei phase performance to reduce the search image time.
  #  It can be set according to the generated image section type.
  gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreImageLoaderSearchTeSectionFirst|TRUE|BOOLEAN|0x00010044

  ## If TRUE, force to switch off the support of legacy usb. So legacy usb device driver can not make use of SMI
  #  interrupt to access usb device in the case of absence of usb stack. 
  #  DUET platform requires the token to be TRUE.
  gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|FALSE|BOOLEAN|0x00010047
  
  ## If TRUE, HiiImageProtocol will be installed.
  #  FALSE is for size reduction.
  gEfiMdeModulePkgTokenSpaceGuid.PcdSupportHiiImageProtocol|TRUE|BOOLEAN|0x00010100

  ## If TRUE, USB KeyBoard Driver disables the default keyboard layout.
  #  The default keyboard layout serves as the backup when no keyboard layout can be retrieved
  #  from HII database.
  gEfiMdeModulePkgTokenSpaceGuid.PcdDisableDefaultKeyboardLayoutInUsbKbDriver|FALSE|BOOLEAN|0x00010200

  ## If TRUE, Setup Browser supports GUID opcodes generated from Framework HII VFR file by VFR compiler.
  #  If TRUE, the PeiCore will handle the framework FvHob and install FvInfo PPI for it.
  #  This is used to provide backward compatibility support to Framework HII and Framework FvHob.
  gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport|FALSE|BOOLEAN|0x00012009

  ## If TRUE, HelloWorld Application will print the verbose information.
  #  This PCD is a sample to explain FeatureFlag PCD usage.
  gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintEnable|TRUE|BOOLEAN|0x0001200a

  ## If TRUE, FULL FTW protocol services (total six APIs) will be produced.
  #  If FASLE, only FTW Write service is available.
  gEfiMdeModulePkgTokenSpaceGuid.PcdFullFtwServiceEnable|TRUE|BOOLEAN|0x0001200b

  ## If TRUE, DXE IPL must support the UEFI decompression algorithm.
  #  If FALSE, DXE IPL will not support UEFI decompression to save space.
  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress|TRUE|BOOLEAN|0x0001200c

  ## This PCD specifies whether PciBus supports the hot plug device.
  gEfiMdeModulePkgTokenSpaceGuid.PcdPciBusHotplugDeviceSupport|TRUE|BOOLEAN|0x0001003d

  ## This PCD specifies whether the PCI bus driver probes non-standard, 
  #  such as 2K/1K/512, granularity for PCI to PCI bridge I/O window.
  gEfiMdeModulePkgTokenSpaceGuid.PcdPciBridgeIoAlignmentProbe|FALSE|BOOLEAN|0x0001004e
  ## This PCD specifies whether StatusCode is reported via Serial port.
  gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE|BOOLEAN|0x00010022

  ## This PCD specifies whether StatusCode is stored in memory.
  #  The memory is boot time memory in PEI Phase and is runtime memory in DXE Phase.
  gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE|BOOLEAN|0x00010023

  ## This PCD specifies whether Peiphase StatusCode is replayed in DxePhase.
  gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeReplayIn|FALSE|BOOLEAN|0x0001002d

  ## This PCD specified whether ACPI SDT protocol is installed.
  gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|FALSE|BOOLEAN|0x0001004d

  ## If TRUE, then unaligned I/O, MMIO, and PCI Configuration cycles through the PCI I/O Protocol are enabled.
  #  If FALSE, then unaligned I/O, MMIO, and PCI Configuration cycles through the PCI I/O Protocol are disabled.
  #  The default value for this PCD is to disable support for unaligned PCI I/O Protocol requests.
  gEfiMdeModulePkgTokenSpaceGuid.PcdUnalignedPciIoEnable|FALSE|BOOLEAN|0x0001003e

  ## This PCD specifies whether TEXT statement is always set to GrayOut statement in HII Form Browser.
  #  If TRUE,  TEXT statement will always be set to GrayOut.
  #  If FALSE, TEXT statement will be set to GrayOut only when GrayOut condition is TRUE.
  gEfiMdeModulePkgTokenSpaceGuid.PcdBrowserGrayOutTextStatement|FALSE|BOOLEAN|0x0001004f
  
  ## If TRUE, recovery from IDE disk will be supported.
  gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnIdeDisk|TRUE|BOOLEAN|0x00010060

  ## If TRUE, recovery from FAT floppy disk will be supported.
  gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnFatFloppyDisk|TRUE|BOOLEAN|0x00010061

  ## If TRUE, recovery from data CD will be supported.
  gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnDataCD|TRUE|BOOLEAN|0x00010062

  ## If TRUE, recovery from FAT USB disk will be supported.
  gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnFatUsbDisk|TRUE|BOOLEAN|0x00010063

  ## If TRUE, S3 performance data will be supported in ACPI FPDT table.
  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwarePerformanceDataTableS3Support|TRUE|BOOLEAN|0x00010064

[PcdsFeatureFlag.IA32, PcdsFeatureFlag.X64]
  ##
  # This feature flag specifies whether DxeIpl switches to long mode to enter DXE phase.
  # If it is TRUE, DxeIpl will load a 64-bit DxeCore and switch to long mode to hand over to DxeCore;
  # otherwise, DxeIpl will load a 32-bit DxeCore and perform stack switch to hand over to DxeCore.
  # It is assumed that 64-bit DxeCore is built in firmware if it is true; otherwise 32-bit DxeCore
  # is built in firmware.
  #
  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|TRUE|BOOLEAN|0x0001003b

  ##
  # This feature flag specifies whether DxeIpl should rebuild page tables. This flag only
  # makes sense in the case where the DxeIpl and the DxeCore are both X64.
  #
  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables|TRUE|BOOLEAN|0x0001003c

[PcdsFixedAtBuild]
  ## Dynamic type PCD can be registered callback function for Pcd setting action.
  #  PcdMaxPeiPcdCallBackNumberPerPcdEntry indicate maximum number of callback function
  #  for a dynamic PCD used in PEI phase.
  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPcdCallBackNumberPerPcdEntry|0x08|UINT32|0x0001000f

  ## VPD type PCD allow developer point an absoluted physical address PcdVpdBaseAddress
  #  to store PCD value.
  #
  gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0|UINT32|0x00010010

  ## Maximum number of FV is supported by PeiCore's dispatching.
  gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxFvSupported|6|UINT32|0x00010030

  ## Maximum PEIM count in every FV is supported by PeiCore's dispatching.
  gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeimPerFv|32|UINT32|0x00010031

  ## Maximum stack size for PeiCore.
  gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeiStackSize|0x20000|UINT32|0x00010032

  ## Maximum PPI count is supported by PeiCore's PPI database.
  gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPpiSupported|64|UINT32|0x00010033

  ## Size of the NV variable range. Note that this value should less than or equal to PcdFlashNvStorageFtwSpareSize
  #  The root cause is that variable driver will use FTW protocol to reclaim variable region.
  #  If the length of variable region is larger than FTW spare size, it means the whole variable region can not
  #  be reflushed through the manner of fault tolerant write.
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x0|UINT32|0x30000002

  ## The maximum size of single common variable, that is non-HwErr type varible.
  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x400|UINT32|0x30000003

  ## The maximum size of single hardware error record variable.
  # In IA32/X64 platforms, this value should be larger than 1KB.
  # In IA64 platforms, this value should be larger than 128KB.
  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000|UINT32|0x30000004

  ## The size of reserved HwErr variable space. Note that this value must be less than or equal to PcdFlashNvStorageVariableSize
  # In EdkII implementation, HwErr type variable is stored with common non-volatile variables in the same NV region.
  # so the platform integrator should ensure this value is less than or equal to PcdFlashNvStorageVariableSize.
  # this value is used to guarantee the space of HwErr type variable and not populated by common variable.
  gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize|0x0000|UINT32|0x30000006

  ## The size of volatile buffer. This buffer is used to store VOLATILE attribute variable.
  gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x10000|UINT32|0x30000005

  ## Size of the FTW spare block range. Note that this value should larger than PcdFlashNvStorageVariableSize
  # The root cause is that variable driver will use FTW protocol to reclaim variable region.
  # If the length of variable region is larger than FTW spare size, it means the whole variable region can not
  # be reflushed through the manner of fault tolerant write.
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x0|UINT32|0x30000014

  ## Size of the FTW working block range.
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x0|UINT32|0x30000011

  ## FFS filename to find the ACPI tables
  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiTableStorageFile|{ 0x25, 0x4e, 0x37, 0x7e, 0x01, 0x8e, 0xee, 0x4f, 0x87, 0xf2, 0x39, 0xc, 0x23, 0xc6, 0x6, 0xcd }|VOID*|0x30000016

  ## FFS filename to find the capsule coalesce image.
  gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleCoalesceFile|{ 0xA6, 0xE4, 0xFD, 0xF7, 0x4C, 0x29, 0x3c, 0x49, 0xB5, 0x0F, 0x97, 0x34, 0x55, 0x3B, 0xB7, 0x57 }|VOID*|0x30000017

  ## Single root I/O virtualization virtual function memory BAR alignment
  #  BITN set indicates 2 of n+12 power
  #  BIT0 set indicates 4KB alignment
  #  BIT1 set indicates 8KB alignment
  gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSystemPageSize|0x1|UINT32|0x10000047
  
  ## Flag of enabling/disabling the feature of Loading Module at Fixed Address 
  #  -1: Enable the feature as fixed offset to TOLM
  #   0: Disable the feature.
  #  Positive Value:  Enable the feature as fixed absolute address, and the value is the top memory address 
  gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable|0|UINT64|0x30001015
  
  ## Smbios version
  gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0207|UINT16|0x00010055

  ## TFTP BlockSize. Initial value 0 means using default block size which is (MTU-IP_HEADER-UDP_HEADER-TFTP_HEADER)
  #  to handle all link layers. If the value is non zero, the PCD value will be used as block size.
  #
  gEfiMdeModulePkgTokenSpaceGuid.PcdTftpBlockSize|0x0|UINT64|0x30001026

  ## Progress Code for OS Loader LoadImage start.
  #  PROGRESS_CODE_OS_LOADER_LOAD   = (EFI_SOFTWARE_DXE_BS_DRIVER | (EFI_OEM_SPECIFIC | 0x00000000)) = 0x03058000
  gEfiMdeModulePkgTokenSpaceGuid.PcdProgressCodeOsLoaderLoad|0x03058000|UINT32|0x30001030

  ## Progress Code for OS Loader StartImage start.
  #  PROGRESS_CODE_OS_LOADER_START  = (EFI_SOFTWARE_DXE_BS_DRIVER | (EFI_OEM_SPECIFIC | 0x00000001)) = 0x03058001
  gEfiMdeModulePkgTokenSpaceGuid.PcdProgressCodeOsLoaderStart|0x03058001|UINT32|0x30001031

  ## Progress Code for S3 Suspend start.
  #  PROGRESS_CODE_S3_SUSPEND_START = (EFI_SOFTWARE_SMM_DRIVER | (EFI_OEM_SPECIFIC | 0x00000000))    = 0x03078000
  gEfiMdeModulePkgTokenSpaceGuid.PcdProgressCodeS3SuspendStart|0x03078000|UINT32|0x30001032

  ## Progress Code for S3 Suspend end.
  #  PROGRESS_CODE_S3_SUSPEND_END   = (EFI_SOFTWARE_SMM_DRIVER | (EFI_OEM_SPECIFIC | 0x00000001))    = 0x03078001
  gEfiMdeModulePkgTokenSpaceGuid.PcdProgressCodeS3SuspendEnd|0x03078001|UINT32|0x30001033

[PcdsFixedAtBuild,PcdsPatchableInModule]
  ## Maximun number of performance log entries during PEI phase.
  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries|40|UINT8|0x0001002f

  ## RTC Update Timeout Value
  gEfiMdeModulePkgTokenSpaceGuid.PcdRealTimeClockUpdateTimeout|100000|UINT32|0x00010034

  ## If TRUE, then 16550 serial port registers are in MMIO space.  
  #  If FALSE, then 16550 serial port registers are in I/O space.  Default value.
  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|FALSE|BOOLEAN|0x00020000
  
  ## If TRUE, then the 16550 serial port hardware flow control is enabled.
  #  If FALSE, then the 16550 serial port hardware flow control is disabled.  Default value.
  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseHardwareFlowControl|FALSE|BOOLEAN|0x00020001

  ## If TRUE, then 16550 serial Tx operations will block if DSR is not asserted (no cable).
  #  If FALSE, then the 16550 serial Tx operations will not be blocked if DSR is not asserted. Default value.
  #  This PCD is ignored if PcdSerialUseHardwareFlowControl is FALSE.
  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialDetectCable|FALSE|BOOLEAN|0x00020006
    
  ## Base address of 16550 serial port registers in MMIO or I/O space.  Default is 0x3F8.
  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x03F8|UINT64|0x00020002

  ## Baud rate for the 16550 serial port.  Default is 115200 baud.
  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialBaudRate|115200|UINT32|0x00020003

  ## Line Control Register (LCR) for the 16550 serial port.  This encodes data bits, parity, and stop bits.  
  #    BIT1..BIT0 - Data bits.  00b = 5 bits, 01b = 6 bits, 10b = 7 bits, 11b = 8 bits
  #    BIT2       - Stop Bits.  0 = 1 stop bit.  1 = 1.5 stop bits if 5 data bits selected, otherwise 2 stop bits.
  #    BIT5..BIT2 - Parity.  xx0b = No Parity, 001b = Odd Parity, 011b = Even Parity, 101b = Mark Parity, 111b=Stick Parity
  #    BIT7..BIT6 - Reserved.  Must be 0.
  #
  # Default is No Parity, 8 Data Bits, 1 Stop Bit.
  #
  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialLineControl|0x03|UINT8|0x00020004

  ## FIFO Control Register (FCR) for the 16550 serial port.   
  #    BIT0       - FIFO Enable.  0 = Disable FIFOs.  1 = Enable FIFOs.
  #    BIT1       - Clear receive FIFO.  1 = Clear FIFO.
  #    BIT2       - Clear transmit FIFO.  1 = Clear FIFO.
  #    BIT4..BIT3 - Reserved.  Must be 0.
  #    BIT5       - Enable 64-byte FIFO.  0 = Disable 64-byte FIFO.  1 = Enable 64-byte FIFO
  #    BIT7..BIT6 - Reserved.  Must be 0.
  #
  # Default is to enable and clear all FIFOs.
  #
  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl|0x07|UINT8|0x00020005

  ## Maximum address that the DXE Core will allocate the EFI_SYSTEM_TABLE_POINTER
  #  structure.  The default value for this PCD is 0, which means that the DXE Core
  #  will allocate the buffer from the EFI_SYSTEM_TABLE_POINTER structure on a 4MB
  #  boundary as close to the top of memory as feasible.  If this PCD is set to a 
  #  value other than 0, then the DXE Core will first attempt to allocate the 
  #  EFI_SYSTEM_TABLE_POINTER structure on a 4MB boundary below the address specified
  #  by this PCD, and if that allocation fails, retry the allocation on a 4MB
  #  boundary as close to the top of memory as feasible.
  #
  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxEfiSystemTablePointerAddress|0x0|UINT64|0x30001027
  
[PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
  ## This PCD defines the Console output column and the default value is 25 according to UEFI spec.
  #  This PCD could be set to 0 then console output could be at max column and max row.
  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|25|UINT32|0x40000006

  ## This PCD defines the Console output row and the default value is 80 according to UEFI spec.
  #  This PCD could be set to 0 then console output could be at max column and max row.
  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|80|UINT32|0x40000007

  ## This PCD defines the video horizontal resolution.
  #  This PCD could be set to 0 then video resolution could be at highest resolution.
  gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800|UINT32|0x40000009

  ## This PCD defines the video vertical resolution.
  #  This PCD could be set to 0 then video resolution could be at highest resolution.
  gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600|UINT32|0x4000000a

[PcdsFixedAtBuild, PcdsDynamic, PcdsDynamicEx]
  ## Base address of the NV variable range in flash device
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x0|UINT32|0x30000001

  ## Base address of the FTW spare block range in flash device.
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x0|UINT32|0x30000013

  ## Base address of the FTW working block range in flash device.
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x0|UINT32|0x30000010

  ## 64-bit Base address of the NV variable range in flash device
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0x0|UINT64|0x80000001

  ## 64-bit Base address of the FTW spare block range in flash device.
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0x0|UINT64|0x80000013

  ## 64-bit Base address of the FTW working block range in flash device.
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0x0|UINT64|0x80000010

  ## This PCD defines the print string.
  #  This PCD is a sample to explain String typed PCD usage.
  gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintString|L"UEFI Hello World!\n"|VOID*|0x40000004

  ## This PCD defines a reserved memory range for the EMU Variable driver's NV Variable Store
  #  The range is valid if non-zero.  The memory range size must be PcdVariableStoreSize.
  gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0|UINT64|0x40000008

  ## This PCD specifies whether the Single Root I/O virtualization support.
  gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSupport|TRUE|BOOLEAN|0x10000044

  ## This PCD specifies whether the Alternative Routing-ID support.
  gEfiMdeModulePkgTokenSpaceGuid.PcdAriSupport|TRUE|BOOLEAN|0x10000045

  ## This PCD specifies whether the Multi Root I/O virtualization support.
  gEfiMdeModulePkgTokenSpaceGuid.PcdMrIovSupport|FALSE|BOOLEAN|0x10000046

[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
  ## This PCD defines the times to print hello world string.
  #  This PCD is a sample to explain FixedAtBuild UINT32 PCD usage.
  gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintTimes|1|UINT32|0x40000005

  ## Indicate the max size of the capsule image with reset flag that the platform can support.
  #  The default max size is 100MB (0x6400000) for more than one large capsule images.
  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizePopulateCapsule|0x6400000|UINT32|0x0001001e

  ## Indicate the max size of the capsule image without reset flag that the platform can support.
  #  The default max size is 10MB (0xa00000) for the casule image without reset flag setting.
  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizeNonPopulateCapsule|0xa00000|UINT32|0x0001001f

  ## Null-terminated Unicode string of the firmware vendor name that is default name filled into the EFI System Table
  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor|L"EDK II"|VOID*|0x00010050

  ## Firmware revision that is default value filled into the EFI System Table
  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareRevision|0x00010000|UINT32|0x00010051

  ## Null-terminated Unicode string that described the firmware version
  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L""|VOID*|0x00010052

  ## Null-terminated Unicode string that contains the date the formware was released
  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareReleaseDateString|L""|VOID*|0x00010053

  ## PcdStatusCodeMemorySize is used when PcdStatusCodeUseMemory is set to true
  #  (PcdStatusCodeMemorySize * KBytes) is the total taken memory size.
  #  The default value in PeiPhase is 1 KBytes.
  #  The default value in DxePhase is 128 KBytes.
  gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1|UINT16|0x00010054

  ## This PCD specifies whether to reset system when memory type information changes.
  gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|TRUE|BOOLEAN|0x00010056

  ## Specify the foreground color for Subtile text in HII Form Browser. The default value is EFI_BLUE.
  #  Only following values defined in UEFI specification are valid:
  #  0x00 (EFI_BLACK)
  #  0x01 (EFI_BLUE)
  #  0x02 (EFI_GREEN)
  #  0x03 (EFI_CYAN)
  #  0x04 (EFI_RED)
  #  0x05 (EFI_MAGENTA)
  #  0x06 (EFI_BROWN)
  #  0x07 (EFI_LIGHTGRAY)
  #  0x08 (EFI_DARKGRAY) 
  #  0x09 (EFI_LIGHTBLUE)
  #  0x0A (EFI_LIGHTGREEN)
  #  0x0B (EFI_LIGHTCYAN)
  #  0x0C (EFI_LIGHTRED)
  #  0x0D (EFI_LIGHTMAGENTA)
  #  0x0E (EFI_YELLOW)
  #  0x0F (EFI_WHITE)
  gEfiMdeModulePkgTokenSpaceGuid.PcdBrowserSubtitleTextColor|0x01|UINT8|0x00010057
  
  ## Specify the foreground color for prompt and Question value text in HII Form Browser. The default value is EFI_BLACK.
  #  Only following values defined in UEFI specification are valid:
  #  0x00 (EFI_BLACK)
  #  0x01 (EFI_BLUE)
  #  0x02 (EFI_GREEN)
  #  0x03 (EFI_CYAN)
  #  0x04 (EFI_RED)
  #  0x05 (EFI_MAGENTA)
  #  0x06 (EFI_BROWN)
  #  0x07 (EFI_LIGHTGRAY)
  #  0x08 (EFI_DARKGRAY) 
  #  0x09 (EFI_LIGHTBLUE)
  #  0x0A (EFI_LIGHTGREEN)
  #  0x0B (EFI_LIGHTCYAN)
  #  0x0C (EFI_LIGHTRED)
  #  0x0D (EFI_LIGHTMAGENTA)
  #  0x0E (EFI_YELLOW)
  #  0x0F (EFI_WHITE)
  gEfiMdeModulePkgTokenSpaceGuid.PcdBrowserFieldTextColor|0x00|UINT8|0x00010058
  
  ## Specify the foreground color for highlighted prompt and Question value text in HII Form Browser.
  #  The default value is EFI_LIGHTGRAY. Only following values defined in UEFI specification are valid:
  #  0x00 (EFI_BLACK)
  #  0x01 (EFI_BLUE)
  #  0x02 (EFI_GREEN)
  #  0x03 (EFI_CYAN)
  #  0x04 (EFI_RED)
  #  0x05 (EFI_MAGENTA)
  #  0x06 (EFI_BROWN)
  #  0x07 (EFI_LIGHTGRAY)
  #  0x08 (EFI_DARKGRAY) 
  #  0x09 (EFI_LIGHTBLUE)
  #  0x0A (EFI_LIGHTGREEN)
  #  0x0B (EFI_LIGHTCYAN)
  #  0x0C (EFI_LIGHTRED)
  #  0x0D (EFI_LIGHTMAGENTA)
  #  0x0E (EFI_YELLOW)
  #  0x0F (EFI_WHITE)
  gEfiMdeModulePkgTokenSpaceGuid.PcdBrowserFieldTextHighlightColor|0x07|UINT8|0x00010059
  
  ## Specify the background color for highlighted prompt and Question value text in HII Form Browser.
  #  The default value is EFI_BACKGROUND_BLACK. Only following values defined in UEFI specification are valid:
  #  0x00 (EFI_BACKGROUND_BLACK)
  #  0x10 (EFI_BACKGROUND_BLUE)
  #  0x20 (EFI_BACKGROUND_GREEN)
  #  0x30 (EFI_BACKGROUND_CYAN)
  #  0x40 (EFI_BACKGROUND_RED)
  #  0x50 (EFI_BACKGROUND_MAGENTA)
  #  0x60 (EFI_BACKGROUND_BROWN)
  #  0x70 (EFI_BACKGROUND_LIGHTGRAY)
  gEfiMdeModulePkgTokenSpaceGuid.PcdBrowserFieldBackgroundHighlightColor|0x00|UINT8|0x0001005A

  ## Time in second to delay for SATA devices to spin-up for recovery.
  gEfiMdeModulePkgTokenSpaceGuid.PcdSataSpinUpDelayInSecForRecoveryPath|15|UINT16|0x0001005B

  ## The PCD is used to specify memory size with page number for a pre-allocated ACPI NVS memory to hold
  #  runtime created S3 boot script entries. The default page number is 2. When changing the value of this
  #  PCD, the platform developer should make sure the memory size is large enough to hold the S3 boot
  #  script node created in runtime phase.
  gEfiMdeModulePkgTokenSpaceGuid.PcdS3BootScriptRuntimeTableReservePageNumber|0x2|UINT16|0x0001005C

  ## The PCD is used to specify the stack size when capsule IA32 PEI transfers to long mode in PEI phase.
  #  The default size 32K. When changing the value of this PCD, the platform developer should
  #  make sure the memory size is large enough to meet capsule PEI requiremnt in capsule update path.
  gEfiMdeModulePkgTokenSpaceGuid.PcdCapsulePeiLongModeStackSize|0x8000|UINT32|0x0001005D

  ## This PCD specifies whether 1G page table is enabled.
  gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable|FALSE|BOOLEAN|0x0001005E

[PcdsPatchableInModule]
  ## Specify  memory size with page number for PEI code when 
  #  the feature of Loading Module at Fixed Address is enabled
  ## This PCD specifies the additional pad size in FPDT Basic Boot Performance Table for 
  #  the extension FPDT boot records got after ReadyToBoot and before ExitBootService.
  gEfiMdeModulePkgTokenSpaceGuid.PcdExtFpdtBootRecordPadSize|0x0|UINT32|0x0001005F

  gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressPeiCodePageNumber|0|UINT32|0x00000029
  
  ## Specify  memory size with page number for DXE boot time code when 
  #  the feature of Loading Module at Fixed Address is enabled
  gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressBootTimeCodePageNumber|0|UINT32|0x0000002a
  
  ## Specify  memory size with page number for DXE runtime code when 
  #  the feature of Loading Module at Fixed Address is enabled
  gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressRuntimeCodePageNumber|0|UINT32|0x0000002b
 
  ## Specify  memory size with page number for SMM code when 
  #  the feature of Loading Module at Fixed Address is enabled
  gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressSmmCodePageNumber|0|UINT32|0x0000002c

[PcdsDynamic, PcdsDynamicEx]
  ## This dynamic PCD hold an address to point to private data structure used in DxeS3BootScriptLib library
  #  instance which records the S3 boot script table start address, length, etc. To introduce this PCD is
  #  only for DxeS3BootScriptLib instance implementation purpose. The platform developer should make sure the
  #  default value is set to Zero. And the PCD is assumed ONLY to be accessed in DxeS3BootScriptLib Library.
  gEfiMdeModulePkgTokenSpaceGuid.PcdS3BootScriptTablePrivateDataPtr|0x0|UINT64|0x00030000