Re: [PATCH v5 23/31] s390: Introduce Start Arm Execution instruction

[email protected] Fri, 31 Jul 2026 14:03:15 +0000
Newsgroups dev.linux.lists.kvmarm,org.kernel.vger.kvm,org.kernel.vger.linux-s390
Message-ID <[email protected]>
> The Start Arm Execution (SAE) instruction is the centerpiece for
> executing arm64 (KVM) guests on s390. Its purpose is, similar to SIE, to
> enable accelerated execution of arm64 virtual machines. SAE expects the
> physical address of a control block as the only argument.
> 
> The host is responsible to save & restore
>  - GPRs 0-13
>  - access register 0-15
>  - breaking event register (BEAR)
>  - vector/floating point registers
> between SAE executions to guarantee host consistency.
> 
> GPRs and BEAR are save and restores in the asm functions. The other
> register are handled in within C code. Access registers are handled in a
> later patch and SVEs will be handled when they are introduced in a
> future series. Most arm64 registers are handled by a satellite block
> called save_area. Some registers, frequently used by hypervisors, are
> placed into the SAE control block itself.
> 
> Enlighten asm/kvm_host_types.h for the new header variant. The new
> header is chosen instead of asm/kvm_host_s390_types.h if KVM_S390_ARM64
> is defined.
> 
> Co-developed-by: Andreas Grapentin <[email protected]>
> Signed-off-by: Andreas Grapentin <[email protected]>
> Co-developed-by: Nina Schoetterl-Glausch <[email protected]>
> Signed-off-by: Nina Schoetterl-Glausch <[email protected]>
> Signed-off-by: Steffen Eiden <[email protected]>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=23