Ganesh Goudar's on March 14, 2020 12:04 am: > MCE handling on pSeries platform fails as recent rework to use common > code for pSeries and PowerNV in machine check error handling tries to > access per-cpu variables in realmode. The per-cpu variables may be > outside the RMO region on pSeries platform and needs translation to be > enabled for access. Just moving these per-cpu variable into RMO region > did'nt help because we queue some work to workqueues in real mode, which > again tries to touch per-cpu variables.
Which queues are these? We should not be using Linux workqueues, but the powerpc mce code which uses irq_work. > Also fwnmi_release_errinfo() > cannot be called when translation is not enabled. Why not? > This patch fixes this by enabling translation in the exception handler > when all required real mode handling is done. This change only affects > the pSeries platform. Not supposed to do this, because we might not be in a state where the MMU is ready to be turned on at this point. I'd like to understand better which accesses are a problem, and whether we can fix them all to be in the RMO. Thanks, Nick