[edk2-devel] [PATCH] SimicsOpenBoard: Use default 10ms as delay between INIT and SIPI

Ni, Ray posted 1 patch 11 months, 1 week ago
Failed in applying to current master (apply log)
.../Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkgPcd.dsc | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
[edk2-devel] [PATCH] SimicsOpenBoard: Use default 10ms as delay between INIT and SIPI
Posted by Ni, Ray 11 months, 1 week ago
Today the delay is 10us but the QSP simulates the multiprocessor
by dividing time into segments and serializing processors within a
segment.
The length of the segment is configurable and Simics open board
is configured using 100us.

But the firmware configures the delay between INIT and SIPI is 10us.
That results a possible senarino that BSP sends a INIT and SIPI in one
segment (100us) while APs are still in SMM environment. The INIT is
queued but SIPI is ignored by Simics, resulting all APs being put in
wait-for-SIPI state when they receive INIT.

Signed-off-by: Ray Ni <ray.ni@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
---
 .../Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkgPcd.dsc | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkgPcd.dsc b/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkgPcd.dsc
index 732d95e44f..06c479b619 100644
--- a/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkgPcd.dsc
+++ b/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkgPcd.dsc
@@ -1,7 +1,7 @@
 ## @file
 #  PCD configuration build description file for the X58Ich10 board.
 #
-# Copyright (c) 2019 - 2022, Intel Corporation. All rights reserved. <BR>
+# Copyright (c) 2019 - 2023, Intel Corporation. All rights reserved. <BR>
 #
 # SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -148,7 +148,6 @@
   gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPortBaseAddressMask|0xFFFC
   gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiPm1TmrOffset|0x0008
   gUefiCpuPkgTokenSpaceGuid.PcdCpuApStackSize|0x1000
-  gUefiCpuPkgTokenSpaceGuid.PcdCpuInitIpiDelayInMicroSeconds|10
   gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|512
   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmApSyncTimeout|10000
   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize|0x4000
-- 
2.37.2.windows.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#105432): https://edk2.groups.io/g/devel/message/105432
Mute This Topic: https://groups.io/mt/99215876/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/leave/3901457/1787277/102458076/xyzzy [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH] SimicsOpenBoard: Use default 10ms as delay between INIT and SIPI
Posted by Zhiguang Liu 11 months, 1 week ago
Reviewed-by: Zhiguang Liu <zhiguang.liu@intel.com>

> -----Original Message-----
> From: Ni, Ray <ray.ni@intel.com>
> Sent: Tuesday, May 30, 2023 4:31 PM
> To: devel@edk2.groups.io
> Cc: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Liu, Zhiguang
> <zhiguang.liu@intel.com>
> Subject: [PATCH] SimicsOpenBoard: Use default 10ms as delay between INIT and
> SIPI
> 
> Today the delay is 10us but the QSP simulates the multiprocessor
> by dividing time into segments and serializing processors within a
> segment.
> The length of the segment is configurable and Simics open board
> is configured using 100us.
> 
> But the firmware configures the delay between INIT and SIPI is 10us.
> That results a possible senarino that BSP sends a INIT and SIPI in one
> segment (100us) while APs are still in SMM environment. The INIT is
> queued but SIPI is ignored by Simics, resulting all APs being put in
> wait-for-SIPI state when they receive INIT.
> 
> Signed-off-by: Ray Ni <ray.ni@intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Cc: Zhiguang Liu <zhiguang.liu@intel.com>
> ---
>  .../Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkgPcd.dsc | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git
> a/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkgPcd.dsc
> b/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkgPcd.dsc
> index 732d95e44f..06c479b619 100644
> ---
> a/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkgPcd.dsc
> +++
> b/Platform/Intel/SimicsOpenBoardPkg/BoardX58Ich10/OpenBoardPkgPcd.dsc
> @@ -1,7 +1,7 @@
>  ## @file
> 
>  #  PCD configuration build description file for the X58Ich10 board.
> 
>  #
> 
> -# Copyright (c) 2019 - 2022, Intel Corporation. All rights reserved. <BR>
> 
> +# Copyright (c) 2019 - 2023, Intel Corporation. All rights reserved. <BR>
> 
>  #
> 
>  # SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  #
> 
> @@ -148,7 +148,6 @@
>    gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPortBaseAddressMask|0xFFFC
> 
>    gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiPm1TmrOffset|0x0008
> 
>    gUefiCpuPkgTokenSpaceGuid.PcdCpuApStackSize|0x1000
> 
> -  gUefiCpuPkgTokenSpaceGuid.PcdCpuInitIpiDelayInMicroSeconds|10
> 
>    gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|512
> 
>    gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmApSyncTimeout|10000
> 
>    gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize|0x4000
> 
> --
> 2.37.2.windows.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#105638): https://edk2.groups.io/g/devel/message/105638
Mute This Topic: https://groups.io/mt/99215876/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-