Re: [PATCH v5 5/5] x86/CPU/AMD: Print the reason for the last reset

From: Mario Limonciello
Date: Wed Apr 30 2025 - 15:33:00 EST


On 4/30/2025 2:25 PM, Borislav Petkov wrote:
On Wed, Apr 30, 2025 at 02:17:43PM -0500, Mario Limonciello wrote:
Well with that approach once you got a known bit set you broke the loop and
would print a message for that known bit. But if you have two bits set you
either need another loop or you only get one message print.

So I gather you want to print for *each* set bit?

If so:

for (i = 0; i <= ARRAY_SIZE(s5_reset_reason_txt); i++) {
if (!(value & BIT(i)))
continue;

if (s5_reset_reason_txt[i])
pr_info(...);
}

Still a lot easier instead of calling some function and dealing with from
which bit to start etc etc.



This would work, but would still need to track if "no" known bits were set to emit an "unknown" message.

So the loops end up being for() and check a bit or while (true) and find_next_bit() and otherwise identical.

At that point does it really buy much more than the while (true) approach and find_next_bit()?