[PATCH v1 13/26] s390: Introduce read/write ARM sysreg instructions
Janosch Frank
frankja at linux.ibm.com
Wed Jun 10 01:55:29 PDT 2026
On 6/10/26 10:30, Steffen Eiden wrote:
> On Tue, Jun 09, 2026 at 05:04:10PM +0200, Janosch Frank wrote:
>> On 5/29/26 17:55, Steffen Eiden wrote:
>>> Introduce Extract Arm System Register and Store Arm System Register to
>>> enable s390 hosts to read and write system registers for arm64 guests.
>>> The new instructions use the new RIE_H instruction format. Add assembler
>>> macros to create instructions in RIE_H format manually. Add Support for
>>> disassembling the new instructions.
>>>
>>> Co-developed-by: Andreas Grapentin <gra at linux.ibm.com>
>>> Signed-off-by: Andreas Grapentin <gra at linux.ibm.com>
>>> Signed-off-by: Steffen Eiden <seiden at linux.ibm.com>
>>> ---
>>> arch/s390/include/asm/sae-asm.h | 48 +++++++++++++++++++++++++++
>>> arch/s390/include/asm/sae.h | 58 +++++++++++++++++++++++++++++++++
>>> arch/s390/kernel/dis.c | 1 +
>>> arch/s390/tools/opcodes.txt | 2 ++
>>> 4 files changed, 109 insertions(+)
>>> create mode 100644 arch/s390/include/asm/sae-asm.h
>>>
>
[...]
>>> + * sasr() - Set Arm System Register
>>> + * @arm_reg: ARM system register identifier; compile-time constant
>>> + * @val: Value to set
>>> + * @save_area: Pointer to SAE save area
>>> + * @flags: Operation flags; compile-time constant
>>> + *
>>> + * Sets an ARM system register value.
>>> + */
>>> +static __always_inline void sasr(unsigned int arm_reg, u64 val,
>>> + struct kvm_sae_save_area *save_area,
>>> + u64 flags)
>>
>> m4 is 4 bits in length, any reason why we use a u64 here?
>> Same for easr.
>>
>
> No real reason beside my preference of using u64 by default.
>
> Do you want me to change it to u8?
Yes, that makes the potential problem a bit smaller but also:
Since we go through our macro magic I'm not sure if the compiler would
complain about values over 4 bits. Did you check for that and if not
please do check now.
If it does not complain we need a compile time check. Well maybe we
should have one either way until the instruction format is available in
compilers just to be safe.
@Christian: Thoughts?
More information about the linux-arm-kernel
mailing list