2) change PCD_INVALID_TOKEN_NUMBER to 0 as stipulated in MWG spec and PCD spec. 3) support returning a Default Value when a read failure by variable service for PCD entry with Variable Enabled. 4) Remove a lot of unreferenced JAVA import from CollectPCDAction.java, PCDAutoGenAction.java, MemoryDatabaseManager.java, Token.java and UsageInstance.java. 5) Opimized to merge elements in all tables in PCD database for make the code compact. 6) Did a tighter check on how dynamic PCD entry is referenced in each module. 7) Update the PCD driver/PEIM and PCD database generation verion to 2. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@605 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			59 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
//
 | 
						|
// The following definition will be generated by build tool 
 | 
						|
//
 | 
						|
 | 
						|
//
 | 
						|
// Common definitions
 | 
						|
//
 | 
						|
typedef UINT8 SKU_ID;
 | 
						|
 | 
						|
#define PCD_TYPE_SHIFT        24
 | 
						|
 | 
						|
 | 
						|
#define PCD_TYPE_DATA         (0x00 << PCD_TYPE_SHIFT)
 | 
						|
#define PCD_TYPE_HII    	    (0x80 << PCD_TYPE_SHIFT)
 | 
						|
#define PCD_TYPE_VPD    	    (0x40 << PCD_TYPE_SHIFT)
 | 
						|
#define PCD_TYPE_SKU_ENABLED 	(0x20 << PCD_TYPE_SHIFT)
 | 
						|
#define PCD_TYPE_STRING       (0x10 << PCD_TYPE_SHIFT)
 | 
						|
 | 
						|
 | 
						|
#define PCD_DATABASE_OFFSET_MASK (~(PCD_TYPE_HII | PCD_TYPE_VPD | PCD_TYPE_SKU_ENABLED | PCD_TYPE_STRING))
 | 
						|
 | 
						|
typedef struct  {
 | 
						|
  UINT32                ExTokenNumber;
 | 
						|
  UINT32                LocalTokenNumber;   // PCD Number of this particular platform build
 | 
						|
  UINT16                ExGuidIndex;        // Index of GuidTable
 | 
						|
} DYNAMICEX_MAPPING;
 | 
						|
 | 
						|
 | 
						|
typedef struct {
 | 
						|
  UINT32  SkuDataStartOffset; //We have to use offsetof MACRO as we don't know padding done by compiler
 | 
						|
  UINT32  SkuIdTableOffset;   //Offset from the PCD_DB
 | 
						|
} SKU_HEAD;
 | 
						|
 | 
						|
 | 
						|
typedef struct {
 | 
						|
  UINT16  GuidTableIndex;     // Offset in Guid Table in units of GUID.
 | 
						|
  UINT16  StringIndex;        // Offset in String Table in units of UINT16.
 | 
						|
  UINT16  Offset;             // Offset in Variable
 | 
						|
  UINT16  DefaultValueOffset; // Offset of the Default Value
 | 
						|
} VARIABLE_HEAD  ;
 | 
						|
 | 
						|
 | 
						|
typedef  struct {
 | 
						|
  UINT32  Offset;
 | 
						|
} VPD_HEAD;
 | 
						|
 | 
						|
typedef UINT16 STRING_HEAD;
 | 
						|
 | 
						|
typedef struct {
 | 
						|
  UINT32 LocalTokenNumber;
 | 
						|
  UINT16 TokenNumber;
 | 
						|
  UINT16 Size;
 | 
						|
} SIZEINFO;
 | 
						|
 | 
						|
#define offsetof(s,m)                 (UINT32) (UINTN) &(((s *)0)->m)
 | 
						|
 | 
						|
 | 
						|
 |