]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/MdeModulePkg.dec
Add UEFI 2.5 properties table support in DXE core.
[mirror_edk2.git] / MdeModulePkg / MdeModulePkg.dec
index 4d89a57254ce9120e9ce4a2ba901dc65bfd71878..e3f46006c972edfafb81f6156967f24dbe620789 100644 (file)
   # @Prompt Flag to request system reboot after processing capsule.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdSystemRebootAfterCapsuleProcessFlag|0x0001|UINT16|0x0000006d\r
 \r
+  ## Publish PropertiesTable or not.\r
+  #\r
+  # If this PCD is TRUE, DxeCore publishs PropertiesTable.\r
+  # DxeCore evaluates if all runtime drivers has 4K aligned PE sections. If all\r
+  # PE sections in runtime drivers are 4K aligned, DxeCore sets BIT0 in\r
+  # PropertiesTable. Or DxeCore clears BIT0 in PropertiesTable.\r
+  # If this PCD is FALSE, DxeCore does not publish PropertiesTable.\r
+  #\r
+  # If PropertiesTable has BIT0 set, DxeCore uses below policy in UEFI memory map:\r
+  #   1) Use EfiRuntimeServicesCode for runtime driver PE image code section and\r
+  #      use EfiRuntimeServicesData for runtime driver PE image header and other section.\r
+  #   2) Set EfiRuntimeServicesCode to be EFI_MEMORY_RO.\r
+  #   3) Set EfiRuntimeServicesData to be EFI_MEMORY_XP.\r
+  #   4) Set EfiMemoryMappedIO and EfiMemoryMappedIOPortSpace to be EFI_MEMORY_XP.\r
+  #\r
+  # NOTE: Platform need gurantee this PCD is set correctly. Platform should set\r
+  # this PCD to be TURE if and only if all runtime driver has seperated Code/Data\r
+  # section. If PE code/data sections are merged, the result is unpredictable.\r
+  #\r
+  # @Prompt Publish UEFI PropertiesTable.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PropertiesTableEnable|TRUE|BOOLEAN|0x0000006e\r
+\r
   ## Default OEM ID for ACPI table creation, its length must be 0x6 bytes to follow ACPI specification.\r
   # @Prompt Default OEM ID for ACPI table creation.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId|"INTEL "|VOID*|0x30001034\r