On 05/23/22 15:45, Gerd Hoffmann wrote:
> kvm FSB clock is 1GHz, not 100 MHz.  Timings are off by factor 10.
> Fix all affected build configurations.  Not changed: Microvm and
> Cloudhw (they have already have the correct value), and Xen (has
> no fixed frequency, the PCD is configured at runtime by platform
> initialization code).
>
> Fixes: c37cbc030d96 ("OvmfPkg: Switch timer in build time for OvmfPkg")

Consider adding "Fixes: 44a53a3bdd9c7" too, on a separate line; commit
44a53a3bdd9c ("OvmfPkg: Introduce IntelTdxX64 for TDVF Config-B",
2022-04-02) copied the wrong setting when creating
"OvmfPkg/IntelTdx/IntelTdxX64.dsc".

(Obviously it needs no repost.)

> Reported-by: Laszlo Ersek <ler...@redhat.com>
> Signed-off-by: Gerd Hoffmann <kra...@redhat.com>
> ---
>  OvmfPkg/AmdSev/AmdSevX64.dsc     | 2 +-
>  OvmfPkg/IntelTdx/IntelTdxX64.dsc | 2 +-
>  OvmfPkg/OvmfPkgIa32.dsc          | 2 +-
>  OvmfPkg/OvmfPkgIa32X64.dsc       | 2 +-
>  OvmfPkg/OvmfPkgX64.dsc           | 2 +-
>  5 files changed, 5 insertions(+), 5 deletions(-)

Using "OvmfPkg/OvmfPkgX64.dsc":

Tested-by: Laszlo Ersek <ler...@redhat.com>

By the way: "kvm FSB clock is 1GHz" -- where is that constant set in
KVM?

... is it "target/i386/kvm/kvm.c" in QEMU:

> /* From arch/x86/kvm/lapic.h */
> #define KVM_APIC_BUS_CYCLE_NS       1
> #define KVM_APIC_BUS_FREQUENCY      (1000000000ULL / KVM_APIC_BUS_CYCLE_NS)

FWIW, APIC_BUS_CYCLE_NS=1 goes back to historical KVM commit
97222cc83163 ("KVM: Emulate local APIC in kernel", 2007-10-13). The
commit does not say anything about this particular choice. (Maybe I
should look at the QEMU source from 2007 -- perhaps the KVM commit was
inspired by QEMU practice back then. And now we've come full circle: the
definitive constant lives in the kernel, which is where QEMU is taking
it from...)

... I think these macros are pretty difficult to find, unless one knows
already what they're looking for!

BTW is there a chance that TCG uses a different frequency?

Thanks!
Laszlo

>
> diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
> index bead9722eab8..fc1fdb2e2297 100644
> --- a/OvmfPkg/AmdSev/AmdSevX64.dsc
> +++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
> @@ -578,7 +578,7 @@ [PcdsDynamicDefault]
>
>  !include OvmfPkg/OvmfTpmPcds.dsc.inc
>
> -  gEfiMdePkgTokenSpaceGuid.PcdFSBClock|100000000
> +  gEfiMdePkgTokenSpaceGuid.PcdFSBClock|1000000000
>
>  [PcdsDynamicHii]
>  !include OvmfPkg/OvmfTpmPcdsHii.dsc.inc
> diff --git a/OvmfPkg/IntelTdx/IntelTdxX64.dsc 
> b/OvmfPkg/IntelTdx/IntelTdxX64.dsc
> index 00bc1255bc4e..dd8d446f4a56 100644
> --- a/OvmfPkg/IntelTdx/IntelTdxX64.dsc
> +++ b/OvmfPkg/IntelTdx/IntelTdxX64.dsc
> @@ -511,7 +511,7 @@ [PcdsDynamicDefault]
>    # Set ConfidentialComputing defaults
>    gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr|0
>
> -  gEfiMdePkgTokenSpaceGuid.PcdFSBClock|100000000
> +  gEfiMdePkgTokenSpaceGuid.PcdFSBClock|1000000000
>
>  
> ################################################################################
>  #
> diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
> index c16a840fff16..a9841cbfc3ca 100644
> --- a/OvmfPkg/OvmfPkgIa32.dsc
> +++ b/OvmfPkg/OvmfPkgIa32.dsc
> @@ -651,7 +651,7 @@ [PcdsDynamicDefault]
>    gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr|0
>
>  !if $(CSM_ENABLE) == FALSE
> -  gEfiMdePkgTokenSpaceGuid.PcdFSBClock|100000000
> +  gEfiMdePkgTokenSpaceGuid.PcdFSBClock|1000000000
>  !endif
>
>  [PcdsDynamicHii]
> diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
> index d3a80cb56892..f7949780fa38 100644
> --- a/OvmfPkg/OvmfPkgIa32X64.dsc
> +++ b/OvmfPkg/OvmfPkgIa32X64.dsc
> @@ -659,7 +659,7 @@ [PcdsDynamicDefault]
>    gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr|0
>
>  !if $(CSM_ENABLE) == FALSE
> -  gEfiMdePkgTokenSpaceGuid.PcdFSBClock|100000000
> +  gEfiMdePkgTokenSpaceGuid.PcdFSBClock|1000000000
>  !endif
>
>  [PcdsDynamicDefault.X64]
> diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
> index 7b3d48aac430..1448f925b782 100644
> --- a/OvmfPkg/OvmfPkgX64.dsc
> +++ b/OvmfPkg/OvmfPkgX64.dsc
> @@ -684,7 +684,7 @@ [PcdsDynamicDefault]
>    gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr|0
>
>  !if $(CSM_ENABLE) == FALSE
> -  gEfiMdePkgTokenSpaceGuid.PcdFSBClock|100000000
> +  gEfiMdePkgTokenSpaceGuid.PcdFSBClock|1000000000
>  !endif
>
>  [PcdsDynamicHii]
>



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#89988): https://edk2.groups.io/g/devel/message/89988
Mute This Topic: https://groups.io/mt/91288310/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to