All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Claudio Imbrenda <imbrenda@linux.ibm.com>
To: Janosch Frank <frankja@linux.ibm.com>
Cc: kvm@vger.kernel.org, linux-s390@vger.kernel.org,
	david@redhat.com, thuth@redhat.com, cohuck@redhat.com
Subject: Re: [kvm-unit-tests PATCH 4/4] lib: s390x: sie: Move sie function into library
Date: Thu, 29 Jul 2021 16:23:00 +0200	[thread overview]
Message-ID: <20210729162300.72bb4af9@p-imbrenda> (raw)
In-Reply-To: <20210729134803.183358-5-frankja@linux.ibm.com>

On Thu, 29 Jul 2021 13:48:03 +0000
Janosch Frank <frankja@linux.ibm.com> wrote:

> Time to deduplicate more code.
> 
> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>

Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>

> ---
>  lib/s390x/sie.c  | 13 +++++++++++++
>  lib/s390x/sie.h  |  1 +
>  s390x/mvpg-sie.c | 13 -------------
>  s390x/sie.c      | 17 -----------------
>  4 files changed, 14 insertions(+), 30 deletions(-)
> 
> diff --git a/lib/s390x/sie.c b/lib/s390x/sie.c
> index ec0c4867..d971e825 100644
> --- a/lib/s390x/sie.c
> +++ b/lib/s390x/sie.c
> @@ -43,6 +43,19 @@ void sie_handle_validity(struct vm *vm)
>  	validity_expected = false;
>  }
>  
> +void sie(struct vm *vm)
> +{
> +	/* Reset icptcode so we don't trip over it below */
> +	vm->sblk->icptcode = 0;
> +
> +	while (vm->sblk->icptcode == 0) {
> +		sie64a(vm->sblk, &vm->save_area);
> +		sie_handle_validity(vm);
> +	}
> +	vm->save_area.guest.grs[14] = vm->sblk->gg14;
> +	vm->save_area.guest.grs[15] = vm->sblk->gg15;
> +}
> +
>  /* Initializes the struct vm members like the SIE control block. */
>  void sie_guest_create(struct vm *vm, uint64_t guest_mem, uint64_t
> guest_mem_len) {
> diff --git a/lib/s390x/sie.h b/lib/s390x/sie.h
> index 946bd164..ca514ef3 100644
> --- a/lib/s390x/sie.h
> +++ b/lib/s390x/sie.h
> @@ -198,6 +198,7 @@ struct vm {
>  extern void sie_entry(void);
>  extern void sie_exit(void);
>  extern void sie64a(struct kvm_s390_sie_block *sblk, struct
> vm_save_area *save_area); +void sie(struct vm *vm);
>  void sie_expect_validity(void);
>  void sie_check_validity(uint16_t vir_exp);
>  void sie_handle_validity(struct vm *vm);
> diff --git a/s390x/mvpg-sie.c b/s390x/mvpg-sie.c
> index 71ae4f88..70d2fcfa 100644
> --- a/s390x/mvpg-sie.c
> +++ b/s390x/mvpg-sie.c
> @@ -32,19 +32,6 @@ extern const char
> _binary_s390x_snippets_c_mvpg_snippet_gbin_start[]; extern const char
> _binary_s390x_snippets_c_mvpg_snippet_gbin_end[]; int binary_size;
>  
> -static void sie(struct vm *vm)
> -{
> -	/* Reset icptcode so we don't trip over it below */
> -	vm->sblk->icptcode = 0;
> -
> -	while (vm->sblk->icptcode == 0) {
> -		sie64a(vm->sblk, &vm->save_area);
> -		sie_handle_validity(vm);
> -	}
> -	vm->save_area.guest.grs[14] = vm->sblk->gg14;
> -	vm->save_area.guest.grs[15] = vm->sblk->gg15;
> -}
> -
>  static void test_mvpg_pei(void)
>  {
>  	uint64_t **pei_dst = (uint64_t **)((uintptr_t) vm.sblk +
> 0xc0); diff --git a/s390x/sie.c b/s390x/sie.c
> index 9cb9b055..ed2c3263 100644
> --- a/s390x/sie.c
> +++ b/s390x/sie.c
> @@ -24,22 +24,6 @@ static u8 *guest;
>  static u8 *guest_instr;
>  static struct vm vm;
>  
> -
> -static void sie(struct vm *vm)
> -{
> -	while (vm->sblk->icptcode == 0) {
> -		sie64a(vm->sblk, &vm->save_area);
> -		sie_handle_validity(vm);
> -	}
> -	vm->save_area.guest.grs[14] = vm->sblk->gg14;
> -	vm->save_area.guest.grs[15] = vm->sblk->gg15;
> -}
> -
> -static void sblk_cleanup(struct vm *vm)
> -{
> -	vm->sblk->icptcode = 0;
> -}
> -
>  static void test_diag(u32 instr)
>  {
>  	vm.sblk->gpsw.addr = PAGE_SIZE * 2;
> @@ -51,7 +35,6 @@ static void test_diag(u32 instr)
>  	report(vm.sblk->icptcode == ICPT_INST &&
>  	       vm.sblk->ipa == instr >> 16 && vm.sblk->ipb == instr
> << 16, "Intercept data");
> -	sblk_cleanup(&vm);
>  }
>  
>  static struct {


  reply	other threads:[~2021-07-29 14:23 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-29 13:47 [kvm-unit-tests PATCH 0/4] s390x: SIE cleanup 2 Janosch Frank
2021-07-29 13:48 ` [kvm-unit-tests PATCH 1/4] s390x: sie: Add sie lib validity handling Janosch Frank
2021-07-29 14:11   ` Claudio Imbrenda
2021-07-29 14:33     ` Janosch Frank
2021-07-29 14:42       ` Claudio Imbrenda
2021-07-30 14:45   ` Thomas Huth
2021-08-03 13:47     ` Janosch Frank
2021-08-03 13:57   ` [kvm-unit-tests PATCH v2] " Janosch Frank
2021-08-03 14:47     ` Thomas Huth
2021-07-29 13:48 ` [kvm-unit-tests PATCH 2/4] s390x: lib: Introduce HPAGE_* constants Janosch Frank
2021-07-29 14:11   ` Claudio Imbrenda
2021-07-30 14:46   ` Thomas Huth
2021-07-29 13:48 ` [kvm-unit-tests PATCH 3/4] s390x: lib: sie: Add struct vm (de)initialization functions Janosch Frank
2021-07-29 14:21   ` Claudio Imbrenda
2021-07-29 14:32     ` Janosch Frank
2021-07-30 14:52   ` Thomas Huth
2021-07-29 13:48 ` [kvm-unit-tests PATCH 4/4] lib: s390x: sie: Move sie function into library Janosch Frank
2021-07-29 14:23   ` Claudio Imbrenda [this message]
2021-07-30 14:54   ` Thomas Huth

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=20210729162300.72bb4af9@p-imbrenda \
    --to=imbrenda@linux.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=david@redhat.com \
    --cc=frankja@linux.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=thuth@redhat.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.