> 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