[PATCH 0/2] Fix ptrace software breakpoints
Rob Clark
rob at ti.com
Fri Jul 16 00:15:37 EDT 2010
fyi, my gdb test (git://github.com/robclark/gdb-test.git) seems to be passing reliable so far (I haven't seen it fail once yet) with these patches.. without these patches, it was triggering passing the breakpoing 90+% of the time.
I'll keep you posted if I notice any issues, but so far so good!
thx
BR,
-R
On Jul 15, 2010, at 10:53 AM, Will Deacon wrote:
> When using GDB on a quad-core Cortex-A9 (Versatile Express) board, software
> breakpoints do not work if the inferior is scheduled onto a different CPU from
> the debugger.
>
> When GDB changes the code of another context via the ptrace POKETEXT mechanism,
> the I-cache must be invalidated before the inferior is allowed to resume. If a
> copy-on-write is triggered by the copy_to_user_page function, the new page
> mappings must be used by the inferior in order to pick up the new instructions.
>
> This patch series addresses this problem by:
>
> (a) Providing a workaround for a known TLB issue on some revisions of the Cortex-A9.
> (b) Performing correct I-cache invalidation in the flush_ptrace_access code.
>
> All feedback/comments/tested-bys welcome.
>
> Cc: Rob Clark <rob at ti.com>
> Cc: Catalin Marinas <catalin.marinas at arm.com>
>
> Will Deacon (2):
> ARM: errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a
> faulty ASID
> ARM: flush_ptrace_access: invalidate all I-caches
>
> arch/arm/Kconfig | 12 ++++++++++++
> arch/arm/include/asm/tlbflush.h | 8 ++++++++
> arch/arm/mm/flush.c | 4 ++--
> 3 files changed, 22 insertions(+), 2 deletions(-)
More information about the linux-arm-kernel
mailing list