[PATCH v4 19/27] s390: Introduce Start Arm Execution instruction

Christian Borntraeger borntraeger at linux.ibm.com
Mon Jul 6 04:30:20 PDT 2026



Am 06.07.26 um 13:17 schrieb Janosch Frank:

>> +SYM_FUNC_START(__sae64a)
>> +    stmg    %r6,%r14,__SF_GPRS(%r15)    # store kernel registers
>> +    STBEAR    __SF_SAE_BEAR(%r15)        # save breaking event address register
>> +    .insn    rre,0xb9a50000,%r2,0        # Start Arm Execution
>> +# Let the next instruction be NOP to avoid triggering a machine check
>> +# and handling it in a guest as result of the instruction execution.
> 
> @Christian:
> I have the feeling things got lost in translation when this comment was written.
> How would we trigger a MCHECK by having an instruction after SIE/SAE?
> AFAIU this allows us to have a label which we can check in the mcheck handler to decide who triggered the mcheck.

the original rationale was that some machine checks are nullifying some are terminating. So the PSW might point
to SAE or the instruction afterwards for a guest machine check.
In SIE, we use that nop to account any machine check on that nop as a guest machine check.

> 
> Without the label the comment and NOP are useless as far as I can see.
> So we need to decide if this still applies and then either remove it or add sae handling to mcck_int_handler and maybe other mcheck functions.

We plan to get more information on the machine checks for sae so we might no longer need that.
But this series does not yet contain the machine check handling. Maybe its better to remove comment and
nop and introduce that later when we add machine check handling and if still needed.



More information about the linux-arm-kernel mailing list