]> git.karo-electronics.de Git - karo-tx-linux.git/commit
metag: ptrace
authorJames Hogan <james.hogan@imgtec.com>
Tue, 9 Oct 2012 09:54:36 +0000 (10:54 +0100)
committerJames Hogan <james.hogan@imgtec.com>
Wed, 6 Feb 2013 13:11:33 +0000 (13:11 +0000)
commit18d6f1f1d84e1b50c4ee473c15ce24fcb3a2ed66
treefbdf8352025e3f5f69b00153c6d9b57819cb49cc
parent3ac9605742e1144b79756faf6fcc75193fb908a5
metag: ptrace

The ptrace interface for metag provides access to some core register
sets using the PTRACE_GETREGSET and PTRACE_SETREGSET operations. The
details of the internal context structures is abstracted into user API
structures to both ease use and allow flexibility to change the internal
context layouts. Copyin and copyout functions for these register sets
are exposed to allow signal handling code to use them to copy to and
from the signal context.

struct user_gp_regs (NT_PRSTATUS) provides access to the core general
purpose register context.

struct user_cb_regs (NT_METAG_CBUF) provides access to the TXCATCH*
registers which contains information abuot a memory fault, unaligned
access error or watchpoint. This can be modified to alter the way the
fault is replayed on resume ("catch replay"), or to prevent the replay
taking place.

struct user_rp_state (NT_METAG_RPIPE) provides access to the state of
the Meta read pipeline which can be used to hide memory latencies in
hand optimised data loops.

Extended DSP register state, DSP RAM, and hardware breakpoint registers
aren't yet exposed through ptrace.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Denys Vlasenko <vda.linux@googlemail.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Tony Lindgren <tony@atomide.com>
Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
arch/metag/include/asm/ptrace.h [new file with mode: 0644]
arch/metag/include/uapi/asm/ptrace.h [new file with mode: 0644]
arch/metag/kernel/ptrace.c [new file with mode: 0644]
include/uapi/linux/elf.h