mbox series

[v6,0/7] Powerpc/Watchpoint: Few important fixes

Message ID 20191017093204.7511-1-ravi.bangoria@linux.ibm.com (mailing list archive)
Headers show
Series Powerpc/Watchpoint: Few important fixes | expand

Message

Ravi Bangoria Oct. 17, 2019, 9:31 a.m. UTC
v5: https://lists.ozlabs.org/pipermail/linuxppc-dev/2019-October/198069.html

v5->v6:
 - patch 6/7: mpe reported that the perf-hwbreak.c doesn't compile with older
   gcc:
        perf-hwbreak.c:182:2: error: dereferencing type-punned pointer will
        break strict-aliasing rules [-Werror=strict-aliasing]
            temp16 = *((__u16 *)target);
            ^
   Fixed that.

Ravi Bangoria (7):
  Powerpc/Watchpoint: Introduce macros for watchpoint length
  Powerpc/Watchpoint: Fix length calculation for unaligned target
  Powerpc/Watchpoint: Fix ptrace code that muck around with address/len
  Powerpc/Watchpoint: Don't ignore extraneous exceptions blindly
  Powerpc/Watchpoint: Rewrite ptrace-hwbreak.c selftest
  Powerpc/Watchpoint: Add dar outside test in perf-hwbreak.c selftest
  Powerpc/Watchpoint: Support for 8xx in ptrace-hwbreak.c selftest

 arch/powerpc/include/asm/hw_breakpoint.h      |   9 +-
 arch/powerpc/kernel/dawr.c                    |   6 +-
 arch/powerpc/kernel/hw_breakpoint.c           | 119 ++--
 arch/powerpc/kernel/process.c                 |   3 +
 arch/powerpc/kernel/ptrace.c                  |  16 +-
 arch/powerpc/xmon/xmon.c                      |   2 +-
 .../selftests/powerpc/ptrace/perf-hwbreak.c   | 119 +++-
 .../selftests/powerpc/ptrace/ptrace-hwbreak.c | 581 +++++++++++-------
 8 files changed, 590 insertions(+), 265 deletions(-)

Comments

Ravi Bangoria Oct. 29, 2019, 4:54 a.m. UTC | #1
On 10/17/19 3:01 PM, Ravi Bangoria wrote:
> v5: https://lists.ozlabs.org/pipermail/linuxppc-dev/2019-October/198069.html
> 
> v5->v6:
>   - patch 6/7: mpe reported that the perf-hwbreak.c doesn't compile with older
>     gcc:
>          perf-hwbreak.c:182:2: error: dereferencing type-punned pointer will
>          break strict-aliasing rules [-Werror=strict-aliasing]
>              temp16 = *((__u16 *)target);
>              ^
>     Fixed that.
> 

Hi Christophe, Are you ok with the series wrt 8xx?
Christophe Leroy Oct. 29, 2019, 2:01 p.m. UTC | #2
Le 29/10/2019 à 05:54, Ravi Bangoria a écrit :
> 
> 
> On 10/17/19 3:01 PM, Ravi Bangoria wrote:
>> v5: 
>> https://lists.ozlabs.org/pipermail/linuxppc-dev/2019-October/198069.html
>>
>> v5->v6:
>>   - patch 6/7: mpe reported that the perf-hwbreak.c doesn't compile 
>> with older
>>     gcc:
>>          perf-hwbreak.c:182:2: error: dereferencing type-punned 
>> pointer will
>>          break strict-aliasing rules [-Werror=strict-aliasing]
>>              temp16 = *((__u16 *)target);
>>              ^
>>     Fixed that.
>>
> 
> Hi Christophe, Are you ok with the series wrt 8xx?

Yes it looks ok on my 885:

root@vgoip:~# ./ptrace-hwbreak
test: ptrace-hwbreak
tags: git_version:v5.4-rc4-835-gb235e63aa9f0-dirty
PTRACE_SET_DEBUGREG, WO, len: 1: Ok
PTRACE_SET_DEBUGREG, WO, len: 2: Ok
PTRACE_SET_DEBUGREG, WO, len: 4: Ok
PTRACE_SET_DEBUGREG, WO, len: 8: Ok
PTRACE_SET_DEBUGREG, RO, len: 1: Ok
PTRACE_SET_DEBUGREG, RO, len: 2: Ok
PTRACE_SET_DEBUGREG, RO, len: 4: Ok
PTRACE_SET_DEBUGREG, RO, len: 8: Ok
PTRACE_SET_DEBUGREG, RW, len: 1: Ok
PTRACE_SET_DEBUGREG, RW, len: 2: Ok
PTRACE_SET_DEBUGREG, RW, len: 4: Ok
PTRACE_SET_DEBUGREG, RW, len: 8: Ok
PPC_PTRACE_SETHWDEBUG, MODE_EXACT, WO, len: 1: Ok
PPC_PTRACE_SETHWDEBUG, MODE_EXACT, RO, len: 1: Ok
PPC_PTRACE_SETHWDEBUG, MODE_EXACT, RW, len: 1: Ok
success: ptrace-hwbreak

Also ok on book3s/32:
root@vgoippro:~# ./ptrace-hwbreak
test: ptrace-hwbreak
tags: git_version:v5.4-rc4-835-gb235e63aa9f0-dirty
PTRACE_SET_DEBUGREG, WO, len: 1: Ok
PTRACE_SET_DEBUGREG, WO, len: 2: Ok
PTRACE_SET_DEBUGREG, WO, len: 4: Ok
PTRACE_SET_DEBUGREG, WO, len: 8: Ok
PTRACE_SET_DEBUGREG, RO, len: 1: Ok
PTRACE_SET_DEBUGREG, RO, len: 2: Ok
PTRACE_SET_DEBUGREG, RO, len: 4: Ok
PTRACE_SET_DEBUGREG, RO, len: 8: Ok
PTRACE_SET_DEBUGREG, RW, len: 1: Ok
PTRACE_SET_DEBUGREG, RW, len: 2: Ok
PTRACE_SET_DEBUGREG, RW, len: 4: Ok
PTRACE_SET_DEBUGREG, RW, len: 8: Ok
PPC_PTRACE_SETHWDEBUG, MODE_EXACT, WO, len: 1: Ok
PPC_PTRACE_SETHWDEBUG, MODE_EXACT, RO, len: 1: Ok
PPC_PTRACE_SETHWDEBUG, MODE_EXACT, RW, len: 1: Ok
PPC_PTRACE_SETHWDEBUG, MODE_RANGE, DW ALIGNED, WO, len: 6: Ok
PPC_PTRACE_SETHWDEBUG, MODE_RANGE, DW ALIGNED, RO, len: 6: Ok
PPC_PTRACE_SETHWDEBUG, MODE_RANGE, DW ALIGNED, RW, len: 6: Ok
success: ptrace-hwbreak

Christophe
Ravi Bangoria Nov. 7, 2019, 2:30 p.m. UTC | #3
On 10/29/19 7:31 PM, Christophe Leroy wrote:
> 
> 
> Le 29/10/2019 à 05:54, Ravi Bangoria a écrit :
>>
>>
>> On 10/17/19 3:01 PM, Ravi Bangoria wrote:
>>> v5: https://lists.ozlabs.org/pipermail/linuxppc-dev/2019-October/198069.html
>>>
>>> v5->v6:
>>>   - patch 6/7: mpe reported that the perf-hwbreak.c doesn't compile with older
>>>     gcc:
>>>          perf-hwbreak.c:182:2: error: dereferencing type-punned pointer will
>>>          break strict-aliasing rules [-Werror=strict-aliasing]
>>>              temp16 = *((__u16 *)target);
>>>              ^
>>>     Fixed that.
>>>
>>
>> Hi Christophe, Are you ok with the series wrt 8xx?
> 
> Yes it looks ok on my 885:
> 
> root@vgoip:~# ./ptrace-hwbreak
> test: ptrace-hwbreak
> tags: git_version:v5.4-rc4-835-gb235e63aa9f0-dirty
> PTRACE_SET_DEBUGREG, WO, len: 1: Ok
> PTRACE_SET_DEBUGREG, WO, len: 2: Ok
> PTRACE_SET_DEBUGREG, WO, len: 4: Ok
> PTRACE_SET_DEBUGREG, WO, len: 8: Ok
> PTRACE_SET_DEBUGREG, RO, len: 1: Ok
> PTRACE_SET_DEBUGREG, RO, len: 2: Ok
> PTRACE_SET_DEBUGREG, RO, len: 4: Ok
> PTRACE_SET_DEBUGREG, RO, len: 8: Ok
> PTRACE_SET_DEBUGREG, RW, len: 1: Ok
> PTRACE_SET_DEBUGREG, RW, len: 2: Ok
> PTRACE_SET_DEBUGREG, RW, len: 4: Ok
> PTRACE_SET_DEBUGREG, RW, len: 8: Ok
> PPC_PTRACE_SETHWDEBUG, MODE_EXACT, WO, len: 1: Ok
> PPC_PTRACE_SETHWDEBUG, MODE_EXACT, RO, len: 1: Ok
> PPC_PTRACE_SETHWDEBUG, MODE_EXACT, RW, len: 1: Ok
> success: ptrace-hwbreak
> 
> Also ok on book3s/32:

mpe, Can you please pull the series.

Ravi