open-power / hostboot

System initialization firmware for Power systems
Apache License 2.0
74 stars 97 forks source link

If the sentence 'done' is false after execution, how will subsequent TdEntries be executed #248

Closed Grubby0624 closed 1 month ago

Grubby0624 commented 2 months ago

https://github.com/open-power/hostboot/blob/1e3984c6540ba6d327d0c6f7aaccd783647ef27f/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.H#L258 If done=false and io_sc=SUCCESS after this statement is executed, I think the function nextStep will end. However, there are still many TdEntry ->nextSteps in iv_queue that have not been executed. I guess there should be some way to continue executing TdEntry in iv_queue after iv_curProcedure is completed. Can you give me a rough description of where iv_queue [i]. nextStep() was executed Thanks!

cnpalmer commented 2 months ago

If 'done' is false, the current procedure has not yet finished and as such will not move onto the next procedure in 'iv_queue'. In that case, another MCBIST command is expected to have been triggered and there will be a subsequent command complete attention where 'nextStep' will end up called again.