linux/arch/mn10300/include/asm
David Howells 5141c46c61 MN10300: Emulate single stepping in KGDB on MN10300
Emulate single stepping in KGDB on MN10300 by way of temporary breakpoint
insertion.  These breakpoints are never actually seen by KGDB, and will overlay
KGDB's own breakpoints.

The breakpoints are removed by switch_to() and reinstalled on switching back so
that if preemption occurs, the preempting task doesn't hit them (though it will
still hit KGDB's regular breakpoints).  If KGDB is reentered for any reason,
then the single step breakpoint is completely erased and must be set again by
the debugger.

We take advantage of the fact that KGDB will effectively halt all other CPUs
whilst this CPU is single-stepping to avoid SMP problems.

If the single-stepping task is preempted and killed without KGDB being
reinvoked, then the breakpoint(s) will be cleared and KGDB will be jumped back
into.

Signed-off-by: David Howells <dhowells@redhat.com>
2011-03-18 16:54:32 +00:00
..
asm-offsets.h kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
atomic.h MN10300: atomic_read() should ensure it emits a load 2011-03-14 14:51:25 +00:00
auxvec.h
bitops.h MN10300: Don't cast away the volatile in test_bit() 2010-10-27 17:28:36 +01:00
bitsperlong.h asm-generic: introduce asm/bitsperlong.h 2009-06-11 21:02:14 +02:00
bug.h MN10300: Stop gcc from generating uninitialised variable warnings after BUG() 2009-04-15 13:55:13 -07:00
bugs.h
busctl-regs.h
byteorder.h
cache.h MN10300: Don't hard code the cacheline size in register defs 2010-10-27 17:28:39 +01:00
cacheflush.h MN10300: Allow some cacheflushes to be avoided if cache snooping is available 2010-10-27 17:28:46 +01:00
checksum.h
cpu-regs.h MN10300: Use the [ID]PTEL2 registers rather than [ID]PTEL for TLB control 2010-10-27 17:28:50 +01:00
cputime.h
current.h
debugger.h MN10300: Create generic kernel debugger hooks 2011-03-18 16:54:30 +00:00
delay.h
device.h
div64.h mn10300: add cc clobbers to asm statements 2010-01-11 09:34:10 -08:00
dma-mapping.h dma-mapping: remove dma_is_consistent API 2010-08-11 08:59:21 -07:00
dma.h
dmactl-regs.h MN10300: Move DMA engine control reg defs to MN103E010 processor directory 2010-10-27 17:28:39 +01:00
elf.h MN10300: Specify an ELF HWCAP flag for MN10300 Atomic Operations Unit support 2010-10-27 17:28:56 +01:00
emergency-restart.h
errno.h
exceptions.h MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
fb.h
fcntl.h
fpu.h MN10300: Create generic kernel debugger hooks 2011-03-18 16:54:30 +00:00
frame.inc MN10300: Save frame pointer in thread_info struct rather than global var 2010-10-27 17:29:01 +01:00
ftrace.h
futex.h
gdb-stub.h MN10300: Provide a MN10300_CACHE_ENABLED config option 2010-10-27 17:28:42 +01:00
hardirq.h MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
highmem.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-mn10300 2010-10-27 18:53:26 -07:00
hw_irq.h
intctl-regs.h MN10300: Remove unused mn10300_intc_* functions 2011-03-18 16:52:51 +00:00
io.h MN10300: Add reads[bwl]() and writes[bwl]() 2010-10-27 17:28:37 +01:00
ioctl.h
ioctls.h ioctl: Use asm-generic/ioctls.h on mn10300 (enables termiox) 2010-10-22 10:20:01 -07:00
ipc.h
ipcbuf.h
irq.h MN10300: ASB2364: Handle the IRQ multiplexer in the FPGA 2010-10-27 17:28:58 +01:00
irq_regs.h MN10300: Save frame pointer in thread_info struct rather than global var 2010-10-27 17:29:01 +01:00
irqflags.h MN10300: Create generic kernel debugger hooks 2011-03-18 16:54:30 +00:00
Kbuild
kdebug.h
kgdb.h MN10300: Use KGDB 2011-03-18 16:54:31 +00:00
kmap_types.h kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
kprobes.h
linkage.h
local.h
local64.h arch: Implement local64_t 2010-06-09 11:12:36 +02:00
mc146818rtc.h
mman.h arch_mmap_check() on mn10300 2009-12-11 06:34:10 -05:00
mmu.h
mmu_context.h MN10300: SMP TLB flushing 2010-10-27 17:28:51 +01:00
module.h
msgbuf.h
mutex.h
nmi.h
page.h
page_offset.h
param.h
pci.h PCI: remove pcibios_scan_all_fns() 2009-09-09 13:29:18 -07:00
percpu.h
pgalloc.h MN10300: Save frame pointer in thread_info struct rather than global var 2010-10-27 17:29:01 +01:00
pgtable.h MN10300: Map userspace atomic op regs as a vmalloc page 2010-10-27 17:28:56 +01:00
pio-regs.h
poll.h
posix_types.h MN10300: Fix size_t and ssize_t 2010-08-12 09:51:35 -07:00
processor.h MN10300: Save frame pointer in thread_info struct rather than global var 2010-10-27 17:29:01 +01:00
ptrace.h MN10300: Save frame pointer in thread_info struct rather than global var 2010-10-27 17:29:01 +01:00
reset-regs.h MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
resource.h
rtc-regs.h
rtc.h MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
rwlock.h MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
scatterlist.h remove needless ISA_DMA_THRESHOLD 2010-08-07 18:15:50 +02:00
sections.h
sembuf.h
serial-regs.h MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
serial.h MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
setup.h headers_check fix: mn10300, setup.h 2009-06-14 11:51:12 +05:30
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h MN10300: Fix SIGRTMAX 2010-09-23 10:20:57 -07:00
smp.h MN10300: Use KGDB 2011-03-18 16:54:31 +00:00
smsc911x.h MN10300: ASB2364: Add support for SMSC911X and SMC911X 2010-10-27 17:28:58 +01:00
socket.h net: Generalize socket rx gap / receive queue overflow cmsg 2009-10-12 13:26:31 -07:00
sockios.h
spinlock.h MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
spinlock_types.h MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
stat.h
statfs.h
string.h
swab.h
syscall.h MN10300: Implement asm/syscall.h 2010-12-03 09:18:53 -08:00
system.h MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
termbits.h tty: Add EXTPROC support for LINEMODE 2010-08-10 13:47:39 -07:00
termios.h
thread_info.h MN10300: Emulate single stepping in KGDB on MN10300 2011-03-18 16:54:32 +00:00
timer-regs.h MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
timex.h MN10300: Generic time support 2010-10-27 17:28:57 +01:00
tlb.h
tlbflush.h MN10300: SMP TLB flushing 2010-10-27 17:28:51 +01:00
topology.h
types.h
uaccess.h MN10300: Proper use of macros get_user() in the case of incremented pointers 2011-03-14 14:44:30 +00:00
ucontext.h
unaligned.h
unistd.h Add generic sys_ipc wrapper 2010-03-12 15:52:32 -08:00
user.h
vga.h
xor.h