> On Oct 22, 2014, at 9:24 AM, Gabriel Somlo <gso...@gmail.com> wrote:
> 
> I managed to add (and write to) a dynamic PCD from OVMF PEI:
> 
> 
> OvmfPkg/OvmfPkg.dec:
> [PcdsDynamic, PcdsDynamicEx]
>   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0|UINT16|0x1b
> 
> 
> OvmfPkg/OvmfPkgX64.dsc:
> [PcdsDynamicDefault]
>   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0
> 
> 
> OvmfPkg/PlatformPei/PlatformPei.inf
> [Pcd]
>   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId
> 
> 
> OvmfPkg/PlatformPei/Platform.c
> 
>  UINT16 HostBridgeDevId;
>  ...
>  PcdSet16 (PcdOvmfHostBridgePciDevId, HostBridgeDevId);
> 
> 
> 
> After doing this, things build just fine. But after further adding:
> 
> 
> OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf:
> [Pcd]
>   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId
> 
> 
> OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.c:
>  ...
>  HostBridgeDevId = PcdGet16 (PcdOvmfHostBridgePciDevId);
>  ...
> 
> 
> I now get this error:
> 
> /home/somlo/KVM-OSX/SCRATCH/edk2/OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.c:
> In function `AcpiTimerLibConstructor':
> /home/somlo/KVM-OSX/SCRATCH/edk2/MdePkg/Include/Library/PcdLib.h:377:45:
> error: `_PCD_GET_MODE_16_PcdOvmfHostBridgePciDevId' undeclared (first
> use in this function)
> #define PcdGet16(TokenName)
> _PCD_GET_MODE_16_##TokenName
>                                             ^
> /home/somlo/KVM-OSX/SCRATCH/edk2/OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.c:61:21:
> note: in expansion of macro `PcdGet16'
>   HostBridgeDevId = PcdGet16 (PcdOvmfHostBridgePciDevId);
>                     ^
> /home/somlo/KVM-OSX/SCRATCH/edk2/MdePkg/Include/Library/PcdLib.h:377:45:

This is usually an INF issue. What does the the AutoGen.h (with the library 
object files) files look like? That is where this should get declared.

Thanks,

Andrew Fish

> note: each undeclared identifier is reported only once for each
> function it appears in
> #define PcdGet16(TokenName)
> _PCD_GET_MODE_16_##TokenName
>                                             ^
> /home/somlo/KVM-OSX/SCRATCH/edk2/OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.c:61:21:
> note: in expansion of macro `PcdGet16'
>   HostBridgeDevId = PcdGet16 (PcdOvmfHostBridgePciDevId);
>                     ^
> make: ***
> [/home/somlo/KVM-OSX/SCRATCH/edk2/Build/OvmfX64/DEBUG_GCC48/X64/OvmfPkg/Library/AcpiTimerLib/BaseAcpiTimerLib/OUTPUT/DxeAcpiTimerLib.obj]
> Error 1
> 
> 
> build.py...
> : error 7000: Failed to execute command
>        make tbuild
> [/home/somlo/KVM-OSX/SCRATCH/edk2/Build/OvmfX64/DEBUG_GCC48/X64/OvmfPkg/Library/AcpiTimerLib/BaseAcpiTimerLib]
> 
> 
> 
> 
> Any idea what I might be missing ?
> 
> Thanks,
> --Gabriel
> 
> ------------------------------------------------------------------------------
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/edk2-devel


------------------------------------------------------------------------------
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to