There is absolutely no reason to artificially limit the SKU range to 1-255.
PI1.4a spec fixed the artificial limitation.

This patch is to follow PI1.4a spec to remove PCD_MAX_SKU_ID definition,
the check to PCD_MAX_SKU_ID and the comments describes the limitation.

Cc: Liming Gao <[email protected]>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <[email protected]>
---
 MdePkg/Include/Library/PcdLib.h        |  7 +------
 MdePkg/Library/BasePcdLibNull/PcdLib.c |  6 +-----
 MdePkg/Library/DxePcdLib/DxePcdLib.c   | 14 ++------------
 MdePkg/Library/PeiPcdLib/PeiPcdLib.c   | 15 ++-------------
 4 files changed, 6 insertions(+), 36 deletions(-)

diff --git a/MdePkg/Include/Library/PcdLib.h b/MdePkg/Include/Library/PcdLib.h
index ad8a70082acb..4def32886294 100644
--- a/MdePkg/Include/Library/PcdLib.h
+++ b/MdePkg/Include/Library/PcdLib.h
@@ -14,7 +14,7 @@
   There are no restrictions on the use of FeaturePcd(), FixedPcdGetXX(),
   PatchPcdGetXX(), and PatchPcdSetXX().
 
-Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2016, 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
 which accompanies this distribution.  The full text of the license may be 
found at
@@ -28,8 +28,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER 
EXPRESS OR IMPLIED.
 #ifndef __PCD_LIB_H__
 #define __PCD_LIB_H__
 
-#define PCD_MAX_SKU_ID           0x100
-
 
 /**
   Retrieves a token number based on a token name.
@@ -1074,7 +1072,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER 
EXPRESS OR IMPLIED.
   This function provides a means by which SKU support can be established in 
the PCD infrastructure.
 
   Sets the current SKU in the PCD database to the value specified by SkuId.  
SkuId is returned.
-  If SkuId >= PCD_MAX_SKU_ID, then ASSERT(). 
 
   @param  SkuId   The SKU value that will be used when the PCD service 
retrieves and sets values
                   associated with a PCD token.
@@ -2250,8 +2247,6 @@ LibPcdGetInfoEx (
 /**
   Retrieve the currently set SKU Id.
 
-  If the sku id got >= PCD_MAX_SKU_ID, then ASSERT().
-
   @return   The currently set SKU Id. If the platform has not set at a SKU Id, 
then the
             default SKU Id value of 0 is returned. If the platform has set a 
SKU Id, then the currently set SKU
             Id is returned.
diff --git a/MdePkg/Library/BasePcdLibNull/PcdLib.c 
b/MdePkg/Library/BasePcdLibNull/PcdLib.c
index 5d914ada561c..4fc3672b7a36 100644
--- a/MdePkg/Library/BasePcdLibNull/PcdLib.c
+++ b/MdePkg/Library/BasePcdLibNull/PcdLib.c
@@ -1,7 +1,7 @@
 /** @file
   A emptry template implementation of PCD Library.
 
-  Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2006 - 2016, 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
   which accompanies this distribution.  The full text of the license may be 
found at
@@ -26,8 +26,6 @@
 
   @param[in]  SkuId The SKU value that will be used when the PCD service will 
retrieve and 
                     set values associated with a PCD token.
-                    
-  If SkuId >= 0x100, then ASSERT().                  
 
   @return Return the SKU ID that just be set.
 
@@ -1465,8 +1463,6 @@ LibPcdGetInfoEx (
 /**
   Retrieve the currently set SKU Id.
 
-  If the sku id got >= PCD_MAX_SKU_ID, then ASSERT().
-
   @return   The currently set SKU Id. If the platform has not set at a SKU Id, 
then the
             default SKU Id value of 0 is returned. If the platform has set a 
SKU Id, then the currently set SKU
             Id is returned.
diff --git a/MdePkg/Library/DxePcdLib/DxePcdLib.c 
b/MdePkg/Library/DxePcdLib/DxePcdLib.c
index 79f769557b80..371166818a34 100644
--- a/MdePkg/Library/DxePcdLib/DxePcdLib.c
+++ b/MdePkg/Library/DxePcdLib/DxePcdLib.c
@@ -1,7 +1,7 @@
 /** @file
 Implementation of PcdLib class library for DXE phase.
 
-Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2016, 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         
 which accompanies this distribution.  The full text of the license may be 
found at        
@@ -125,7 +125,6 @@ GetPcdInfoProtocolPointer (
   This function provides a means by which SKU support can be established in 
the PCD infrastructure.
 
   Sets the current SKU in the PCD database to the value specified by SkuId.  
SkuId is returned.
-  If SkuId >= PCD_MAX_SKU_ID, then ASSERT(). 
 
   @param  SkuId   The SKU value that will be used when the PCD service 
retrieves and sets values
                   associated with a PCD token.
@@ -139,8 +138,6 @@ LibPcdSetSku (
   IN UINTN   SkuId
   )
 {
-  ASSERT (SkuId < PCD_MAX_SKU_ID);
-
   GetPcdProtocol()->SetSku (SkuId);
 
   return SkuId;
@@ -1614,8 +1611,6 @@ LibPcdGetInfoEx (
 /**
   Retrieve the currently set SKU Id.
 
-  If the sku id got >= PCD_MAX_SKU_ID, then ASSERT().
-
   @return   The currently set SKU Id. If the platform has not set at a SKU Id, 
then the
             default SKU Id value of 0 is returned. If the platform has set a 
SKU Id, then the currently set SKU
             Id is returned.
@@ -1626,11 +1621,6 @@ LibPcdGetSku (
   VOID
   )
 {
-  UINTN SkuId;
-
-  SkuId = GetPiPcdInfoProtocolPointer()->GetSku ();
-  ASSERT (SkuId < PCD_MAX_SKU_ID);
-
-  return SkuId;
+  return GetPiPcdInfoProtocolPointer()->GetSku ();
 }
 
diff --git a/MdePkg/Library/PeiPcdLib/PeiPcdLib.c 
b/MdePkg/Library/PeiPcdLib/PeiPcdLib.c
index 53e8ad6c0017..2496701862fd 100644
--- a/MdePkg/Library/PeiPcdLib/PeiPcdLib.c
+++ b/MdePkg/Library/PeiPcdLib/PeiPcdLib.c
@@ -1,7 +1,7 @@
 /** @file
 Implementation of PcdLib class library for PEI phase.
 
-Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2016, 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         
 which accompanies this distribution.  The full text of the license may be 
found at        
@@ -124,7 +124,6 @@ GetPiPcdInfoPpiPointer (
   This function provides a means by which SKU support can be established in 
the PCD infrastructure.
 
   Sets the current SKU in the PCD database to the value specified by SkuId.  
SkuId is returned.
-  If SkuId >= PCD_MAX_SKU_ID, then ASSERT(). 
 
   @param  SkuId   The SKU value that will be used when the PCD service 
retrieves 
                   and sets values associated with a PCD token.
@@ -138,9 +137,6 @@ LibPcdSetSku (
   IN UINTN   SkuId
   )
 {
-
-  ASSERT (SkuId < PCD_MAX_SKU_ID);
-
   GetPiPcdPpiPointer()->SetSku (SkuId);
   
   return SkuId;
@@ -1615,8 +1611,6 @@ LibPcdGetInfoEx (
 /**
   Retrieve the currently set SKU Id.
 
-  If the sku id got >= PCD_MAX_SKU_ID, then ASSERT().
-
   @return   The currently set SKU Id. If the platform has not set at a SKU Id, 
then the
             default SKU Id value of 0 is returned. If the platform has set a 
SKU Id, then the currently set SKU
             Id is returned.
@@ -1627,10 +1621,5 @@ LibPcdGetSku (
   VOID
   )
 {
-  UINTN SkuId;
-
-  SkuId = GetPiPcdInfoPpiPointer()->GetSku ();
-  ASSERT (SkuId < PCD_MAX_SKU_ID);
-
-  return SkuId;
+  return GetPiPcdInfoPpiPointer()->GetSku ();
 }
-- 
2.7.0.windows.1

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to