This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[DSP/BIOS] NMI can cause race condition in BIOS 5 kernel (small code window where you cannot return from NMI safely)

C2000 Gurus,

The DSP/BIOS team has identified a NMI race condition in DSP/BIOS 5.

If you have questions regarding this, please post to the Embedded Software and Tools > Code Composer forum:

https://community.ti.com/forums/138.aspx

There is a 2-3 instruction window within the BIOS scheduler where the stack pointer is updated w/o protecting the top element on the stack.  This code is protected from interrupts since interrupts are disabled.  But if the customer is using NMI  for normal system function (not just failure condition where they reset/resart) there could be a big problem.   If the NMI occurs within this 3 instruction window, the stack will get corrupted and code will return to an invalid address.

This problem does not affect "normal" interrupts.  And this problem does not interfere with the use of NMI to catch major failures and use NMI for system restart/reset.

This bug has been in the code since 2003 and affect DSP/BIOS 4.90 -> DSP/BIOS 5.41.01.

This bug will be fixed in 5.41.02 which should be released to the external web by Monday.