aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/kernel/asm-offsets.c
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@xensource.com>2007-07-17 21:37:07 -0400
committerJeremy Fitzhardinge <jeremy@goop.org>2007-07-18 11:47:45 -0400
commit6487673b8a858f99a5348e1078b3f5aec700f9e0 (patch)
tree2c96da8fde879561f36678691ef997f3fdb7b3f0 /arch/i386/kernel/asm-offsets.c
parent60223a326fc8fa6e90e2c3fd28ae6de4a311d731 (diff)
xen: Attempt to patch inline versions of common operations
This patchs adds the mechanism to allow us to patch inline versions of common operations. The implementations of the direct-access versions save_fl, restore_fl, irq_enable and irq_disable are now in assembler, and the same code is used for both out of line and inline uses. Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com> Cc: Chris Wright <chrisw@sous-sol.org> Cc: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'arch/i386/kernel/asm-offsets.c')
-rw-r--r--arch/i386/kernel/asm-offsets.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/i386/kernel/asm-offsets.c b/arch/i386/kernel/asm-offsets.c
index 27a776c9044d..a7c2947b3966 100644
--- a/arch/i386/kernel/asm-offsets.c
+++ b/arch/i386/kernel/asm-offsets.c
@@ -17,6 +17,8 @@
17#include <asm/thread_info.h> 17#include <asm/thread_info.h>
18#include <asm/elf.h> 18#include <asm/elf.h>
19 19
20#include <xen/interface/xen.h>
21
20#define DEFINE(sym, val) \ 22#define DEFINE(sym, val) \
21 asm volatile("\n->" #sym " %0 " #val : : "i" (val)) 23 asm volatile("\n->" #sym " %0 " #val : : "i" (val))
22 24
@@ -115,4 +117,10 @@ void foo(void)
115 OFFSET(PARAVIRT_iret, paravirt_ops, iret); 117 OFFSET(PARAVIRT_iret, paravirt_ops, iret);
116 OFFSET(PARAVIRT_read_cr0, paravirt_ops, read_cr0); 118 OFFSET(PARAVIRT_read_cr0, paravirt_ops, read_cr0);
117#endif 119#endif
120
121#ifdef CONFIG_XEN
122 BLANK();
123 OFFSET(XEN_vcpu_info_mask, vcpu_info, evtchn_upcall_mask);
124 OFFSET(XEN_vcpu_info_pending, vcpu_info, evtchn_upcall_pending);
125#endif
118} 126}