summaryrefslogtreecommitdiffstats
path: root/arch/ia64/include/asm/paravirt.h
diff options
context:
space:
mode:
authorIsaku Yamahata2009-03-04 13:06:52 +0100
committerTony Luck2009-03-26 19:02:42 +0100
commit03f511dd02f1431ef652fb97a7f2fe7aef47e025 (patch)
tree87bbff26febaa0eb0e85d1c23886a1cc913af30a /arch/ia64/include/asm/paravirt.h
parentia64/pv_op/binarypatch: add helper functions to support binary patching for p... (diff)
downloadkernel-qcow2-linux-03f511dd02f1431ef652fb97a7f2fe7aef47e025.tar.gz
kernel-qcow2-linux-03f511dd02f1431ef652fb97a7f2fe7aef47e025.tar.xz
kernel-qcow2-linux-03f511dd02f1431ef652fb97a7f2fe7aef47e025.zip
ia64/pv_ops: implement binary patching optimization for native.
implement binary patching optimization for pv_cpu_ops. With this optimization, indirect call for pv_cpu_ops methods can be converted into inline execution or direct call. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/include/asm/paravirt.h')
-rw-r--r--arch/ia64/include/asm/paravirt.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/ia64/include/asm/paravirt.h b/arch/ia64/include/asm/paravirt.h
index fc433f6c3275..2eb0a981a09a 100644
--- a/arch/ia64/include/asm/paravirt.h
+++ b/arch/ia64/include/asm/paravirt.h
@@ -118,6 +118,14 @@ struct pv_init_ops {
int (*arch_setup_nomca)(void);
void (*post_smp_prepare_boot_cpu)(void);
+
+#ifdef ASM_SUPPORTED
+ unsigned long (*patch_bundle)(void *sbundle, void *ebundle,
+ unsigned long type);
+ unsigned long (*patch_inst)(unsigned long stag, unsigned long etag,
+ unsigned long type);
+#endif
+ void (*patch_branch)(unsigned long tag, unsigned long type);
};
extern struct pv_init_ops pv_init_ops;