diff options
author | Isaku Yamahata <yamahata@valinux.co.jp> | 2009-03-04 07:06:52 -0500 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2009-03-26 14:02:42 -0400 |
commit | 03f511dd02f1431ef652fb97a7f2fe7aef47e025 (patch) | |
tree | 87bbff26febaa0eb0e85d1c23886a1cc913af30a /arch/ia64/include/asm/paravirt.h | |
parent | bf7ab02f620c1020c869fc71a2c855918b6a5375 (diff) |
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.h | 8 |
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 { | |||
118 | int (*arch_setup_nomca)(void); | 118 | int (*arch_setup_nomca)(void); |
119 | 119 | ||
120 | void (*post_smp_prepare_boot_cpu)(void); | 120 | void (*post_smp_prepare_boot_cpu)(void); |
121 | |||
122 | #ifdef ASM_SUPPORTED | ||
123 | unsigned long (*patch_bundle)(void *sbundle, void *ebundle, | ||
124 | unsigned long type); | ||
125 | unsigned long (*patch_inst)(unsigned long stag, unsigned long etag, | ||
126 | unsigned long type); | ||
127 | #endif | ||
128 | void (*patch_branch)(unsigned long tag, unsigned long type); | ||
121 | }; | 129 | }; |
122 | 130 | ||
123 | extern struct pv_init_ops pv_init_ops; | 131 | extern struct pv_init_ops pv_init_ops; |