We are going to want to change the value of PcdFSBClock at run time in
OvmfXen, so move it to the PcdsDynamic section.
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2490
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
---
CC: Bob Feng <bob.c.feng@intel.com>
CC: Michael D Kinney <michael.d.kinney@intel.com>
CC: Zhiguang Liu <zhiguang.liu@intel.com>
---
MdePkg/MdePkg.dec | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec
index 1d2637acc22a..f0d3b91fc635 100644
--- a/MdePkg/MdePkg.dec
+++ b/MdePkg/MdePkg.dec
@@ -2257,10 +2257,6 @@ [PcdsFixedAtBuild,PcdsPatchableInModule]
# @ValidList 0x80000001 | 8, 16, 32
gEfiMdePkgTokenSpaceGuid.PcdPort80DataWidth|8|UINT8|0x0000002d
- ## This value is used to configure X86 Processor FSB clock.
- # @Prompt FSB Clock.
- gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000|UINT32|0x0000000c
-
## The maximum printable number of characters. UefLib functions: AsciiPrint(), AsciiErrorPrint(),
# PrintXY(), AsciiPrintXY(), Print(), ErrorPrint() base on this PCD value to print characters.
# @Prompt Maximum Printable Number of Characters.
@@ -2364,5 +2360,9 @@ [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
# @Prompt Boot Timeout (s)
gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0xffff|UINT16|0x0000002c
+ ## This value is used to configure X86 Processor FSB clock.
+ # @Prompt FSB Clock.
+ gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000|UINT32|0x0000000c
+
[UserExtensions.TianoCore."ExtraFiles"]
MdePkgExtra.uni
--
Anthony PERARD
On Thu, Mar 25, 2021 at 11:47 PM, Anthony PERARD wrote: > > - ## This value is used to configure X86 Processor FSB clock. > - # @Prompt FSB Clock. > - gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000|UINT32|0x0000000c hi, Sir This change caused the OVMF failed to load in QEMU when compiled with "SOURCE_DEBUG_ENABLE" as True. the verbose message of QEMU shows: > > ASSERT [SecMain] > d:\myedk2\edk2\MdePkg\Library\BasePcdLibNull\PcdLib.c(95): > ((BOOLEAN)(0==1)) The failure point is PcdGet32 (PcdFSBClock) of debugtimer.c, I rolled back above change, then issue disappeared. -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#91158): https://edk2.groups.io/g/devel/message/91158 Mute This Topic: https://groups.io/mt/81605800/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
Ray: The problem is that PcdFSBClock is configured as Dynamic on OVMF. Anthony: Have you any suggestion for this problem? Thanks Liming 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 ray_linn@hotmail.com 发送时间: 2022年7月7日 12:13 收件人: Anthony PERARD <anthony.perard@citrix.com>; devel@edk2.groups.io 主题: Re: [edk2-devel] [PATCH v2 2/7] MdePkg: Allow PcdFSBClock to by Dynamic On Thu, Mar 25, 2021 at 11:47 PM, Anthony PERARD wrote: - ## This value is used to configure X86 Processor FSB clock. - # @Prompt FSB Clock. - gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000|UINT32|0x0000000c hi, Sir This change caused the OVMF failed to load in QEMU when compiled with "SOURCE_DEBUG_ENABLE" as True. the verbose message of QEMU shows: ASSERT [SecMain] d:\myedk2\edk2\MdePkg\Library\BasePcdLibNull\PcdLib.c(95): ((BOOLEAN)(0==1)) The failure point is PcdGet32 (PcdFSBClock) of debugtimer.c, I rolled back above change, then issue disappeared. -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#91170): https://edk2.groups.io/g/devel/message/91170 Mute This Topic: https://groups.io/mt/92243726/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
On Fri, Jul 08, 2022 at 10:14:35AM +0800, gaoliming wrote:
> Ray:
> The problem is that PcdFSBClock is configured as Dynamic on OVMF.
> Anthony:
> Have you any suggestion for this problem?
>
> Liming
>
> 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 ray_linn@hotmail.com
> 发送时间: 2022年7月7日 12:13
> 收件人: Anthony PERARD <anthony.perard@citrix.com>; devel@edk2.groups.io
> 主题: Re: [edk2-devel] [PATCH v2 2/7] MdePkg: Allow PcdFSBClock to by Dynamic
>
> On Thu, Mar 25, 2021 at 11:47 PM, Anthony PERARD wrote:
>
> - ## This value is used to configure X86 Processor FSB clock.
> - # @Prompt FSB Clock.
> - gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000|UINT32|0x0000000c
>
> hi, Sir
>
> This change caused the OVMF failed to load in QEMU when compiled with "SOURCE_DEBUG_ENABLE" as True.
>
> the verbose message of QEMU shows:
>
> ASSERT [SecMain] d:\myedk2\edk2\MdePkg\Library\BasePcdLibNull\PcdLib.c(95): ((BOOLEAN)(0==1))
>
> The failure point is PcdGet32 (PcdFSBClock) of debugtimer.c, I rolled back above change, then issue disappeared.
What if you revert c37cbc030d96 ("OvmfPkg: Switch timer in build time
for OvmfPkg") instead? That commit seems to introduce PcdFSBClock as
dynamic in OvmfPkg*.dsc. But revert isn't going to be possible so
instead you could move "PcdFSBClock" to the [PcdsFixedAtBuild] sections
of all "OvmfPkg*.dsc". The dynamic nature of the pcd was only meant to
be used by OvmfXen, and no other platforms.
Cheers,
--
Anthony PERARD
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#91178): https://edk2.groups.io/g/devel/message/91178
Mute This Topic: https://groups.io/mt/92243726/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2026 Red Hat, Inc.