UefiCpuPkg/UefiCpuPkg.dec: Add a set of CPU features PCDs
authorJeff Fan <jeff.fan@intel.com>
Tue, 7 Mar 2017 07:54:23 +0000 (15:54 +0800)
committerJeff Fan <jeff.fan@intel.com>
Wed, 22 Mar 2017 02:11:38 +0000 (10:11 +0800)
PcdCpuFeaturesSupport supports PcdsFixedAtBuild/PcdsPatchableInModule types and
used to add/remove CPU feature from firmware during build time.

PcdCpuFeaturesUserConfiguration supports all PCD types and used to configurate
CPU features by platforms.

PcdCpuFeaturesCapability supports PcdsDynamic PCD and used to indicate the CPU
features capability on processors.

PcdCpuFeaturesSetting supports PcdsDynamic PCD and used to indicate the current
CPU features setting on processors.

Cc: Feng Tian <feng.tian@intel.com>
Cc: Michael Kinney <michael.d.kinney@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
UefiCpuPkg/UefiCpuPkg.dec

index c37b4d5f894785f371ccbba50c8a9c567efda530..c4b43e2300471e225593c7e31cdcb9fc155a24a6 100644 (file)
@@ -1,7 +1,7 @@
 ## @file  UefiCpuPkg.dec\r
 # This Package provides UEFI compatible CPU modules and libraries.\r
 #\r
-# Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>\r
 #\r
 # This program and the accompanying materials are licensed and made available under\r
 # the terms and conditions of the BSD License which accompanies this distribution.\r
   # @Prompt MSEG size.\r
   gUefiCpuPkgTokenSpaceGuid.PcdCpuMsegSize|0x200000|UINT32|0x32132112\r
 \r
+  ## Specifies the supported CPU features bit in array\r
+  # @Prompt Supported CPU features\r
+  gUefiCpuPkgTokenSpaceGuid.PcdCpuFeaturesSupport|{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}|VOID*|0x00000016\r
+\r
 [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]\r
   ## Specifies max supported number of Logical Processors.\r
   # @Prompt Configure max supported number of Logical Processors\r
   # @Prompt SMM CPU Synchronization Method.\r
   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmSyncMode|0x00|UINT8|0x60000014\r
 \r
+  ## Specifies user's desired settings for enabling/disabling processor features.\r
+  # @Prompt User settings for enabling/disabling processor features.\r
+  gUefiCpuPkgTokenSpaceGuid.PcdCpuFeaturesUserConfiguration|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}|VOID*|0x00000017\r
+\r
 [PcdsDynamic, PcdsDynamicEx]\r
   ## Contains the pointer to a CPU S3 data buffer of structure ACPI_CPU_DATA.\r
   # @Prompt The pointer to a CPU S3 data buffer.\r
   # @ValidList   0x80000001 | 0\r
   gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugDataAddress|0x0|UINT64|0x60000011\r
 \r
+  ## Indicates processor feature capabilities, each bit corresponding to a specific feature.\r
+  # @Prompt Processor feature capabilities.\r
+  # @ValidList   0x80000001 | 0\r
+  gUefiCpuPkgTokenSpaceGuid.PcdCpuFeaturesCapability|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}|VOID*|0x00000018\r
+\r
+  ## Specifies actual settings for processor features, each bit corresponding to a specific feature.\r
+  # @Prompt Actual processor feature settings.\r
+  # @ValidList   0x80000001 | 0\r
+  gUefiCpuPkgTokenSpaceGuid.PcdCpuFeaturesSetting|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}|VOID*|0x00000019\r
+\r
 [UserExtensions.TianoCore."ExtraFiles"]\r
   UefiCpuPkgExtra.uni\r