kernel-hacking-2024-linux-s.../arch
Shaohua Li a14a07b801 ftrace, ia64: IA64 dynamic ftrace support
IA64 dynamic ftrace support.
The original _mcount stub for each function is like:
	alloc r40=ar.pfs,12,8,0
	mov r43=r0;;
	mov r42=b0
	mov r41=r1
	nop.i 0x0
	br.call.sptk.many b0 = _mcount;;

The patch convert it to below for nop:
	[MII] nop.m 0x0
	mov r3=ip
	nop.i 0x0
	[MLX] nop.m 0x0
	nop.x 0x0;;
This isn't completely nop, as there is one instuction 'mov r3=ip', but
it should be light and harmless for code follow it.

And below is for call
	[MII] nop.m 0x0
	mov r3=ip
	nop.i 0x0
	[MLX] nop.m 0x0
	brl.many .;;
In this way, only one instruction is changed to convert code between nop
and call. This should meet dyn-ftrace's requirement.
But this requires CPU support brl instruction, so dyn-ftrace isn't
supported for old Itanium system. Assume there are quite few such old
system running.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-14 12:11:31 +01:00
..
alpha PCI: alpha: use generic INTx swizzle from PCI core 2009-01-07 11:13:13 -08:00
arm Merge git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-nommu 2009-01-09 14:00:58 -08:00
avr32 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2009-01-09 11:52:14 -08:00
blackfin NOMMU: Make VMAs per MM as for MMU-mode linux 2009-01-08 12:04:47 +00:00
cris Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-01-07 11:31:52 -08:00
frv NOMMU: Make VMAs per MM as for MMU-mode linux 2009-01-08 12:04:47 +00:00
h8300 NOMMU: Make VMAs per MM as for MMU-mode linux 2009-01-08 12:04:47 +00:00
ia64 ftrace, ia64: IA64 dynamic ftrace support 2009-01-14 12:11:31 +01:00
m32r
m68k
m68knommu NOMMU: Make VMAs per MM as for MMU-mode linux 2009-01-08 12:04:47 +00:00
mips Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2009-01-07 15:41:01 -08:00
mn10300
parisc parisc: introduce asm/swab.h 2009-01-09 12:46:23 -08:00
powerpc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile 2009-01-09 12:43:06 -08:00
s390 [S390] Use unsigned long long for u64 on 64bit. 2009-01-09 12:15:07 +01:00
sh NOMMU: Make VMAs per MM as for MMU-mode linux 2009-01-08 12:04:47 +00:00
sparc generic swap(): sparc: rename swap() to swap_ulong() 2009-01-08 08:31:14 -08:00
um mm: invoke oom-killer from page fault 2009-01-06 15:58:58 -08:00
x86 trace: mmiotrace to the tracer menu in Kconfig 2009-01-11 04:01:24 +01:00
xtensa xtensa: introduce swab.h 2009-01-07 12:22:04 -08:00
.gitignore
Kconfig