aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.rootkeys2
-rw-r--r--xen/include/asm-x86/domain.h11
-rw-r--r--xen/include/asm-x86/init.h29
-rw-r--r--xen/include/xen/init.h25
-rw-r--r--xen/include/xen/sched.h10
5 files changed, 52 insertions, 25 deletions
diff --git a/.rootkeys b/.rootkeys
index f93285fa18..d79a03aab0 100644
--- a/.rootkeys
+++ b/.rootkeys
@@ -999,12 +999,14 @@
3ddb79c3r9-31dIsewPV3P3i8HALsQ xen/include/asm-x86/delay.h
3ddb79c34BFiXjBJ_cCKB0aCsV1IDw xen/include/asm-x86/desc.h
40715b2dTokMLYGSuD58BnxOqyWVew xen/include/asm-x86/div64.h
+4204e7acwzqgXyTAPKa1nM-L7Ec0Qw xen/include/asm-x86/domain.h
41febc4bBKTKHhnAu_KPYwgNkHjFlg xen/include/asm-x86/domain_page.h
41d3eaaeIBzW621S1oa0c2yk7X43qQ xen/include/asm-x86/e820.h
3ddb79c3NU8Zy40OTrq3D-i30Y3t4A xen/include/asm-x86/fixmap.h
3e2d29944GI24gf7vOP_7x8EyuqxeA xen/include/asm-x86/flushtlb.h
3ddb79c39o75zPP0T1aQQ4mNrCAN2w xen/include/asm-x86/hardirq.h
3ddb79c3TMDjkxVndKFKnGiwY0HzDg xen/include/asm-x86/i387.h
+4204e7acwXDo-5iAAiO2eQbtDeYZXA xen/include/asm-x86/init.h
3ddb79c3fQ_O3o5NHK2N8AJdk0Ea4Q xen/include/asm-x86/io.h
3ddb79c2TKeScYHQZreTdHqYNLbehQ xen/include/asm-x86/io_apic.h
3ddb79c2L7rTlFzazOLW1XuSZefpFw xen/include/asm-x86/irq.h
diff --git a/xen/include/asm-x86/domain.h b/xen/include/asm-x86/domain.h
new file mode 100644
index 0000000000..6eeb8dbd1c
--- /dev/null
+++ b/xen/include/asm-x86/domain.h
@@ -0,0 +1,11 @@
+
+#ifndef __X86_DOMAIN_H__
+#define __X86_DOMAIN_H__
+
+typedef struct {
+} arch_domain_t;
+
+typedef struct {
+} arch_exec_domain_t;
+
+#endif /* __X86_DOMAIN_H__ */
diff --git a/xen/include/asm-x86/init.h b/xen/include/asm-x86/init.h
new file mode 100644
index 0000000000..8f1e764080
--- /dev/null
+++ b/xen/include/asm-x86/init.h
@@ -0,0 +1,29 @@
+#ifndef _XEN_ASM_INIT_H
+#define _XEN_ASM_INIT_H
+
+/*
+ * Mark functions and data as being only used at initialization
+ * or exit time.
+ */
+#define __init \
+ __attribute__ ((__section__ (".init.text")))
+#define __exit \
+ __attribute_used__ __attribute__ ((__section__(".text.exit")))
+#define __initdata \
+ __attribute__ ((__section__ (".init.data")))
+#define __exitdata \
+ __attribute_used__ __attribute__ ((__section__ (".data.exit")))
+#define __initsetup \
+ __attribute_used__ __attribute__ ((__section__ (".setup.init")))
+#define __init_call \
+ __attribute_used__ __attribute__ ((__section__ (".initcall.init")))
+#define __exit_call \
+ __attribute_used__ __attribute__ ((__section__ (".exitcall.exit")))
+
+/* For assembly routines
+#define __INIT .section ".text.init","ax"
+#define __FINIT .previous
+#define __INITDATA .section ".data.init","aw"
+*/
+
+#endif /* _XEN_ASM_INIT_H */
diff --git a/xen/include/xen/init.h b/xen/include/xen/init.h
index 9e1e62e48f..6df189f980 100644
--- a/xen/include/xen/init.h
+++ b/xen/include/xen/init.h
@@ -2,6 +2,7 @@
#define _LINUX_INIT_H
#include <xen/config.h>
+#include <asm/init.h>
/* These macros are used to mark some functions or
* initialized data (doesn't apply to uninitialized data)
@@ -83,30 +84,6 @@ extern struct kernel_param __setup_start, __setup_end;
#endif /* __ASSEMBLY__ */
-/*
- * Mark functions and data as being only used at initialization
- * or exit time.
- */
-#define __init \
- __attribute__ ((__section__ (".text.init")))
-#define __exit \
- __attribute_used__ __attribute__ ((__section__(".text.exit")))
-#define __initdata \
- __attribute__ ((__section__ (".data.init")))
-#define __exitdata \
- __attribute_used__ __attribute__ ((__section__ (".data.exit")))
-#define __initsetup \
- __attribute_used__ __attribute__ ((__section__ (".setup.init")))
-#define __init_call \
- __attribute_used__ __attribute__ ((__section__ (".initcall.init")))
-#define __exit_call \
- __attribute_used__ __attribute__ ((__section__ (".exitcall.exit")))
-
-/* For assembly routines */
-#define __INIT .section ".text.init","ax"
-#define __FINIT .previous
-#define __INITDATA .section ".data.init","aw"
-
#ifdef CONFIG_HOTPLUG
#define __devinit
#define __devinitdata
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 3f3c2ef05a..5a875589fc 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -21,7 +21,8 @@
#include <asm/current.h>
#include <xen/spinlock.h>
#include <xen/grant_table.h>
-#include <xen/irq_cpustat.h>
+#include <asm/hardirq.h>
+#include <asm/domain.h>
extern unsigned long volatile jiffies;
extern rwlock_t domlist_lock;
@@ -67,7 +68,11 @@ struct exec_domain
struct exec_domain *ed_next_list;
int eid;
+#ifdef ARCH_HAS_EXEC_DOMAIN_MM_PTR
+ struct mm_struct *mm;
+#else
struct mm_struct mm;
+#endif
struct thread_struct thread;
@@ -84,6 +89,7 @@ struct exec_domain
u16 virq_to_evtchn[NR_VIRQS];
atomic_t pausecnt;
+ arch_exec_domain_t arch;
};
@@ -151,6 +157,7 @@ struct domain {
atomic_t refcnt;
struct exec_domain *exec_domain[MAX_VIRT_CPUS];
+ arch_domain_t arch;
};
struct domain_setup_info
@@ -373,4 +380,5 @@ static inline void domain_unpause_by_systemcontroller(struct domain *d)
#include <xen/slab.h>
#include <xen/domain.h>
+
#endif /* __SCHED_H__ */