On 1/6/23 15:16, Kun Qin wrote:

+  // Blocking
+  while (TRUE) {
+    if (GetApState (CpuData) == CpuStateFinished) {
+      CpuData->State = CpuStateIdle;
+      break;
+    }
+
+    if ((TimeoutInMicroseconds != 0) && (Timeout == 0)) {
[KQ-2] This will make the core never being able to accept the subsequent start up calls due to this CPU data state will never be updated to CpuStateIdle. If this AP completes the job after timeout, ApProcedure will only be able to transition its state to CpuStateFinished. Should we add a timer (when there is a timeout period specified) and use CpuData->CheckThisAPEvent
to check and try to sync the CPU states for this case?

I think making a change to StartupThisAP and StartupAllAPs to reset any cores in CpuStateFinished back to CpuStateIdle should work?

--
Rebecca Cran


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


Reply via email to