linux/arch/ia64
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
..
configs [IA64] Updated the generic_defconfig to work with the 2.6.28-rc7 kernel. 2008-12-09 10:07:48 -08:00
dig [IA64] Add Variable Page Size and IA64 Support in Intel IOMMU 2008-10-17 12:14:13 -07:00
hp Merge branch 'cpus4096-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-01-02 11:44:09 -08:00
ia32 CRED: Wrap current->cred and a few other accessors 2008-11-14 10:39:18 +11:00
include/asm ftrace, ia64: IA64 dynamic ftrace support 2009-01-14 12:11:31 +01:00
kernel ftrace, ia64: IA64 dynamic ftrace support 2009-01-14 12:11:31 +01:00
kvm KVM: change KVM to use IOMMU API 2009-01-03 14:11:07 +01:00
lib [IA64] Add Variable Page Size and IA64 Support in Intel IOMMU 2008-10-17 12:14:13 -07:00
mm mm: show node to memory section relationship with symlinks in sysfs 2009-01-06 15:59:00 -08:00
oprofile oprofile: more whitespace fixes 2008-10-15 20:55:51 +02:00
pci PCI: Add ability to mmap legacy_io on some platforms 2008-10-20 11:01:46 -07:00
scripts ia64/pv_ops: paravirtualized instruction checker. 2008-10-17 10:12:54 -07:00
sn Merge branch 'linus' into release 2009-01-09 03:39:43 -05:00
uv [IA64] Simplify SGI uv vs. sn2 driver issues 2008-11-04 11:29:39 -08:00
xen [IA64] xen: fix xen_get_eflags. 2008-11-20 13:43:01 -08:00
Kconfig ftrace, ia64: IA64 dynamic ftrace support 2009-01-14 12:11:31 +01:00
Kconfig.debug
Makefile Pull vtd-iommu into release branch 2008-10-17 13:52:22 -07:00
install.sh
module.lds