[Qemu-devel] [PATCH v1 0/2] PGM injection fix/rework

David Hildenbrand posted 2 patches 8 years, 4 months ago
Failed in applying to current master (apply log)
target/s390x/cpu.h         |  7 ++-----
target/s390x/helper.c      | 46 +++++++++++++++++++++++++++++++++++-----------
target/s390x/misc_helper.c | 22 +++++++++-------------
target/s390x/mmu_helper.c  |  6 +++---
target/s390x/translate.c   |  3 +--
5 files changed, 50 insertions(+), 34 deletions(-)
[Qemu-devel] [PATCH v1 0/2] PGM injection fix/rework
Posted by David Hildenbrand 8 years, 4 months ago
We have various places where we inject suppressing PGM exceptions,
but don't forward the PSW. Let's fix that by detecting whether to
forward the PSW using the interception code.

We can now get rid of ILEN_LATER/ILEN_LATER_INC and replace it by
ILEN_AUTO, to automatically detect the instruction length using the
current PSW.

ILEN_AUTO is also used with program_interrupt(), so let's add it at the
right place.

To correctly identify nullifying PER events (and also that the guest can
identify them), we have to set the PER flag PER_CODE_EVENT_NULLIFICATION
accordingly.

This e.g. fixes TB (TEST BLOCK) program interrupts in Thomas' interception
handler kvm-unit-test.

David Hildenbrand (2):
  target/s390x: correctly indicate PER nullification
  target/s390x: rework PGM interrupt psw.addr handling

 target/s390x/cpu.h         |  7 ++-----
 target/s390x/helper.c      | 46 +++++++++++++++++++++++++++++++++++-----------
 target/s390x/misc_helper.c | 22 +++++++++-------------
 target/s390x/mmu_helper.c  |  6 +++---
 target/s390x/translate.c   |  3 +--
 5 files changed, 50 insertions(+), 34 deletions(-)

-- 
2.9.3


Re: [Qemu-devel] [PATCH v1 0/2] PGM injection fix/rework
Posted by Richard Henderson 8 years, 4 months ago
On 06/09/2017 07:21 AM, David Hildenbrand wrote:
> We have various places where we inject suppressing PGM exceptions,
> but don't forward the PSW. Let's fix that by detecting whether to
> forward the PSW using the interception code.
> 
> We can now get rid of ILEN_LATER/ILEN_LATER_INC and replace it by
> ILEN_AUTO, to automatically detect the instruction length using the
> current PSW.
> 
> ILEN_AUTO is also used with program_interrupt(), so let's add it at the
> right place.
> 
> To correctly identify nullifying PER events (and also that the guest can
> identify them), we have to set the PER flag PER_CODE_EVENT_NULLIFICATION
> accordingly.
> 
> This e.g. fixes TB (TEST BLOCK) program interrupts in Thomas' interception
> handler kvm-unit-test.
> 
> David Hildenbrand (2):
>    target/s390x: correctly indicate PER nullification
>    target/s390x: rework PGM interrupt psw.addr handling
> 
>   target/s390x/cpu.h         |  7 ++-----
>   target/s390x/helper.c      | 46 +++++++++++++++++++++++++++++++++++-----------
>   target/s390x/misc_helper.c | 22 +++++++++-------------
>   target/s390x/mmu_helper.c  |  6 +++---
>   target/s390x/translate.c   |  3 +--
>   5 files changed, 50 insertions(+), 34 deletions(-)
> 

Applied, thanks.


r~