[PATCH for-8.2 0/6] ppc: debug facility improvements

Nicholas Piggin posted 6 patches 9 months, 1 week ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230808031116.398205-1-npiggin@gmail.com
Maintainers: Daniel Henrique Barboza <danielhb413@gmail.com>, "Cédric Le Goater" <clg@kaod.org>, David Gibson <david@gibson.dropbear.id.au>, Greg Kurz <groug@kaod.org>, Harsh Prateek Bora <harshpb@linux.ibm.com>, Nicholas Piggin <npiggin@gmail.com>
hw/ppc/spapr_hcall.c     |  57 +++++++++++++++++++++
target/ppc/cpu.c         |  86 +++++++++++++++++++++++++++++++
target/ppc/cpu.h         |   7 +++
target/ppc/cpu_init.c    |  11 ++--
target/ppc/excp_helper.c | 108 ++++++++++++++++++++++++++++++++++++++-
target/ppc/helper.h      |   4 ++
target/ppc/internal.h    |   3 ++
target/ppc/machine.c     |   5 ++
target/ppc/misc_helper.c |  15 ++++++
target/ppc/spr_common.h  |   3 ++
target/ppc/translate.c   |  60 +++++++++++++++++-----
11 files changed, 341 insertions(+), 18 deletions(-)
[PATCH for-8.2 0/6] ppc: debug facility improvements
Posted by Nicholas Piggin 9 months, 1 week ago
I started out looking at this to reduce divergence of TCG and KVM
machines with 2nd DAWR. The divergence already exists with first
DAWR, so I don't want to tie the KVM 2nd DAWR enablement to this,
but it would be nice to ensure the caps and such for the 2nd DAWR
will also work for TCG.

I don't know that we have great test cases for this, it does work
with some of the Linux selftests ptrace debug tests (although those
tests seem to have a few issues in upstream kernels), some basic
Linux xmon and gdb tests by hand, and I've started working on some
kvm unit tests.

Thanks,
Nick 

Nicholas Piggin (6):
  target/ppc: Remove single-step suppression inside 0x100-0xf00
  target/ppc: Improve book3s branch trace interrupt for v2.07S
  target/ppc: Suppress single step interrupts on rfi-type instructions
  target/ppc: Implement breakpoint debug facility for v2.07S
  target/ppc: Implement watchpoint debug facility for v2.07S
  spapr: implement H_SET_MODE debug facilities

 hw/ppc/spapr_hcall.c     |  57 +++++++++++++++++++++
 target/ppc/cpu.c         |  86 +++++++++++++++++++++++++++++++
 target/ppc/cpu.h         |   7 +++
 target/ppc/cpu_init.c    |  11 ++--
 target/ppc/excp_helper.c | 108 ++++++++++++++++++++++++++++++++++++++-
 target/ppc/helper.h      |   4 ++
 target/ppc/internal.h    |   3 ++
 target/ppc/machine.c     |   5 ++
 target/ppc/misc_helper.c |  15 ++++++
 target/ppc/spr_common.h  |   3 ++
 target/ppc/translate.c   |  60 +++++++++++++++++-----
 11 files changed, 341 insertions(+), 18 deletions(-)

-- 
2.40.1
Re: [PATCH for-8.2 0/6] ppc: debug facility improvements
Posted by Cédric Le Goater 8 months, 2 weeks ago
Hello,

On 8/8/23 05:11, Nicholas Piggin wrote:
> I started out looking at this to reduce divergence of TCG and KVM
> machines with 2nd DAWR. The divergence already exists with first
> DAWR, so I don't want to tie the KVM 2nd DAWR enablement to this,
> but it would be nice to ensure the caps and such for the 2nd DAWR
> will also work for TCG.
> 
> I don't know that we have great test cases for this, it does work
> with some of the Linux selftests ptrace debug tests (although those
> tests seem to have a few issues in upstream kernels), some basic
> Linux xmon and gdb tests by hand, and I've started working on some
> kvm unit tests.
> 
> Thanks,
> Nick
> 
> Nicholas Piggin (6):
>    target/ppc: Remove single-step suppression inside 0x100-0xf00
>    target/ppc: Improve book3s branch trace interrupt for v2.07S
>    target/ppc: Suppress single step interrupts on rfi-type instructions
>    target/ppc: Implement breakpoint debug facility for v2.07S
>    target/ppc: Implement watchpoint debug facility for v2.07S
>    spapr: implement H_SET_MODE debug facilities
> 
>   hw/ppc/spapr_hcall.c     |  57 +++++++++++++++++++++
>   target/ppc/cpu.c         |  86 +++++++++++++++++++++++++++++++
>   target/ppc/cpu.h         |   7 +++
>   target/ppc/cpu_init.c    |  11 ++--
>   target/ppc/excp_helper.c | 108 ++++++++++++++++++++++++++++++++++++++-
>   target/ppc/helper.h      |   4 ++
>   target/ppc/internal.h    |   3 ++
>   target/ppc/machine.c     |   5 ++
>   target/ppc/misc_helper.c |  15 ++++++
>   target/ppc/spr_common.h  |   3 ++
>   target/ppc/translate.c   |  60 +++++++++++++++++-----
>   11 files changed, 341 insertions(+), 18 deletions(-)
> 

I am preparing a PR with this series. It is time to take a look at it if you
haven't already !


Thanks,

C.