EmulatorPkg.dec 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. ## @file
  2. #
  3. # This is the Emu Emulation Environment Platform
  4. #
  5. # Copyright (c) 2008 - 2022, Intel Corporation. All rights reserved.<BR>
  6. # Portions copyright (c) 2011, Apple Inc. All rights reserved.
  7. # (C) Copyright 2020 Hewlett Packard Enterprise Development LP<BR>
  8. #
  9. # SPDX-License-Identifier: BSD-2-Clause-Patent
  10. #
  11. ##
  12. [Defines]
  13. DEC_SPECIFICATION = 0x00010005
  14. PACKAGE_NAME = EmulatorPkg
  15. PACKAGE_GUID = 36E48BD7-7D92-5A47-A2CD-513F072E3300
  16. PACKAGE_VERSION = 0.1
  17. [Includes]
  18. Include
  19. [LibraryClasses]
  20. ThunkPpiList|Include/Library/ThunkPpiList.h
  21. ThunkProtocolList|Include/Library/ThunkProtocolList.h
  22. EmuThunkLib|Include/Library/EmuThunkLib.h
  23. KeyMap|Include/Library/KeyMapLib.h
  24. PpiListLib|Include/Library/PpiListLib.h
  25. SmbiosLib|Include/Library/SmbiosLib.h
  26. EmuMagicPageLib|Include/Library/EmuMagicPageLib.h
  27. [Protocols]
  28. gEmuThunkProtocolGuid = { 0x5CF32E0B, 0x8EDF, 0x2E44, { 0x9C, 0xDA, 0x93, 0x20, 0x5E, 0x99, 0xEC, 0x1C } }
  29. gEmuIoThunkProtocolGuid = { 0x453368F6, 0x7C85, 0x434A, { 0xA9, 0x8A, 0x72, 0xD1, 0xB7, 0xFF, 0xA9, 0x26 } }
  30. gEmuGraphicsWindowProtocolGuid = { 0x30FD316A, 0x6728, 0x2E41, { 0xA6, 0x90, 0x0D, 0x13, 0x33, 0xD8, 0xCA, 0xC1 } }
  31. gEmuThreadThunkProtocolGuid = { 0x3B1E4B7C, 0x09D8, 0x944F, { 0xA4, 0x08, 0x13, 0x09, 0xEB, 0x8B, 0x44, 0x27 } }
  32. gEmuBlockIoProtocolGuid = { 0x6888A4AE, 0xAFCE, 0xE84B, { 0x91, 0x02, 0xF7, 0xB9, 0xDA, 0xE6, 0xA0, 0x30 } }
  33. gEmuSnpProtocolGuid = { 0xFD5FBE54, 0x8C35, 0xB345, { 0x8A, 0x0F, 0x7A, 0xC8, 0xA5, 0xFD, 0x05, 0x21 } }
  34. [Ppis]
  35. gEmuThunkPpiGuid = { 0xE113F896, 0x75CF, 0xF640, { 0x81, 0x7F, 0xC8, 0x5A, 0x79, 0xE8, 0xAE, 0x67 } }
  36. [Guids]
  37. gEmulatorPkgTokenSpaceGuid = { 0x4F792E68, 0xE8C8, 0x794E, { 0xB1, 0xD8, 0x37, 0x03, 0xF3, 0xF2, 0xD5, 0xA5 } }
  38. gEmuSystemConfigGuid = { 0xF8626165, 0x6CEB, 0x924A, { 0xBA, 0xFC, 0xF1, 0x3A, 0xB9, 0xD6, 0x57, 0x28 } }
  39. gEmuVirtualDisksGuid = { 0xf2ba331a, 0x8985, 0x11db, { 0xa4, 0x06, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } }
  40. gEmuPhysicalDisksGuid = { 0xf2bdcc96, 0x8985, 0x11db, { 0x87, 0x19, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } }
  41. gEmuRedfishServiceGuid = { 0x3fb208ac, 0x2185, 0x498c, { 0xbf, 0x46, 0xdc, 0x23, 0xda, 0x58, 0x7b, 0x55 } }
  42. [PcdsFeatureFlag]
  43. ## If TRUE, if symbols only load on breakpoints and gdb entry
  44. gEmulatorPkgTokenSpaceGuid.PcdEmulatorLazyLoadSymbols|TRUE|BOOLEAN|0x00020000
  45. [PcdsFixedAtBuild]
  46. gEmulatorPkgTokenSpaceGuid.PcdEmuFlashNvStorageVariableBase|0x0|UINT64|0x00001014
  47. gEmulatorPkgTokenSpaceGuid.PcdEmuFlashNvStorageFtwSpareBase|0x0|UINT64|0x00001015
  48. gEmulatorPkgTokenSpaceGuid.PcdEmuFlashNvStorageFtwWorkingBase|0x0|UINT64|0x00001016
  49. gEmulatorPkgTokenSpaceGuid.PcdEmuFdBaseAddress|0x0|UINT64|0x00001017
  50. gEmulatorPkgTokenSpaceGuid.PcdEmuFlashNvStorageEventLogBase|0x0|UINT64|0x0000100e
  51. gEmulatorPkgTokenSpaceGuid.PcdEmuFlashNvStorageEventLogSize|0x0|UINT32|0x0000100f
  52. gEmulatorPkgTokenSpaceGuid.PcdEmuFlashFvRecoveryBase|0x0|UINT64|0x00001010
  53. gEmulatorPkgTokenSpaceGuid.PcdEmuFlashFvRecoverySize|0x0|UINT32|0x00001011
  54. gEmulatorPkgTokenSpaceGuid.PcdEmuFirmwareFdSize|0x0|UINT32|0x00001012
  55. gEmulatorPkgTokenSpaceGuid.PcdEmuFirmwareBlockSize|0|UINT32|0x00001013
  56. ## Number of Application Processors (APs) in the system 0 means Uniprocessor mode
  57. gEmulatorPkgTokenSpaceGuid.PcdEmuApCount|L"0"|VOID*|0x00001019
  58. ## Magic page to implement PEI Services Table Pointer Lib
  59. gEmulatorPkgTokenSpaceGuid.PcdPeiServicesTablePage|0x1013000000|UINT64|0x0000101b
  60. ## Size of the packet filter
  61. gEmulatorPkgTokenSpaceGuid.PcdNetworkPacketFilterSize|524288|UINT32|0x0000101c
  62. ## Platform level Redfish Service control PCD
  63. # These PCDs are used to stop the Redfish sevice when secure boot is disabled
  64. # or exit boot service.
  65. gEmulatorPkgTokenSpaceGuid.PcdRedfishServieStopIfSecureBootDisabled|TRUE|BOOLEAN|0x00001020
  66. gEmulatorPkgTokenSpaceGuid.PcdRedfishServieStopIfExitbootService|TRUE|BOOLEAN|0x00001021
  67. ##
  68. # edk2 Redfish implementation on Emulator package is designed to access
  69. # to Redfish simulator.
  70. # https://github.com/DMTF/Redfish-Profile-Simulator
  71. # The user ID and password are fixed as below.
  72. gEmulatorPkgTokenSpaceGuid.PcdRedfishServieUserId|"admin"|VOID*|0x00001022
  73. gEmulatorPkgTokenSpaceGuid.PcdRedfishServiePassword|"pwd123456"|VOID*|0x00001023
  74. gEmulatorPkgTokenSpaceGuid.PcdPersistentMemorySize|0x4000000|UINT32|0x00001024
  75. [PcdsFixedAtBuild, PcdsPatchableInModule]
  76. gEmulatorPkgTokenSpaceGuid.PcdEmuBootMode|1|UINT32|0x00001006
  77. gEmulatorPkgTokenSpaceGuid.PcdEmuFirmwareVolume|L"..\\Fv\\Fv_Recovery.fd"|VOID*|0x00001009
  78. gEmulatorPkgTokenSpaceGuid.PcdEmuMemorySize|L"64!64"|VOID*|0x0000100c
  79. #
  80. # filename[:[R|F][O|W]][:BlockSize]
  81. # filename can be a device node, like /dev/disk1
  82. # R - Removable Media F - Fixed Media
  83. # O - Write protected W - Writable
  84. # Default is Fixed Media, Writable
  85. # For a file the default BlockSize is 512, and can be overridden via BlockSize,
  86. # for example 2048 for an ISO CD image. The block size for a device comes from
  87. # the device and is not configurable.
  88. # Device Size comes from file or device.
  89. # On Mac OS X you can use Disk Utility to create .dmg files and mount them like disks
  90. gEmulatorPkgTokenSpaceGuid.PcdEmuVirtualDisk|L"disk.dmg:FW"|VOID*|0x00001001
  91. gEmulatorPkgTokenSpaceGuid.PcdEmuGop|L"GOP Window"|VOID*|0x00001018
  92. gEmulatorPkgTokenSpaceGuid.PcdEmuFileSystem|L"."|VOID*|0x00001004
  93. gEmulatorPkgTokenSpaceGuid.PcdEmuSerialPort|L"/dev/ttyS0"|VOID*|0x00001002
  94. #
  95. # On Unix host, this is the network interface name on host system that will
  96. # be used in UEFI.
  97. # On Win host, this is the network interface index number on Windows that
  98. # will be used in UEFI. For example, string L"0" is the first network
  99. # interface.
  100. gEmulatorPkgTokenSpaceGuid.PcdEmuNetworkInterface|L"en0"|VOID*|0x0000100d
  101. gEmulatorPkgTokenSpaceGuid.PcdEmuCpuModel|L"Intel(R) Processor Model"|VOID*|0x00001007
  102. gEmulatorPkgTokenSpaceGuid.PcdEmuCpuSpeed|L"3000"|VOID*|0x00001008
  103. gEmulatorPkgTokenSpaceGuid.PcdEmuMpServicesPollingInterval|0x100|UINT64|0x0000101a