Re: [edk2] Mixed Section Types for PCD

Subject: Re: [edk2] Mixed Section Types for PCD

From: Chip Ueltschey <chipjust@gmail.com>

To: "edk2-devel@lists.sourceforge.net" <edk2-devel@lists.sourceforge.net>

Date: 2013-08-29 03:41:35

Ok, interesting, thanks.

What if I have a driver that wants to do a set on the PCD.
The driver can't do that if the build is configured to use the PCD as FixedAtBuild.
Is there any way to detect this in the C code, or does this driver just require that the PCD not be configured as FixedAtBuild?

-chip


On Wed, Aug 28, 2013 at 5:51 PM, Andrew Fish <afish@apple.com> wrote:


On Aug 28, 2013, at 5:31 PM, Tim Lewis <tim.lewis@insyde.com> wrote:

Chip
It is legal. The types that are listed in the .dec file limit the types that a .dsc file can use. If none is specified in the .dsc file, then the first one will be used by default. So, for example, you may want to allow a .dsc file to support either Dynamic, DynamicEx or FixedAtBuild. So the .dec file lists all three. But if the .dsc file tries to use Patchable, it will fail.

This is the best way to think about it. Lets say I'm building for a ATM that does not have setup. In my DSC file I'll set a lot of the PCDs to FixedAtBuild. But some PC OEM that supports over-clockers may want to to make a large number of parameters configurable in setup. The concept of PCD is the driver has these generic hook points for configuration, but the platform builder gets to chose what knobs get exposed. In this example the CPU and Chipset drivers code does not have to change between the zero setup platform and the uber setup platform. That is the concept behind allowing the platform to chose the type of the PCD.

So Set will not work on FixedAtBuild, right, because it is defined as CONST. So you need to change the type in the .dsc file to Dynamic or DynamicEx or Patchable (actually, Im not sure if Patchable generates a CONST or not)

Yes it does but Patchable is for a binary and the patching is done by a build tool.

Thanks,

Andrew Fish

Tim
From:Chip Ueltschey [mailto:chipjust@gmail.com]
Sent:Wednesday, August 28, 2013 5:26 PM
To:edk2-devel@lists.sourceforge.net
Subject:[edk2] Mixed Section Types for PCD
Is it legal to do this in a DEC file?
[PcdsFixedAtBuild,PcdsPatchableInModule,PcdsDynamic]
That seems suspect since aPcdsFixedAtBuild type will not allow set, but a PcdsDynamic will allow set.
What is AutoGen supposed to do?
Currently, I have an error where the C code wants to set a PCD in this section.
Thanks,
-chip
------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel