]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/OvmfPkg.dec
OvmfPkg/CpuHotplugSmm: introduce skeleton for CPU Hotplug SMM driver
[mirror_edk2.git] / OvmfPkg / OvmfPkg.dec
index 59eda563a2718ecdac2fd3e8cfe0d9d7436f31b6..43d16372a27064d473eda760f78c993a236aa737 100644 (file)
@@ -15,6 +15,7 @@
 \r
 [Includes]\r
   Include\r
+  Csm/Include\r
 \r
 [LibraryClasses]\r
   ##  @libraryclass  Loads and boots a Linux kernel image\r
   #\r
   XenIoMmioLib|Include/Library/XenIoMmioLib.h\r
 \r
+  ##  @libraryclass  Get information about Xen\r
+  #\r
+  XenPlatformLib|Include/Library/XenPlatformLib.h\r
+\r
 [Guids]\r
   gUefiOvmfPkgTokenSpaceGuid          = {0x93bb96af, 0xb9f2, 0x4eb8, {0x94, 0x62, 0xe0, 0xba, 0x74, 0x56, 0x42, 0x36}}\r
   gEfiXenInfoGuid                     = {0xd3b46f3b, 0xd441, 0x1244, {0x9a, 0x12, 0x0, 0x12, 0x27, 0x3f, 0xc1, 0x4d}}\r
   gMicrosoftVendorGuid                = {0x77fa9abd, 0x0359, 0x4d32, {0xbd, 0x60, 0x28, 0xf4, 0xe7, 0x8f, 0x78, 0x4b}}\r
   gEfiLegacyBiosGuid                  = {0x2E3044AC, 0x879F, 0x490F, {0x97, 0x60, 0xBB, 0xDF, 0xAF, 0x69, 0x5F, 0x50}}\r
   gEfiLegacyDevOrderVariableGuid      = {0xa56074db, 0x65fe, 0x45f7, {0xbd, 0x21, 0x2d, 0x2b, 0xdd, 0x8e, 0x96, 0x52}}\r
+  gLinuxEfiInitrdMediaGuid            = {0x5568e427, 0x68fc, 0x4f3d, {0xac, 0x74, 0xca, 0x55, 0x52, 0x31, 0xcc, 0x68}}\r
+\r
+[Ppis]\r
+  # PPI whose presence in the PPI database signals that the TPM base address\r
+  # has been discovered and recorded\r
+  gOvmfTpmDiscoveredPpiGuid           = {0xb9a61ad0, 0x2802, 0x41f3, {0xb5, 0x13, 0x96, 0x51, 0xce, 0x6b, 0xd5, 0x75}}\r
 \r
 [Protocols]\r
   gVirtioDeviceProtocolGuid           = {0xfa920010, 0x6785, 0x4941, {0xb6, 0xec, 0x49, 0x8c, 0x57, 0x9f, 0x16, 0x0a}}\r
   #  For the corresponding bits, 0 = Edge triggered and 1 = Level triggered.\r
   gUefiOvmfPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel|0x0000|UINT16|0x5\r
 \r
+  ## Indicates if BiosVideo driver will switch to 80x25 Text VGA Mode when\r
+  #  exiting boot service.\r
+  #   TRUE  - Switch to Text VGA Mode.\r
+  #   FALSE - Does not switch to Text VGA Mode.\r
+  gUefiOvmfPkgTokenSpaceGuid.PcdBiosVideoSetTextVgaModeEnable|FALSE|BOOLEAN|0x28\r
+\r
+  ## Indicates if BiosVideo driver will check for VESA BIOS Extension service\r
+  #  support.\r
+  #   TRUE  - Check for VESA BIOS Extension service.\r
+  #   FALSE - Does not check for VESA BIOS Extension service.\r
+  gUefiOvmfPkgTokenSpaceGuid.PcdBiosVideoCheckVbeEnable|TRUE|BOOLEAN|0x29\r
+\r
+  ## Indicates if BiosVideo driver will check for VGA service support.\r
+  #  NOTE: If both PcdBiosVideoCheckVbeEnable and PcdBiosVideoCheckVgaEnable\r
+  #  are set to FALSE, that means Graphics Output protocol will not be\r
+  #  installed, the VGA miniport protocol will be installed instead.\r
+  #   TRUE  - Check for VGA service.<BR>\r
+  #   FALSE - Does not check for VGA service.<BR>\r
+  gUefiOvmfPkgTokenSpaceGuid.PcdBiosVideoCheckVgaEnable|TRUE|BOOLEAN|0x2a\r
+\r
+  ## Indicates if memory space for legacy region will be set as cacheable.\r
+  #   TRUE  - Set cachebility for legacy region.\r
+  #   FALSE - Does not set cachebility for legacy region.\r
+  gUefiOvmfPkgTokenSpaceGuid.PcdLegacyBiosCacheLegacyRegion|TRUE|BOOLEAN|0x2b\r
+\r
+  ## Specify memory size with bytes to reserve EBDA below 640K for OPROM.\r
+  #  The value should be a multiple of 4KB.\r
+  gUefiOvmfPkgTokenSpaceGuid.PcdEbdaReservedMemorySize|0x8000|UINT32|0x2c\r
+\r
+  ## Specify memory base address for OPROM to find free memory.\r
+  #  Some OPROMs do not use EBDA or PMM to allocate memory for its usage,\r
+  #  instead they find the memory filled with zero from 0x20000.\r
+  #  The value should be a multiple of 4KB.\r
+  #  The range should be below the EBDA reserved range from\r
+  #  (CONVENTIONAL_MEMORY_TOP - Reserved EBDA Memory Size) to\r
+  #  CONVENTIONAL_MEMORY_TOP.\r
+  gUefiOvmfPkgTokenSpaceGuid.PcdOpromReservedMemoryBase|0x60000|UINT32|0x2d\r
+\r
+  ## Specify memory size with bytes for OPROM to find free memory.\r
+  #  The value should be a multiple of 4KB. And the range should be below the\r
+  #  EBDA reserved range from\r
+  #  (CONVENTIONAL_MEMORY_TOP - Reserved EBDA Memory Size) to\r
+  #  CONVENTIONAL_MEMORY_TOP.\r
+  gUefiOvmfPkgTokenSpaceGuid.PcdOpromReservedMemorySize|0x28000|UINT32|0x2e\r
+\r
+  ## Specify the end of address below 1MB for the OPROM.\r
+  #  The last shadowed OpROM should not exceed this address.\r
+  gUefiOvmfPkgTokenSpaceGuid.PcdEndOpromShadowAddress|0xdffff|UINT32|0x2f\r
+\r
+  ## Specify the low PMM (Post Memory Manager) size with bytes below 1MB.\r
+  #  The value should be a multiple of 4KB.\r
+  # @Prompt Low PMM (Post Memory Manager) Size\r
+  gUefiOvmfPkgTokenSpaceGuid.PcdLowPmmMemorySize|0x10000|UINT32|0x30\r
+\r
+  ## Specify the high PMM (Post Memory Manager) size with bytes above 1MB.\r
+  #  The value should be a multiple of 4KB.\r
+  gUefiOvmfPkgTokenSpaceGuid.PcdHighPmmMemorySize|0x400000|UINT32|0x31\r
+\r
+  gUefiOvmfPkgTokenSpaceGuid.PcdXenPvhStartOfDayStructPtr|0x0|UINT32|0x17\r
+  gUefiOvmfPkgTokenSpaceGuid.PcdXenPvhStartOfDayStructPtrSize|0x0|UINT32|0x32\r
+\r
+  ## Number of page frames to use for storing grant table entries.\r
+  gUefiOvmfPkgTokenSpaceGuid.PcdXenGrantFrames|4|UINT32|0x33\r
+\r
 [PcdsDynamic, PcdsDynamicEx]\r
   gUefiOvmfPkgTokenSpaceGuid.PcdEmuVariableEvent|0|UINT64|2\r
   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashVariablesEnable|FALSE|BOOLEAN|0x10\r
   #  This PCD is only accessed if PcdSmmSmramRequire is TRUE (see below).\r
   gUefiOvmfPkgTokenSpaceGuid.PcdQ35TsegMbytes|8|UINT16|0x20\r
 \r
+  ## Set to TRUE by PlatformPei if the Q35 board supports the "SMRAM at default\r
+  #  SMBASE" feature.\r
+  #\r
+  #  This PCD is only accessed if PcdSmmSmramRequire is TRUE (see below).\r
+  gUefiOvmfPkgTokenSpaceGuid.PcdQ35SmramAtDefaultSmbase|FALSE|BOOLEAN|0x34\r
+\r
 [PcdsFeatureFlag]\r
   gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderPciTranslation|TRUE|BOOLEAN|0x1c\r
   gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderMmioTranslation|FALSE|BOOLEAN|0x1d\r
   #  runtime OS from tampering with firmware structures (special memory ranges\r
   #  used by OVMF, the varstore pflash chip, LockBox etc).\r
   gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire|FALSE|BOOLEAN|0x1e\r
+\r
+  ## Informs modules (including pre-DXE-phase modules) whether the platform\r
+  #  firmware contains a CSM (Compatibility Support Module).\r
+  #\r
+  gUefiOvmfPkgTokenSpaceGuid.PcdCsmEnable|FALSE|BOOLEAN|0x35\r