From: David Hildenbrand <david@redhat.com>
To: qemu-s390x@nongnu.org, qemu-devel@nongnu.org
Cc: Christian Borntraeger <borntraeger@de.ibm.com>,
Cornelia Huck <cohuck@redhat.com>,
Richard Henderson <rth@twiddle.net>,
Alexander Graf <agraf@suse.de>, Thomas Huth <thuth@redhat.com>
Subject: [Qemu-devel] [PATCH v3 for-2.12 00/16] s390x/tcg: cleanup and fix program interrupts
Date: Thu, 30 Nov 2017 17:27:28 +0100 [thread overview]
Message-ID: <20171130162744.25442-1-david@redhat.com> (raw)
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.
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(-)
--
2.14.3
next reply other threads:[~2017-11-30 16:27 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-30 16:27 David Hildenbrand [this message]
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 ` [Qemu-devel] [PATCH v3 for-2.12 00/16] s390x/tcg: cleanup and fix program interrupts Cornelia Huck
2017-12-01 15:38 ` 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=20171130162744.25442-1-david@redhat.com \
--to=david@redhat.com \
--cc=agraf@suse.de \
--cc=borntraeger@de.ibm.com \
--cc=cohuck@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).