public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: "Gao, Liming" <liming.gao@intel.com>
Cc: Michael Zimmermann <sigmaepsilon92@gmail.com>,
	 "edk2-devel@lists.01.org" <edk2-devel@ml01.01.org>,
	Laszlo Ersek <lersek@redhat.com>,
	Leif Lindholm <leif.lindholm@linaro.org>
Subject: Re: visibility pf PcdSet
Date: Tue, 21 Mar 2017 07:09:13 +0000	[thread overview]
Message-ID: <CAKv+Gu9m69qHc5D5s3zAufSVrBHHQ1mk6-YT+fch3_q2tKPVhg@mail.gmail.com> (raw)
In-Reply-To: <4A89E2EF3DFEDB4C8BFDE51014F606A14D6F2EE7@shsmsx102.ccr.corp.intel.com>

On 21 March 2017 at 02:23, Gao, Liming <liming.gao@intel.com> wrote:
> Yes. Feature, FixedAtBuild and PatchableInModule PCD are module level; Dyanmic and DynamicEx are platform level.
> If you have case to share the data between the different modules, you can configure PCD as Dynamic PCD.
>
> Ard: do you meet with the issue on SetPcd() with dynamic PCD?
>

No. MIchael reported that DXE level drivers don't see the value
written to a patchable PCD by a SEC module, but as you confirmed, this
is expected behavior.

Thanks,
Ard.

>>-----Original Message-----
>>From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Ard
>>Biesheuvel
>>Sent: Tuesday, March 21, 2017 2:20 AM
>>To: Michael Zimmermann <sigmaepsilon92@gmail.com>
>>Cc: edk2-devel@lists.01.org <edk2-devel@ml01.01.org>; Gao, Liming
>><liming.gao@intel.com>; Laszlo Ersek <lersek@redhat.com>; Leif Lindholm
>><leif.lindholm@linaro.org>
>>Subject: Re: [edk2] visibility pf PcdSet
>>
>>On 20 March 2017 at 16:06, Michael Zimmermann
>><sigmaepsilon92@gmail.com> wrote:
>>> Do I understand correctly, that a PcdSet on a 'PcdsPatchableInModule'
>>> is only visible to the current module?(SEC, driver, application, ...)
>>
>>Yes.
>>
>>> Because I've tested this and a PcdSet on
>>> gArmTokenSpaceGuid.PcdSystemMemoryBase inisde PrePi is not visible
>>> inside a DXE_DRIVER - which means that for everyone else the value is
>>> still 0x0.
>>>
>>
>>Indeed. The relocatable PrePi needs a patchable PCD because it assigns
>>the value really early, in assembly code. But PrePi is a bit peculiar
>>as well, and I am pretty use SetPcd() on dynamic PCDs would not work
>>there either.
>>
>>> If this is the case and I don't have some platform bug, then there is
>>> probably a bug in ArmVirtPkg's HighMemDxe where this Pcd is used in a
>>> DXE_DRIVER:
>>>
>>https://github.com/tianocore/edk2/blob/76874be3d411bf8daac051718e20932
>>e0bf97d70/ArmVirtPkg/HighMemDxe/HighMemDxe.c#L70
>>> It doesn't cause anything bad but it would show 'Failed to add System
>>> RAM @ START - END (Access Denied)' after calling AddMemorySpace for
>>> memory which has already been registered.
>>>
>>
>>Ah yes, well spotted. To be honest, PrePi is a bit of a hack, and I
>>actually recommend against it for new ports. However, for a self
>>relocating image (which I think you need for your application), PrePi
>>is really the only way to go.
>>
>>So the best way to pass information from PrePi to DXE is using HOBs.
>>Actually, it might be best for you to clone HighmemDxe if you need it,
>>and use a HOB instead.
>>_______________________________________________
>>edk2-devel mailing list
>>edk2-devel@lists.01.org
>>https://lists.01.org/mailman/listinfo/edk2-devel


      reply	other threads:[~2017-03-21  7:09 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-20 16:06 visibility pf PcdSet Michael Zimmermann
2017-03-20 16:17 ` Laszlo Ersek
2017-03-20 18:19 ` Ard Biesheuvel
2017-03-20 18:37   ` Michael Zimmermann
2017-03-21  2:23   ` Gao, Liming
2017-03-21  7:09     ` Ard Biesheuvel [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAKv+Gu9m69qHc5D5s3zAufSVrBHHQ1mk6-YT+fch3_q2tKPVhg@mail.gmail.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox