Page MenuHomeFreeBSD

[PowerPC] Fix panic when attempting to handle an HMI from an idle thread
ClosedPublic

Authored by bdragon on Dec 30 2019, 1:31 AM.
Referenced Files
Unknown Object (File)
Sep 18 2024, 5:58 AM
Unknown Object (File)
Sep 1 2024, 8:38 AM
Unknown Object (File)
Sep 1 2024, 3:47 AM
Unknown Object (File)
Aug 25 2024, 3:32 PM
Unknown Object (File)
Aug 18 2024, 2:05 AM
Unknown Object (File)
Aug 10 2024, 10:09 AM
Unknown Object (File)
Jul 16 2024, 12:36 PM
Unknown Object (File)
Jul 7 2024, 3:06 PM
Subscribers

Details

Summary

OK, so sfs_ finally managed to get a good trace of a kernel panic that was happening when attempting to use webengine.

Turns out the root cause was an HMI waking up an idle thread.

Inside our opal_hmi_handler2, we were using vtophys() to set up a flags variable to have opal write the status flags.

Unfortunately, we are still running in interrupt context on an idle thread a the time, so we aren't allowed to muck with the kernel pmap.

So, instead, preallocate the flags variable in pcpu where we can just pass its DMAP address directly.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision was not accepted when it landed; it landed in state Needs Review.Dec 30 2019, 2:57 AM
This revision was automatically updated to reflect the committed changes.