public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH] SimicsOpenBoard: Use default 10ms as delay between INIT and SIPI
@ 2023-05-30  8:30 Ni, Ray
  2023-06-02  5:51 ` Zhiguang Liu
  0 siblings, 1 reply; 2+ messages in thread
From: Ni, Ray @ 2023-05-30  8:30 UTC (permalink / raw)
  To: devel; +Cc: Nate DeSimone, Zhiguang Liu

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


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] SimicsOpenBoard: Use default 10ms as delay between INIT and SIPI
  2023-05-30  8:30 [PATCH] SimicsOpenBoard: Use default 10ms as delay between INIT and SIPI Ni, Ray
@ 2023-06-02  5:51 ` Zhiguang Liu
  0 siblings, 0 replies; 2+ messages in thread
From: Zhiguang Liu @ 2023-06-02  5:51 UTC (permalink / raw)
  To: Ni, Ray, devel@edk2.groups.io; +Cc: Desimone, Nathaniel L

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


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-06-02  5:51 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-30  8:30 [PATCH] SimicsOpenBoard: Use default 10ms as delay between INIT and SIPI Ni, Ray
2023-06-02  5:51 ` Zhiguang Liu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox