All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cornelia Huck <cohuck@redhat.com>
To: David Hildenbrand <david@redhat.com>
Cc: qemu-s390x@nongnu.org, qemu-devel@nongnu.org,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	Richard Henderson <rth@twiddle.net>,
	Alexander Graf <agraf@suse.de>, Thomas Huth <thuth@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v3 for-2.12 00/16] s390x/tcg: cleanup and fix program interrupts
Date: Thu, 30 Nov 2017 17:43:40 +0100	[thread overview]
Message-ID: <20171130174340.1b1a6409.cohuck@redhat.com> (raw)
In-Reply-To: <20171130162744.25442-1-david@redhat.com>

On Thu, 30 Nov 2017 17:27:28 +0100
David Hildenbrand <david@redhat.com> wrote:

> I have quite some patches on my queue for 2.12. (booting Fedora 26/27
> guests, floating interrupts, machine checks, missing instructions ...)
> 
> So let's start slowly  This series gets rid of program_interrupt() and
> potential_page_fault(). We now always properly restore the cpu state when
> injecting/delivering a program interrupt. So there is no need to update
> the state via potential_page_fault() anymore.
> 
> In addition, handling for program interrupts comming via
> s390_cpu_virt_mem_rw() was missing something for the TCG case. Also fixed.
> 
> v2 -> v3:
> - "s390x/tcg: don't exit the cpu loop in s390_cpu_virt_mem_rw()"
> --  don't break old KVM
> - Unfortunately not able to come up with a better solution for
>   "s390x: handle exceptions during s390_cpu_virt_mem_rw() correctly (TCG)"
>   so I assume we'll go with this for now.

Yes, I think we should just use that for now. None of the ideas that
came up were better.

> 
> v1 -> v2:
> - renamed program_interrupt_ra() to s390_program_interrupt()
> - introduce and use RA_IGNORED for KVM.
> - switch to cpu_exit_loop_restore() and don't check if ra is set
> - "s390x: handle exceptions during s390_cpu_virt_mem_rw() correctly (TCG)"
>  -> split out "s390x/tcg: don't exit the cpu loop in s390_cpu_virt_mem_rw()"  
> - "s390x/tcg: use program_interrupt_ra() in SCLP Service Call"
>  -> moved qemu_mutex_lock_iothread(); further up  
> - "s390x/tcg: drop program_interrupt()"
>  -> move restore to tcg_s390_program_interrupt() via cpu_loop_exit_restore()  
> - smaller requested cleanups
> 
> David Hildenbrand (16):
>   s390x/tcg: introduce and use s390_program_interrupt()
>   s390x/tcg: get rid of runtime_exception()
>   s390x/tcg: rip out dead tpi code
>   s390x/ioinst: pass the retaddr to all IO instructions
>   s390x/pci: pass the retaddr to all PCI instructions
>   s390x/diag: pass the retaddr into handle_diag_308()
>   s390x: handle exceptions during s390_cpu_virt_mem_rw() correctly (TCG)
>   s390x/tcg: don't exit the cpu loop in s390_cpu_virt_mem_rw()
>   s390x/tcg: io instructions don't need potential_page_fault()
>   s390x/tcg: use s390_program_interrupt() in SCLP Service Call
>   s390x/tcg: use s390_program_interrupt() in DIAG
>   s390x/tcg: use s390_program_interrupt() in per_check_exception()
>   s390x/tcg: use s390_program_interrupt() in SACF
>   s390x/tcg: use s390_program_interrupt() in STSI
>   s390x/tcg: drop program_interrupt()
>   s390x/tcg: drop potential_page_fault()
> 
>  hw/s390x/css.c               |   6 ---
>  hw/s390x/s390-pci-inst.c     |  90 +++++++++++++++++++---------------
>  hw/s390x/s390-pci-inst.h     |  16 +++---
>  include/hw/s390x/css.h       |   1 -
>  target/s390x/cc_helper.c     |   2 +-
>  target/s390x/cpu.h           |   5 +-
>  target/s390x/crypto_helper.c |   7 +--
>  target/s390x/diag.c          |  14 +++---
>  target/s390x/excp_helper.c   |   5 +-
>  target/s390x/fpu_helper.c    |   2 +-
>  target/s390x/int_helper.c    |  14 +++---
>  target/s390x/internal.h      |  35 +++++++-------
>  target/s390x/interrupt.c     |   9 ++--
>  target/s390x/ioinst.c        | 113 +++++++++++++++++++------------------------
>  target/s390x/kvm.c           |  43 ++++++++--------
>  target/s390x/mem_helper.c    |  35 +++++---------
>  target/s390x/misc_helper.c   |  52 +++++++-------------
>  target/s390x/mmu_helper.c    |  23 +++++++--
>  target/s390x/translate.c     |  27 +----------
>  19 files changed, 228 insertions(+), 271 deletions(-)
> 

  parent reply	other threads:[~2017-11-30 16:43 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-30 16:27 [Qemu-devel] [PATCH v3 for-2.12 00/16] s390x/tcg: cleanup and fix program interrupts David Hildenbrand
2017-11-30 16:27 ` [Qemu-devel] [PATCH v3 for-2.12 01/16] s390x/tcg: introduce and use s390_program_interrupt() David Hildenbrand
2017-11-30 16:27 ` [Qemu-devel] [PATCH v3 for-2.12 02/16] s390x/tcg: get rid of runtime_exception() David Hildenbrand
2017-11-30 16:27 ` [Qemu-devel] [PATCH v3 for-2.12 03/16] s390x/tcg: rip out dead tpi code David Hildenbrand
2017-11-30 16:27 ` [Qemu-devel] [PATCH v3 for-2.12 04/16] s390x/ioinst: pass the retaddr to all IO instructions David Hildenbrand
2017-11-30 16:27 ` [Qemu-devel] [PATCH v3 for-2.12 05/16] s390x/pci: pass the retaddr to all PCI instructions David Hildenbrand
2017-11-30 16:27 ` [Qemu-devel] [PATCH v3 for-2.12 06/16] s390x/diag: pass the retaddr into handle_diag_308() David Hildenbrand
2017-11-30 16:27 ` [Qemu-devel] [PATCH v3 for-2.12 07/16] s390x: handle exceptions during s390_cpu_virt_mem_rw() correctly (TCG) David Hildenbrand
2017-11-30 16:27 ` [Qemu-devel] [PATCH v3 for-2.12 08/16] s390x/tcg: don't exit the cpu loop in s390_cpu_virt_mem_rw() David Hildenbrand
2017-11-30 16:27 ` [Qemu-devel] [PATCH v3 for-2.12 09/16] s390x/tcg: io instructions don't need potential_page_fault() David Hildenbrand
2017-11-30 16:27 ` [Qemu-devel] [PATCH v3 for-2.12 10/16] s390x/tcg: use s390_program_interrupt() in SCLP Service Call David Hildenbrand
2017-11-30 16:27 ` [Qemu-devel] [PATCH v3 for-2.12 11/16] s390x/tcg: use s390_program_interrupt() in DIAG David Hildenbrand
2017-11-30 16:27 ` [Qemu-devel] [PATCH v3 for-2.12 12/16] s390x/tcg: use s390_program_interrupt() in per_check_exception() David Hildenbrand
2017-11-30 16:27 ` [Qemu-devel] [PATCH v3 for-2.12 13/16] s390x/tcg: use s390_program_interrupt() in SACF David Hildenbrand
2017-11-30 16:27 ` [Qemu-devel] [PATCH v3 for-2.12 14/16] s390x/tcg: use s390_program_interrupt() in STSI David Hildenbrand
2017-11-30 16:27 ` [Qemu-devel] [PATCH v3 for-2.12 15/16] s390x/tcg: drop program_interrupt() David Hildenbrand
2017-11-30 16:27 ` [Qemu-devel] [PATCH v3 for-2.12 16/16] s390x/tcg: drop potential_page_fault() David Hildenbrand
2017-11-30 16:43 ` Cornelia Huck [this message]
2017-12-01 15:38 ` [Qemu-devel] [PATCH v3 for-2.12 00/16] s390x/tcg: cleanup and fix program interrupts Cornelia Huck

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=20171130174340.1b1a6409.cohuck@redhat.com \
    --to=cohuck@redhat.com \
    --cc=agraf@suse.de \
    --cc=borntraeger@de.ibm.com \
    --cc=david@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=rth@twiddle.net \
    --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.