Mike –

I understand, but this just adds another layer of complexity. For example, we had a list of exception numbers (0x00-0xff) and then had to move away from UINT8 because it couldn’t hold a terminating or illegal value. We prefer to use PcdGetSize. It may be something we will change in our own codebase.

 

Tim

 

From: Kinney, Michael D <michael.d.kinney@intel.com>
Sent: Wednesday, December 16, 2020 1:28 PM
To: devel@edk2.groups.io; tim.lewis@insyde.com; Kinney, Michael D <michael.d.kinney@intel.com>
Subject: RE: [edk2-devel] How to assign NULL to a VOID* PCD?

 

Hi Tim,

 

Assigning NULL to a VOID* PCD is not supported.

 

I recommend you design the structure that the VOID* type PCD points to be self describing.  You can put a count field or if it is an array, use can use a tag in a field to mark the end of the array.

 

Mike

 

From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Tim Lewis
Sent: Wednesday, December 16, 2020 11:06 AM
To: devel@edk2.groups.io
Subject: [edk2-devel] How to assign NULL to a VOID* PCD?

 

I want the PCD database to contain a NULL to a PCD that is of type VOID* but this does not seem to be allowed in the .dsc files.

 

In .dec files, I can assign an <Expression> for the value, which lets me put a 0. But the syntax for .dsc files only lets me put data. So for array cases where I want 0 entries, I am always forced to put at least 1 dummy entry. Normally, I would like to use PcdGetSize to get the total array size.

 

Any pointers?

 

Thanks,

 

Tim