linux/arch/ia64/kernel
bibo,mao 90f9d70a58 [IA64] enable singlestep on system call
As is pointed out in
http://www.gelato.org/community/view_linear.php?id=1_1036&from=authors&value=Ian%20Wienand#1_1039,
if single step on break instruction, the break fault has higher
priority than the single-step trap. When the break fault handler
is entered, it advances the IP by 1 instruction so break instruction
single-stepping is skipped, actually it is next instruction which
is single stepped.

This patch modifies this, it adds TIF_SINGLESTEP bit for thread
flags, and generate a fake sigtrap when single stepping break
instruction. Test case in attachment can verify this. Any comments
is welcome.

Signed-off-by: bibo, mao <bibo.mao@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2007-02-05 13:49:29 -08:00
..
cpufreq ACPI: replace kmalloc+memset with kzalloc 2006-12-20 16:54:54 -05:00
acpi-ext.c Pull acpi_os_free into release branch 2006-07-01 17:19:08 -04:00
acpi-processor.c fix file specification in comments 2006-10-03 23:01:26 +02:00
acpi.c [PATCH] Altix: more ACPI PRT support 2007-02-03 11:26:06 -08:00
asm-offsets.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
audit.c [PATCH] audit: AUDIT_PERM support 2006-09-11 13:32:30 -04:00
brl_emu.c
crash_dump.c [IA64] kexec: Minor enhancement to includes in crash.c 2007-02-05 11:31:04 -08:00
crash.c [IA64] kexec: Fix CONFIG_SMP=n compilation 2007-02-05 11:27:21 -08:00
cyclone.c [IA64] don't report !sn2 or !summit hardware as an error 2006-03-07 15:26:49 -08:00
efi_stub.S [IA64] make efi_stub.S fit in 80 cols 2006-06-21 14:35:28 -07:00
efi.c [IA64] add newline to PAL-code warning message 2007-02-05 11:32:59 -08:00
entry.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
entry.S [IA64] IA64 Kexec/kdump 2006-12-07 09:51:35 -08:00
esi_stub.S [IA64] esi-support 2006-06-21 11:19:22 -07:00
esi.c [IA64] esi-support 2006-06-21 11:19:22 -07:00
fsys.S [IA64] cleanup in fsys.S 2006-02-28 08:53:32 -08:00
gate-data.S
gate.lds.S [PATCH] vDSO hash-style fix 2006-07-31 13:28:43 -07:00
gate.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
head.S [IA64] Save register stack contents on cpu start 2006-09-08 11:05:13 -07:00
ia64_ksyms.c [IA64] Need export for csum_ipv6_magic 2006-12-07 13:18:57 -08:00
init_task.c [PATCH] nsproxy: move init_nsproxy into kernel/nsproxy.c 2006-10-02 07:57:20 -07:00
iosapic.c [IA64] IA64 Kexec/kdump 2006-12-07 09:51:35 -08:00
irq_ia64.c [IA64] use generic_handle_irq() 2006-11-16 09:38:35 -08:00
irq_lsapic.c [IA64] typename -> name conversion 2006-11-16 09:38:02 -08:00
irq.c [PATCH] kexec: Avoid migration of already disabled irqs (ia64) 2007-02-03 11:26:06 -08:00
ivt.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
jprobes.S [IA64] enable trap code on slot 1 2006-12-12 12:00:55 -08:00
kprobes.c [IA64] kprobe clears qp bits for special instructions 2006-12-12 12:04:42 -08:00
machine_kexec.c [IA64] kexec: Move machine_shutdown from machine_kexec.c to process.c 2007-02-05 13:49:10 -08:00
machvec.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
Makefile [IA64] CONFIG_KEXEC/CONFIG_CRASH_DUMP permutations 2006-12-12 10:11:00 -08:00
mca_asm.S [IA64] ar.fpsr not set on MCA/INIT kernel entry 2006-09-26 15:20:35 -07:00
mca_drv_asm.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mca_drv.c [IA64] MCA recovery: Montecito support 2006-10-31 14:30:34 -08:00
mca_drv.h [IA64] printing support for MCA/INIT 2006-09-26 14:44:37 -07:00
mca.c [IA64] CONFIG_KEXEC/CONFIG_CRASH_DUMP permutations 2006-12-12 10:11:00 -08:00
minstate.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
module.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
msi_ia64.c [PATCH] msi: move the ia64 code into arch/ia64 2006-10-04 07:55:29 -07:00
numa.c [PATCH] cpumask: export node_to_cpu_mask consistently 2006-10-02 07:57:17 -07:00
pal.S [IA64] reformat pal.S to fit in 80 columns, fix typos 2006-10-17 14:54:19 -07:00
palinfo.c Merge branch 'release' of master.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6 2006-12-07 15:39:22 -08:00
patch.c [IA64] add init declaration - gate page functions 2006-03-22 16:54:38 -08:00
perfmon_default_smpl.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
perfmon_generic.h
perfmon_itanium.h
perfmon_mckinley.h
perfmon_montecito.h [IA64] sparse cleanups 2006-12-07 10:48:19 -08:00
perfmon.c [PATCH] struct path: convert ia64 2006-12-08 08:28:45 -08:00
process.c [IA64] kexec: Move machine_shutdown from machine_kexec.c to process.c 2007-02-05 13:49:10 -08:00
ptrace.c [IA64] enable singlestep on system call 2007-02-05 13:49:29 -08:00
relocate_kernel.S [IA64] IA64 Kexec/kdump 2006-12-07 09:51:35 -08:00
sal.c [IA64] move SAL_CACHE_FLUSH check later in boot 2006-10-31 14:32:10 -08:00
salinfo.c [PATCH] struct path: convert ia64 2006-12-08 08:28:45 -08:00
semaphore.c
setup.c [IA64] Take defensive stance on ia64_pal_get_brand_info() 2006-12-12 11:56:36 -08:00
sigframe.h
signal.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
smp.c [IA64] CONFIG_KEXEC/CONFIG_CRASH_DUMP permutations 2006-12-12 10:11:00 -08:00
smpboot.c WorkQueue: Fix up arch-specific work items where possible 2006-12-05 19:36:26 +00:00
sys_ia64.c [PATCH] IA64,sparc: local DoS with corrupted ELFs 2006-09-08 08:40:46 -07:00
time.c [IA64] - Allow IPIs in timer loop 2006-10-17 14:51:49 -07:00
topology.c [PATCH] i386: change the 'no_control' field to 'hotpluggable' in the struct cpu 2006-12-07 02:14:10 +01:00
traps.c [IA64] - Reduce overhead of FP exception logging messages 2006-12-12 11:47:09 -08:00
unaligned.c [IA64] sysctl option to silence unaligned trap warnings 2006-02-28 09:42:23 -08:00
uncached.c [PATCH] Define easier to handle GFP_THISNODE 2006-09-26 08:48:50 -07:00
unwind_decoder.c
unwind_i.h
unwind.c [IA64] MCA/INIT: remove obsolete unwind code 2005-09-11 14:09:34 -07:00
vmlinux.lds.S [PATCH] vmlinux.lds: consolidate initcall sections 2006-10-27 15:34:51 -07:00