[PATCH v4 0/3] ppc: Enable 2nd DAWR support on Power10

Ravi Bangoria posted 3 patches 3 years ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210406053833.282907-1-ravi.bangoria@linux.ibm.com
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, Greg Kurz <groug@kaod.org>, David Gibson <david@gibson.dropbear.id.au>, "Michael S. Tsirkin" <mst@redhat.com>, Cornelia Huck <cohuck@redhat.com>
There is a newer version of this series
hw/ppc/spapr.c                                |  7 +-
hw/ppc/spapr_caps.c                           | 32 +++++++
include/hw/ppc/spapr.h                        |  8 +-
include/standard-headers/drm/drm_fourcc.h     | 23 ++++-
include/standard-headers/linux/input.h        |  2 +-
.../standard-headers/rdma/vmw_pvrdma-abi.h    |  7 ++
linux-headers/asm-generic/unistd.h            |  4 +-
linux-headers/asm-mips/unistd_n32.h           |  1 +
linux-headers/asm-mips/unistd_n64.h           |  1 +
linux-headers/asm-mips/unistd_o32.h           |  1 +
linux-headers/asm-powerpc/kvm.h               |  2 +
linux-headers/asm-powerpc/unistd_32.h         |  1 +
linux-headers/asm-powerpc/unistd_64.h         |  1 +
linux-headers/asm-s390/unistd_32.h            |  1 +
linux-headers/asm-s390/unistd_64.h            |  1 +
linux-headers/asm-x86/kvm.h                   |  1 +
linux-headers/asm-x86/unistd_32.h             |  1 +
linux-headers/asm-x86/unistd_64.h             |  1 +
linux-headers/asm-x86/unistd_x32.h            |  1 +
linux-headers/linux/kvm.h                     | 89 +++++++++++++++++++
linux-headers/linux/vfio.h                    | 27 ++++++
target/ppc/cpu.h                              |  6 +-
target/ppc/kvm.c                              | 12 +++
target/ppc/kvm_ppc.h                          | 12 +++
target/ppc/translate_init.c.inc               | 19 +++-
25 files changed, 250 insertions(+), 11 deletions(-)
[PATCH v4 0/3] ppc: Enable 2nd DAWR support on Power10
Posted by Ravi Bangoria 3 years ago
This series enables 2nd DAWR support on p10 qemu guest. 2nd
DAWR is new watchpoint added in Power10 processor. Kernel/kvm
patches are already in[1]. Watchpoint on powerpc TCG guest is
not supported and thus 2nd DAWR is not enabled for TCG mode.

Patches apply fine on qemu/master branch (11577d85b1a6).

v3: https://lore.kernel.org/r/20210330095350.36309-1-ravi.bangoria@linux.ibm.com
v3->v4:
  - spapr_dt_pa_features(): POWER10 processor is compatible with 3.0
    (PCR_COMPAT_3_00). No need to ppc_check_compat(3_10) for now as
    ppc_check_compati(3_00) will also be true. ppc_check_compat(3_10)
    can be added while introducing pa_features_310 in future.
  - Use error_append_hint() for hints. Also add ERRP_GUARD().
  - Add kvmppc_set_cap_dawr1() stub function for CONFIG_KVM=n.

v2: https://lore.kernel.org/r/20210329041906.213991-1-ravi.bangoria@linux.ibm.com
v2->v3:
  - Don't introduce pa_features_310[], instead, reuse pa_features_300[]
    for 3.1 guests, as there is no difference between initial values of
    them atm.
  - Call gen_spr_book3s_310_dbg() from init_proc_POWER10() instead of
    init_proc_POWER8(). Also, Don't call gen_spr_book3s_207_dbg() from
    gen_spr_book3s_310_dbg() as init_proc_POWER10() already calls it.

v1: https://lore.kernel.org/r/20200723104220.314671-1-ravi.bangoria@linux.ibm.com
[Apologies for long gap]
v1->v2:
  - Introduce machine capability cap-dawr1 to enable/disable
    the feature. By default, 2nd DAWR is OFF for guests even
    when host kvm supports it. User has to manually enable it
    with -machine cap-dawr1=on if he wishes to use it.
  - Split the header file changes into separate patch. (Sync
    headers from v5.12-rc3)

[1] https://git.kernel.org/torvalds/c/bd1de1a0e6eff

Ravi Bangoria (3):
  Linux headers: update from 5.12-rc3
  ppc: Rename current DAWR macros and variables
  ppc: Enable 2nd DAWR support on p10

 hw/ppc/spapr.c                                |  7 +-
 hw/ppc/spapr_caps.c                           | 32 +++++++
 include/hw/ppc/spapr.h                        |  8 +-
 include/standard-headers/drm/drm_fourcc.h     | 23 ++++-
 include/standard-headers/linux/input.h        |  2 +-
 .../standard-headers/rdma/vmw_pvrdma-abi.h    |  7 ++
 linux-headers/asm-generic/unistd.h            |  4 +-
 linux-headers/asm-mips/unistd_n32.h           |  1 +
 linux-headers/asm-mips/unistd_n64.h           |  1 +
 linux-headers/asm-mips/unistd_o32.h           |  1 +
 linux-headers/asm-powerpc/kvm.h               |  2 +
 linux-headers/asm-powerpc/unistd_32.h         |  1 +
 linux-headers/asm-powerpc/unistd_64.h         |  1 +
 linux-headers/asm-s390/unistd_32.h            |  1 +
 linux-headers/asm-s390/unistd_64.h            |  1 +
 linux-headers/asm-x86/kvm.h                   |  1 +
 linux-headers/asm-x86/unistd_32.h             |  1 +
 linux-headers/asm-x86/unistd_64.h             |  1 +
 linux-headers/asm-x86/unistd_x32.h            |  1 +
 linux-headers/linux/kvm.h                     | 89 +++++++++++++++++++
 linux-headers/linux/vfio.h                    | 27 ++++++
 target/ppc/cpu.h                              |  6 +-
 target/ppc/kvm.c                              | 12 +++
 target/ppc/kvm_ppc.h                          | 12 +++
 target/ppc/translate_init.c.inc               | 19 +++-
 25 files changed, 250 insertions(+), 11 deletions(-)

-- 
2.17.1