summaryrefslogtreecommitdiff
path: root/arch/ia64/kvm/asm-offsets.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/ia64/kvm/asm-offsets.c')
-rw-r--r--arch/ia64/kvm/asm-offsets.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/ia64/kvm/asm-offsets.c b/arch/ia64/kvm/asm-offsets.c
index 0c3564a7a033..4e3dc13a619c 100644
--- a/arch/ia64/kvm/asm-offsets.c
+++ b/arch/ia64/kvm/asm-offsets.c
@@ -24,10 +24,19 @@
#include <linux/autoconf.h>
#include <linux/kvm_host.h>
-#include <linux/kbuild.h>
#include "vcpu.h"
+#define task_struct kvm_vcpu
+
+#define DEFINE(sym, val) \
+ asm volatile("\n->" #sym " (%0) " #val : : "i" (val))
+
+#define BLANK() asm volatile("\n->" : :)
+
+#define OFFSET(_sym, _str, _mem) \
+ DEFINE(_sym, offsetof(_str, _mem));
+
void foo(void)
{
DEFINE(VMM_TASK_SIZE, sizeof(struct kvm_vcpu));