aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2003-06-10 16:39:25 +0000
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2003-06-10 16:39:25 +0000
commit195945f155f19f911d70f68662b0248e23664f2c (patch)
treebd2a5a8959303b1f9ea200992559a696ec1657f8
parent6a25a121131cc41ea0530c0e73b602d07e1a3e14 (diff)
downloadxen-195945f155f19f911d70f68662b0248e23664f2c.tar.gz
xen-195945f155f19f911d70f68662b0248e23664f2c.tar.bz2
xen-195945f155f19f911d70f68662b0248e23664f2c.zip
bitkeeper revision 1.256 (3ee609bdneehgPlYzveJg2IZOvjyUg)
dom0_ops.h: new file dom0_ops.h, sched.h, kernel.c, domain.c, dom0_ops.c: Clean up dom0_ops.h interface files to remove duplicated definitions. dom0_ops.h: Rename: xen/include/xeno/dom0_ops.h -> xen/include/hypervisor-ifs/dom0_ops.h .del-dom0_ops.h~ede4a9057a132248: Delete: tools/internal/dom0_ops.h .del-dom0_ops.h~d7d8e37e7e6347c6: Delete: tools/domain_builder/dom0_ops.h
-rwxr-xr-x.bk-to-hg8
-rwxr-xr-x.hg-to-bk9
-rw-r--r--.rootkeys6
-rw-r--r--tools/domain_builder/dom0_ops.h5
-rw-r--r--tools/internal/dom0_ops.h5
-rw-r--r--xen/common/dom0_ops.c2
-rw-r--r--xen/common/domain.c2
-rw-r--r--xen/common/kernel.c2
-rw-r--r--xen/include/hypervisor-ifs/dom0_ops.h (renamed from xen/include/xeno/dom0_ops.h)7
-rw-r--r--xen/include/xeno/sched.h2
-rw-r--r--xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_ops.h99
11 files changed, 37 insertions, 110 deletions
diff --git a/.bk-to-hg b/.bk-to-hg
index ee55de0843..039e4d0069 100755
--- a/.bk-to-hg
+++ b/.bk-to-hg
@@ -1,8 +1,2 @@
-#!/bin/sh -x
-set -e
-test -L tools/domain_builder/dom0_ops.h
-rm tools/domain_builder/dom0_ops.h
-test -L tools/internal/dom0_ops.h
-rm tools/internal/dom0_ops.h
-(find -depth -type d -print | xargs -r rmdir 2>/dev/null) || true
+#!/bin/sh
exit 0
diff --git a/.hg-to-bk b/.hg-to-bk
index 2bde703139..039e4d0069 100755
--- a/.hg-to-bk
+++ b/.hg-to-bk
@@ -1,9 +1,2 @@
-#!/bin/sh -x
-set -e
-mkdir -p tools
-mkdir -p tools/domain_builder
-ln -s ../../xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_ops.h tools/domain_builder/dom0_ops.h
-mkdir -p tools/internal
-ln -s ../../xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_ops.h tools/internal/dom0_ops.h
-(find -depth -type d -print | xargs -r rmdir 2>/dev/null) || true
+#!/bin/sh
exit 0
diff --git a/.rootkeys b/.rootkeys
index 351d4920af..dfa4c10dbd 100644
--- a/.rootkeys
+++ b/.rootkeys
@@ -90,7 +90,7 @@
3e4d00468-FN2VDeEHo96zxrMHK_mA tools/domain_builder/Makefile
3e4d0046SPau_y0sw2WLJz8QkqNoRA tools/domain_builder/README
3e4d0046bbdH0GsI9J_1Eb4ZQHfIiQ tools/domain_builder/dom0_defs.h
-3e71f9b871pvOAxDrhxpC4N4mHkbww tools/domain_builder/dom0_ops.h
+3ee609abdxnu1GvbtXnPlMfEkTEIwQ tools/domain_builder/dom0_ops.h
3e4d0046ouLij_CMN_j7-dUHZIBI_A tools/domain_builder/dom_builder.c
3e4d0046EKs06fY0CWDEgZQcn7DYUg tools/domain_builder/dom_kill.c
3e4d0046aPbGiRTtdWxqY5b3ytWurA tools/domain_builder/hypervisor_defs.h
@@ -100,7 +100,7 @@
3e4d0046IBzDIeaMbQB-e2QB2ahbig tools/domain_builder/vifinit
3eb781fdl4lXWYZzmqDDUAYhAThRqQ tools/internal/Makefile
3eb781fdc539MQQm47rYRCCR3N5i-Q tools/internal/dom0_defs.h
-3eb781fdEYILyFg60YVBsWNqxWFf1g tools/internal/dom0_ops.h
+3ee609b3Yr4aggmLSKmhiIzT8-nURA tools/internal/dom0_ops.h
3eb781fddjylXbsepjppUyIXa5lcaQ tools/internal/hypervisor_defs.h
3eb781fdKiQbgozBsgs_zzJQ9ubehw tools/internal/mem_defs.h
3ec61e1bJCeJJu0SsptmDpA1xKvwvw tools/internal/rpm.spec
@@ -373,6 +373,7 @@
3ddb79c3M2n1ROZH6xk3HbyN4CPDqg xen/include/asm-i386/uaccess.h
3ddb79c3uPGcP_l_2xyGgBSWd5aC-Q xen/include/asm-i386/unaligned.h
3ddb79c2YTaZwOqWin9-QNgHge5RVw xen/include/hypervisor-ifs/block.h
+3ddb79c2PMeWTK86y4C3F4MzHw4A1g xen/include/hypervisor-ifs/dom0_ops.h
3ddb79c25UE59iu4JJcbRalx95mvcg xen/include/hypervisor-ifs/hypervisor-if.h
3ead095dE_VF-QA88rl_5cWYRWtRVQ xen/include/hypervisor-ifs/kbd.h
3ddb79c2oRPrzClk3zbTkRHlpumzKA xen/include/hypervisor-ifs/network.h
@@ -399,7 +400,6 @@
3eb165e0eawr3R-p2ZQtSdLWtLRN_A xen/include/xeno/console.h
3ddb79c1V44RD26YqCUm-kqIupM37A xen/include/xeno/ctype.h
3ddb79c05DdHQ0UxX_jKsXdR4QlMCA xen/include/xeno/delay.h
-3ddb79c2PMeWTK86y4C3F4MzHw4A1g xen/include/xeno/dom0_ops.h
3e6377eaioRoNm0m_HSDEAd4Vqrq_w xen/include/xeno/dom_mem_ops.h
3ddb79c1uaWQZj551j1O0B5z8AnHOg xen/include/xeno/elevator.h
3ddb79c0HIghfBF8zFUdmXhOU8i6hA xen/include/xeno/errno.h
diff --git a/tools/domain_builder/dom0_ops.h b/tools/domain_builder/dom0_ops.h
new file mode 100644
index 0000000000..ed61fb000d
--- /dev/null
+++ b/tools/domain_builder/dom0_ops.h
@@ -0,0 +1,5 @@
+
+#define NO_DOM0_OP_T
+#include "../../xen/include/hypervisor-ifs/dom0_ops.h"
+#undef NO_DOM0_OP_T
+#include "../../xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_ops.h"
diff --git a/tools/internal/dom0_ops.h b/tools/internal/dom0_ops.h
new file mode 100644
index 0000000000..ed61fb000d
--- /dev/null
+++ b/tools/internal/dom0_ops.h
@@ -0,0 +1,5 @@
+
+#define NO_DOM0_OP_T
+#include "../../xen/include/hypervisor-ifs/dom0_ops.h"
+#undef NO_DOM0_OP_T
+#include "../../xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_ops.h"
diff --git a/xen/common/dom0_ops.c b/xen/common/dom0_ops.c
index dd6111d700..e65eeb0df1 100644
--- a/xen/common/dom0_ops.c
+++ b/xen/common/dom0_ops.c
@@ -10,7 +10,7 @@
#include <xeno/types.h>
#include <xeno/lib.h>
#include <xeno/mm.h>
-#include <xeno/dom0_ops.h>
+#include <hypervisor-ifs/dom0_ops.h>
#include <xeno/sched.h>
#include <xeno/event.h>
#include <asm/domain_page.h>
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 19c26f986c..b9804c6ebc 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -9,7 +9,7 @@
#include <xeno/delay.h>
#include <xeno/event.h>
#include <xeno/time.h>
-#include <xeno/dom0_ops.h>
+#include <hypervisor-ifs/dom0_ops.h>
#include <asm/io.h>
#include <asm/domain_page.h>
#include <asm/flushtlb.h>
diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index 5e1e2fc194..d403717e55 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -13,7 +13,7 @@
#include <asm/io.h>
#include <asm/msr.h>
#include <asm/uaccess.h>
-#include <xeno/dom0_ops.h>
+#include <hypervisor-ifs/dom0_ops.h>
#include <asm/byteorder.h>
#include <linux/if_ether.h>
#include <asm/domain_page.h>
diff --git a/xen/include/xeno/dom0_ops.h b/xen/include/hypervisor-ifs/dom0_ops.h
index 93bb3e89c7..d8da108d66 100644
--- a/xen/include/xeno/dom0_ops.h
+++ b/xen/include/hypervisor-ifs/dom0_ops.h
@@ -3,9 +3,7 @@
*
* Process command requests from domain-0 guest OS.
*
- * Copyright (c) 2002, K A Fraser, B Dragovic
- *
- * MUST BE KEPT IN SYNC WITH xenolinux<*>/arch/xeno/drivers/dom0/dom0_ops.h
+ * Copyright (c) 2002-2003, K A Fraser, B Dragovic
*/
@@ -88,7 +86,7 @@ typedef struct dom0_getdominfo_st
long long cpu_time;
} dom0_getdominfo_t;
-
+#ifndef NO_DOM0_OP_T
typedef struct dom0_op_st
{
unsigned long cmd;
@@ -104,5 +102,6 @@ typedef struct dom0_op_st
}
u;
} dom0_op_t;
+#endif
#endif
diff --git a/xen/include/xeno/sched.h b/xen/include/xeno/sched.h
index f696b5ab56..7d9e2fcbd2 100644
--- a/xen/include/xeno/sched.h
+++ b/xen/include/xeno/sched.h
@@ -10,7 +10,7 @@
#include <asm/processor.h>
#include <asm/current.h>
#include <hypervisor-ifs/hypervisor-if.h>
-#include <xeno/dom0_ops.h>
+#include <hypervisor-ifs/dom0_ops.h>
#include <xeno/list.h>
#include <xeno/time.h>
diff --git a/xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_ops.h b/xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_ops.h
index 8f8949a8cd..8562591e1e 100644
--- a/xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_ops.h
+++ b/xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_ops.h
@@ -2,66 +2,26 @@
* dom0_ops.h
*
* Process command requests from domain-0 guest OS.
+ * This file includes the Xen part of the interface, plus the extra stuff
+ * that is dealt with by Xenolinux without being handed down to Xen.
*
- * Copyright (c) 2002, K A Fraser, B Dragovic
- *
- * MUST BE KEPT IN SYNC WITH xen/include/xeno/dom0_ops.h
- * MUST BE KEPT IN SYNC WITH tools/domain_builder/dom0_ops.h
+ * Copyright (c) 2002-2003, K A Fraser, B Dragovic
*/
-#define DOM0_GETMEMLIST 2
-#define DOM0_BVTCTL 6
-#define DOM0_ADJUSTDOM 7
-#define DOM0_CREATEDOMAIN 8
-#define DOM0_DESTROYDOMAIN 9
-#define DOM0_STARTDOMAIN 10
-#define DOM0_STOPDOMAIN 11
-#define DOM0_GETDOMAININFO 12
-#define DOM0_BUILDDOMAIN 13
-#define MAP_DOM_MEM 14 /* Not passed down to Xen */
-#define DO_PGUPDATES 15 /* Not passed down to Xen */
-#define MAX_CMD 16
-
-#define MAX_CMD_LEN 256
-#define MAX_DOMAIN_NAME 16
-
-typedef struct dom0_newdomain_st
-{
- unsigned int domain;
- unsigned int memory_kb;
- unsigned int num_vifs; /* temporary */
- unsigned long pg_head; /* return parameter */
- char name[MAX_DOMAIN_NAME];
-} dom0_newdomain_t;
-
-typedef struct dom0_killdomain_st
-{
- unsigned int domain;
- int force;
-} dom0_killdomain_t;
-
-typedef struct dom0_getmemlist_st
-{
- unsigned long start_pfn;
- unsigned long num_pfns;
- void *buffer;
-} dom0_getmemlist_t;
+#ifndef __DOM0_DOM0_OPS_H__
+#define __DOM0_DOM0_OPS_H__
-typedef struct dom0_bvtctl_st
-{
- unsigned long ctx_allow; /* context switch allowance */
-} dom0_bvtctl_t;
+/* External users of this header file will include Xen's version separately. */
+#ifdef __KERNEL__
+#define NO_DOM0_OP_T
+#include <asm/hypervisor-ifs/dom0_ops.h>
+#endif
-typedef struct dom0_adjustdom_st
-{
- unsigned int domain; /* domain id */
- unsigned long mcu_adv; /* mcu advance: inverse of weight */
- unsigned long warp; /* time warp */
- unsigned long warpl; /* warp limit */
- unsigned long warpu; /* unwarp time requirement */
-} dom0_adjustdom_t;
+/* Extra commands dealt with by Xenolinux. */
+#define MAP_DOM_MEM 14
+#define DO_PGUPDATES 15
+#define MAX_CMD 16
-/* This is entirely processed by XenoLinux */
typedef struct dom_mem
{
unsigned int domain;
@@ -70,42 +30,12 @@ typedef struct dom_mem
int tot_pages;
} dom_mem_t;
-/* This is entirely processed by XenoLinux */
typedef struct dom_pgupdate
{
unsigned long pgt_update_arr;
unsigned long num_pgt_updates;
} dom_pgupdate_t;
-typedef struct domain_launch
-{
- unsigned int domain;
- unsigned long l2_pgt_addr;
- unsigned long virt_load_addr;
- unsigned long virt_shinfo_addr;
- unsigned long virt_startinfo_addr;
- unsigned int num_vifs;
- char cmd_line[MAX_CMD_LEN];
- unsigned long virt_mod_addr;
- unsigned long virt_mod_len;
-} dom_meminfo_t;
-
-
-typedef struct dom0_getdominfo_st
-{
- unsigned int domain; /* All returns except domain */
- char name[MAX_DOMAIN_NAME];
- int processor;
- int has_cpu;
- int state;
- int hyp_events;
- unsigned long mcu_advance;
- unsigned long pg_head;
- unsigned int tot_pages;
- long long cpu_time;
-} dom0_getdominfo_t;
-
-
typedef struct dom0_op_st
{
unsigned long cmd;
@@ -124,3 +54,4 @@ typedef struct dom0_op_st
u;
} dom0_op_t;
+#endif /* __DOM0_DOM0_OPS_H__ */