On Mon, May 16, 2022 at 12:19:45PM +0200, Heiko Carstens wrote: > On Mon, May 16, 2022 at 11:07:43AM +0200, Alexander Gordeev wrote: > > Isn't the machine check handler refers to this memory before checking > > unrecoverable storage errors (with CHKSTG macro) as result of this change? > > Yes, indeed. However implementing this without another register will > be quite of a challenge. So what I would prefer in any case: just > assume that this minimal set of memory accesses work. Actually I'd > seriously like to go a bit further, and even move the checks for > storage errors back to C for two reasons: > > - this would make the machine check handler entry code easier again > - it would also allow to enter the machine check handler with DAT on > > After all we rely anyway on the fact that at least the local lowcore + > the page(s) which contain text are still accessible. Assuming that a > couple of page tables also work won't make this much worse, but the > code much easier. > > So I'd suggest: leave this code as is, and at some later point move > "rework" the early machine check handler code. > > What do you think? Sounds very reasonable. Please, find my: Acked-by: Alexander Gordeev <agordeev@xxxxxxxxxxxxx> Also, how such a follow-up looks to you? lgr %r14,\reg #ifdef CONFIG_AS_IS_LLVM larl %r13,\start slgr %r14,%r13 clgfrl %r14,.Lrange_size\@ #else slgfi %r14,\start clgfi %r14,\end - \start #endif