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/intrinsics.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/intrinsics.h')
-rw-r--r-- | arch/ia64/include/asm/intrinsics.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/ia64/include/asm/intrinsics.h b/arch/ia64/include/asm/intrinsics.h index a3e44a5ed497..fbe2ad9234d0 100644 --- a/arch/ia64/include/asm/intrinsics.h +++ b/arch/ia64/include/asm/intrinsics.h | |||
@@ -201,7 +201,11 @@ extern long ia64_cmpxchg_called_with_bad_pointer (void); | |||
201 | 201 | ||
202 | #ifndef __ASSEMBLY__ | 202 | #ifndef __ASSEMBLY__ |
203 | #if defined(CONFIG_PARAVIRT) && defined(__KERNEL__) | 203 | #if defined(CONFIG_PARAVIRT) && defined(__KERNEL__) |
204 | #define IA64_INTRINSIC_API(name) pv_cpu_ops.name | 204 | #ifdef ASM_SUPPORTED |
205 | # define IA64_INTRINSIC_API(name) paravirt_ ## name | ||
206 | #else | ||
207 | # define IA64_INTRINSIC_API(name) pv_cpu_ops.name | ||
208 | #endif | ||
205 | #define IA64_INTRINSIC_MACRO(name) paravirt_ ## name | 209 | #define IA64_INTRINSIC_MACRO(name) paravirt_ ## name |
206 | #else | 210 | #else |
207 | #define IA64_INTRINSIC_API(name) ia64_native_ ## name | 211 | #define IA64_INTRINSIC_API(name) ia64_native_ ## name |