From: Claudio Imbrenda <imbrenda@linux.ibm.com>
To: Janosch Frank <frankja@linux.ibm.com>
Cc: kvm@vger.kernel.org, linux-s390@vger.kernel.org,
borntraeger@linux.ibm.com, akrowiak@linux.ibm.com
Subject: Re: [RFC 10/10] KVM: s390: Cleanup kvm_s390_store_status_unloaded
Date: Wed, 18 Mar 2026 16:51:51 +0100 [thread overview]
Message-ID: <20260318165151.19e0aff8@p-imbrenda> (raw)
In-Reply-To: <20260316180310.17765-11-frankja@linux.ibm.com>
On Mon, 16 Mar 2026 16:23:57 +0000
Janosch Frank <frankja@linux.ibm.com> wrote:
> Fixup comments, use gpa_t and replace magic constants.
>
> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
> ---
> arch/s390/kvm/kvm-s390.c | 24 ++++++++++++++++--------
> arch/s390/kvm/kvm-s390.h | 4 ++--
> 2 files changed, 18 insertions(+), 10 deletions(-)
>
> diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
> index 1668580008c6..c76f83b38d27 100644
> --- a/arch/s390/kvm/kvm-s390.c
> +++ b/arch/s390/kvm/kvm-s390.c
> @@ -4993,11 +4993,12 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu)
>
> /*
> * store status at address
> - * we use have two special cases:
> - * KVM_S390_STORE_STATUS_NOADDR: -> 0x1200 on 64 bit
> - * KVM_S390_STORE_STATUS_PREFIXED: -> prefix
> + *
> + * We have two special cases:
> + * - KVM_S390_STORE_STATUS_NOADDR: -> 0x1200 on 64 bit
> + * - KVM_S390_STORE_STATUS_PREFIXED: -> prefix
> */
since you're touching this comment block, make it proper kerneldoc,
describing parameters, return value, etc
the rest of the patch is good
> -int kvm_s390_store_status_unloaded(struct kvm_vcpu *vcpu, unsigned long gpa)
> +int kvm_s390_store_status_unloaded(struct kvm_vcpu *vcpu, gpa_t gpa)
> {
> unsigned char archmode = 1;
> freg_t fprs[NUM_FPRS];
> @@ -5007,15 +5008,22 @@ int kvm_s390_store_status_unloaded(struct kvm_vcpu *vcpu, unsigned long gpa)
>
> px = kvm_s390_get_prefix(vcpu);
> if (gpa == KVM_S390_STORE_STATUS_NOADDR) {
> - if (write_guest_abs(vcpu, 163, &archmode, 1))
> + if (write_guest_abs(vcpu, __LC_AR_MODE_ID, &archmode, 1))
> return -EFAULT;
> gpa = 0;
> } else if (gpa == KVM_S390_STORE_STATUS_PREFIXED) {
> - if (write_guest_real(vcpu, 163, &archmode, 1))
> + if (write_guest_real(vcpu, __LC_AR_MODE_ID, &archmode, 1))
> return -EFAULT;
> gpa = px;
> - } else
> + } else {
> + /*
> + * Store status at address does NOT store vrs and arch
> + * indication. Since we add __LC_FPREGS_SAVE_AREA to
> + * the address when writing, we need to subtract it
> + * here.
> + */
> gpa -= __LC_FPREGS_SAVE_AREA;
> + }
>
> /* manually convert vector registers if necessary */
> if (cpu_has_vx()) {
> @@ -5049,7 +5057,7 @@ int kvm_s390_store_status_unloaded(struct kvm_vcpu *vcpu, unsigned long gpa)
> return rc ? -EFAULT : 0;
> }
>
> -int kvm_s390_vcpu_store_status(struct kvm_vcpu *vcpu, unsigned long addr)
> +int kvm_s390_vcpu_store_status(struct kvm_vcpu *vcpu, gpa_t addr)
> {
> /*
> * The guest FPRS and ACRS are in the host FPRS/ACRS due to the lazy
> diff --git a/arch/s390/kvm/kvm-s390.h b/arch/s390/kvm/kvm-s390.h
> index 1ffaec723a30..9cfc3caee334 100644
> --- a/arch/s390/kvm/kvm-s390.h
> +++ b/arch/s390/kvm/kvm-s390.h
> @@ -450,8 +450,8 @@ int kvm_s390_handle_sigp_pei(struct kvm_vcpu *vcpu);
>
> /* implemented in kvm-s390.c */
> int kvm_s390_try_set_tod_clock(struct kvm *kvm, const struct kvm_s390_vm_tod_clock *gtod);
> -int kvm_s390_store_status_unloaded(struct kvm_vcpu *vcpu, unsigned long addr);
> -int kvm_s390_vcpu_store_status(struct kvm_vcpu *vcpu, unsigned long addr);
> +int kvm_s390_store_status_unloaded(struct kvm_vcpu *vcpu, gpa_t addr);
> +int kvm_s390_vcpu_store_status(struct kvm_vcpu *vcpu, gpa_t addr);
> int kvm_s390_vcpu_start(struct kvm_vcpu *vcpu);
> int kvm_s390_vcpu_stop(struct kvm_vcpu *vcpu);
> void kvm_s390_vcpu_block(struct kvm_vcpu *vcpu);
next prev parent reply other threads:[~2026-03-18 15:51 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-16 16:23 [RFC 00/10] KVM: s390: spring cleanup Janosch Frank
2026-03-16 16:23 ` [RFC 01/10] KVM: s390: diag258: Pass absolute address to kvm_is_gpa_in_memslot() Janosch Frank
2026-03-16 18:34 ` Christian Borntraeger
2026-03-17 10:01 ` Christoph Schlameuss
2026-03-18 16:04 ` Claudio Imbrenda
2026-03-16 16:23 ` [RFC 02/10] KVM: s390: Consolidate lpswe variants Janosch Frank
2026-03-16 18:47 ` Christian Borntraeger
2026-03-17 8:13 ` Janosch Frank
2026-03-17 13:03 ` [PATCH] KVM: s390: Fix lpsw/e breaking event handling Janosch Frank
2026-03-17 13:30 ` Christian Borntraeger
2026-03-23 15:08 ` Hendrik Brueckner
2026-03-16 16:23 ` [RFC 03/10] KVM: s390: Convert shifts to gpa_to_gfn() Janosch Frank
2026-03-16 18:49 ` Christian Borntraeger
2026-03-17 10:38 ` Christoph Schlameuss
2026-03-18 14:26 ` Claudio Imbrenda
2026-03-16 16:23 ` [RFC 04/10] KVM: s390: kvm_s390_real_to_abs() should return gpa_t Janosch Frank
2026-03-16 18:53 ` Christian Borntraeger
2026-03-18 7:10 ` Christoph Schlameuss
2026-03-18 14:29 ` Claudio Imbrenda
2026-03-16 16:23 ` [RFC 05/10] KVM: s390: vsie: Cleanup and fixup of crycb handling Janosch Frank
2026-03-18 14:13 ` Christoph Schlameuss
2026-03-18 16:48 ` Claudio Imbrenda
2026-03-20 12:01 ` Anthony Krowiak
2026-03-23 15:54 ` Janosch Frank
2026-03-16 16:23 ` [RFC 06/10] KVM: s390: Rework lowcore access functions Janosch Frank
2026-03-18 14:25 ` Claudio Imbrenda
2026-03-23 9:11 ` Christoph Schlameuss
2026-03-16 16:23 ` [RFC 07/10] KVM: s390: Use gpa_t and gva_t in gaccess files Janosch Frank
2026-03-18 15:36 ` Claudio Imbrenda
2026-03-23 9:10 ` Christoph Schlameuss
2026-03-16 16:23 ` [RFC 08/10] KVM: s390: Use gpa_t in priv.c Janosch Frank
2026-03-18 16:02 ` Claudio Imbrenda
2026-03-30 14:53 ` Janosch Frank
2026-03-23 9:28 ` Christoph Schlameuss
2026-03-16 16:23 ` [RFC 09/10] KVM: s390: Use gpa_t in pv.c Janosch Frank
2026-03-18 15:46 ` Claudio Imbrenda
2026-03-23 9:41 ` Christoph Schlameuss
2026-03-30 14:36 ` Janosch Frank
2026-03-16 16:23 ` [RFC 10/10] KVM: s390: Cleanup kvm_s390_store_status_unloaded Janosch Frank
2026-03-18 15:51 ` Claudio Imbrenda [this message]
2026-03-23 9:47 ` Christoph Schlameuss
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260318165151.19e0aff8@p-imbrenda \
--to=imbrenda@linux.ibm.com \
--cc=akrowiak@linux.ibm.com \
--cc=borntraeger@linux.ibm.com \
--cc=frankja@linux.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox