[PATCH v7 0/2] target/s390x: Implement the MVPG condition-code-option bit

David Hildenbrand posted 2 patches 3 years, 1 month ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210315085449.34676-1-david@redhat.com
Maintainers: David Hildenbrand <david@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, Thomas Huth <thuth@redhat.com>, Cornelia Huck <cohuck@redhat.com>
target/s390x/cpu.h         |   5 ++
target/s390x/excp_helper.c |   3 +
target/s390x/helper.h      |   2 +-
target/s390x/insn-data.def |   2 +-
target/s390x/mem_helper.c  | 160 ++++++++++++++++++++++++++++++-------
target/s390x/translate.c   |   7 +-
6 files changed, 146 insertions(+), 33 deletions(-)
[PATCH v7 0/2] target/s390x: Implement the MVPG condition-code-option bit
Posted by David Hildenbrand 3 years, 1 month ago
Based on work from Richard and Thomas.

v6 -> v7:
- "target/s390x: Implement the MVPG condition-code-option bit"
-- Fix PGM_PROTECTION for QEMU_USER_ONLY (overridden by patch #2)

v5 -> v6:
- "target/s390x: Implement the MVPG condition-code-option bit"
-- Better handle CONFIG_USER_ONLY
-- Factor handling out into s390_probe_access().
- "target/s390x: Store r1/r2 for page-translation exceptions during MVPG"
-- Store tec only for !PGM_ADDRESSING

v4 -> v5:
- Don't realy on TLB_INVALID_MASK
-- Check against tlb_fill_exc and return the exception right away
- Handle !CONFIG_USER_ONLY
-- Check against haddr
-- Properly store vaddr to env->__excp_addr and return PGM_ADDRESSING
- Exclude tlb_fill_tec/tlb_fill_exc for CONFIG_USER_ONLY
- While at it, tackle r1/r2 indication as well

KVM unit tests continue working as expected.

David Hildenbrand (1):
  target/s390x: Store r1/r2 for page-translation exceptions during MVPG

Richard Henderson (1):
  target/s390x: Implement the MVPG condition-code-option bit

 target/s390x/cpu.h         |   5 ++
 target/s390x/excp_helper.c |   3 +
 target/s390x/helper.h      |   2 +-
 target/s390x/insn-data.def |   2 +-
 target/s390x/mem_helper.c  | 160 ++++++++++++++++++++++++++++++-------
 target/s390x/translate.c   |   7 +-
 6 files changed, 146 insertions(+), 33 deletions(-)

-- 
2.29.2


Re: [PATCH v7 0/2] target/s390x: Implement the MVPG condition-code-option bit
Posted by Thomas Huth 3 years, 1 month ago
On 15/03/2021 09.54, David Hildenbrand wrote:
> Based on work from Richard and Thomas.
> 
> v6 -> v7:
> - "target/s390x: Implement the MVPG condition-code-option bit"
> -- Fix PGM_PROTECTION for QEMU_USER_ONLY (overridden by patch #2)

I just double-checked my version of the MVPG kvm-unit-test and some Linux 
guest images, and all seem to still work fine.

Tested-by: Thomas Huth <thuth@redhat.com>


Re: [PATCH v7 0/2] target/s390x: Implement the MVPG condition-code-option bit
Posted by Cornelia Huck 3 years, 1 month ago
On Mon, 15 Mar 2021 09:54:47 +0100
David Hildenbrand <david@redhat.com> wrote:

> Based on work from Richard and Thomas.
> 
> v6 -> v7:
> - "target/s390x: Implement the MVPG condition-code-option bit"
> -- Fix PGM_PROTECTION for QEMU_USER_ONLY (overridden by patch #2)
> 
> v5 -> v6:
> - "target/s390x: Implement the MVPG condition-code-option bit"
> -- Better handle CONFIG_USER_ONLY
> -- Factor handling out into s390_probe_access().
> - "target/s390x: Store r1/r2 for page-translation exceptions during MVPG"
> -- Store tec only for !PGM_ADDRESSING
> 
> v4 -> v5:
> - Don't realy on TLB_INVALID_MASK
> -- Check against tlb_fill_exc and return the exception right away
> - Handle !CONFIG_USER_ONLY
> -- Check against haddr
> -- Properly store vaddr to env->__excp_addr and return PGM_ADDRESSING
> - Exclude tlb_fill_tec/tlb_fill_exc for CONFIG_USER_ONLY
> - While at it, tackle r1/r2 indication as well
> 
> KVM unit tests continue working as expected.
> 
> David Hildenbrand (1):
>   target/s390x: Store r1/r2 for page-translation exceptions during MVPG
> 
> Richard Henderson (1):
>   target/s390x: Implement the MVPG condition-code-option bit
> 
>  target/s390x/cpu.h         |   5 ++
>  target/s390x/excp_helper.c |   3 +
>  target/s390x/helper.h      |   2 +-
>  target/s390x/insn-data.def |   2 +-
>  target/s390x/mem_helper.c  | 160 ++++++++++++++++++++++++++++++-------
>  target/s390x/translate.c   |   7 +-
>  6 files changed, 146 insertions(+), 33 deletions(-)
> 

Thanks, applied.