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]
-=-=-=-=-=-=-=-=-=-=-=-