MdePkg and MdeModulePkg Pcd: Implement PCD Driver for External PCD Database and SKU enable Feature.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Bob C Feng <bob.c.feng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14857 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Bob C Feng
2013-11-18 07:45:49 +00:00
committed by lzeng14
parent e8a47801a1
commit 419db80bef
16 changed files with 879 additions and 529 deletions

View File

@@ -6,7 +6,7 @@
The interfaces in dynamic type PCD do not require the token space guid as parameter,
but interfaces in dynamic-ex type PCD require token space guid as parameter.
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2013, 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 that accompanies this distribution.
The full text of the license may be found at
@@ -766,7 +766,7 @@ EFI_STATUS
Retrieves the next valid token number in a given namespace.
This is useful since the PCD infrastructure contains a sparse list of token numbers,
and one cannot know without examination or by deduction what token numbers are valid in the database.
and one cannot a priori know what token numbers are valid in the database.
If TokenNumber is 0 and Guid is not NULL, then the first token from the token space specified by Guid is returned.
If TokenNumber is not 0 and Guid is not NULL, then the next token in the token space specified by Guid is returned.
@@ -784,10 +784,8 @@ EFI_STATUS
@param[in,out] TokenNumber
A pointer to the PCD token number to use to find the subsequent token number.
@retval EFI_SUCCESS The PCD service retrieved the next valid token number. Or the input token number
is already the last valid token number in the PCD database.
In the later case, *TokenNumber is updated with the value of 0.
@retval EFI_NOT_FOUND If this input token number and token namespace does not exist on the platform.
@retval EFI_SUCCESS The PCD service has retrieved the next valid token number.
@retval EFI_NOT_FOUND The PCD service could not find data from the requested token number.
**/
typedef
@@ -802,22 +800,17 @@ EFI_STATUS
/**
Retrieves the next valid PCD token namespace for a given namespace.
@param[in, out] Guid An indirect pointer to EFI_GUID. On input it designates
a known token namespace from which the search will start. On output,
it designates the next valid token namespace on the platform. If the input
token namespace does not exist on the platform, an error is returned and
the value of *Guid is undefined. If *Guid is NULL, then the GUID of the
first token space of the current platform is assigned to *Guid the function
return EFI_SUCCESS. If *Guid is NULL and there is no namespace exist in
the platform other than the default (NULL) token namespace, *Guid is unchanged
and the function return EFI_SUCCESS. If this input token namespace is the last
namespace on the platform, *Guid will be assigned to NULL and the function return
EFI_SUCCESS.
Gets the next valid token namespace for a given namespace. This is useful to traverse the valid
token namespaces on a platform.
@retval EFI_SUCCESS The PCD service retrieved the next valid token space Guid.
Or, the input token space Guid is already the last valid token space Guid
in the PCD database. In the later case, *Guid is updated with the value of NULL.
@retval EFI_NOT_FOUND If the input token namespace does not exist on the platform.
@param[in, out] Guid An indirect pointer to EFI_GUID. On input it designates a known token namespace
from which the search will start. On output, it designates the next valid token
namespace on the platform. If *Guid is NULL, then the GUID of the first token
space of the current platform is returned. If the search cannot locate the next valid
token namespace, an error is returned and the value of *Guid is undefined.
@retval EFI_SUCCESS The PCD service retrieved the value requested.
@retval EFI_NOT_FOUND The PCD service could not find the next valid token namespace.
**/
typedef