From 195945f155f19f911d70f68662b0248e23664f2c Mon Sep 17 00:00:00 2001 From: "kaf24@scramble.cl.cam.ac.uk" Date: Tue, 10 Jun 2003 16:39:25 +0000 Subject: 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 --- .bk-to-hg | 8 +- .hg-to-bk | 9 +- .rootkeys | 6 +- tools/domain_builder/dom0_ops.h | 5 + tools/internal/dom0_ops.h | 5 + xen/common/dom0_ops.c | 2 +- xen/common/domain.c | 2 +- xen/common/kernel.c | 2 +- xen/include/hypervisor-ifs/dom0_ops.h | 107 ++++++++++++++++++++ xen/include/xeno/dom0_ops.h | 108 --------------------- xen/include/xeno/sched.h | 2 +- .../arch/xeno/drivers/dom0/dom0_ops.h | 99 +++---------------- 12 files changed, 141 insertions(+), 214 deletions(-) create mode 100644 tools/domain_builder/dom0_ops.h create mode 100644 tools/internal/dom0_ops.h create mode 100644 xen/include/hypervisor-ifs/dom0_ops.h delete mode 100644 xen/include/xeno/dom0_ops.h 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 #include #include -#include +#include #include #include #include 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 #include #include -#include +#include #include #include #include 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 #include #include -#include +#include #include #include #include diff --git a/xen/include/hypervisor-ifs/dom0_ops.h b/xen/include/hypervisor-ifs/dom0_ops.h new file mode 100644 index 0000000000..d8da108d66 --- /dev/null +++ b/xen/include/hypervisor-ifs/dom0_ops.h @@ -0,0 +1,107 @@ +/****************************************************************************** + * dom0_ops.h + * + * Process command requests from domain-0 guest OS. + * + * Copyright (c) 2002-2003, K A Fraser, B Dragovic + */ + + +#ifndef __DOM0_OPS_H__ +#define __DOM0_OPS_H__ + +#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 MAX_CMD_LEN 256 +#define MAX_DOMAIN_NAME 16 + +typedef struct dom0_newdomain_st +{ + unsigned int domain; // return parameter + 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; + +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_bvtctl_st +{ + unsigned long ctx_allow; /* context switch allowance */ +} dom0_bvtctl_t; + +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; + +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; + +#ifndef NO_DOM0_OP_T +typedef struct dom0_op_st +{ + unsigned long cmd; + union + { + dom0_newdomain_t newdomain; + dom0_killdomain_t killdomain; + dom0_getmemlist_t getmemlist; + dom0_bvtctl_t bvtctl; + dom0_adjustdom_t adjustdom; + dom_meminfo_t meminfo; + dom0_getdominfo_t getdominfo; + } + u; +} dom0_op_t; +#endif + +#endif diff --git a/xen/include/xeno/dom0_ops.h b/xen/include/xeno/dom0_ops.h deleted file mode 100644 index 93bb3e89c7..0000000000 --- a/xen/include/xeno/dom0_ops.h +++ /dev/null @@ -1,108 +0,0 @@ -/****************************************************************************** - * dom0_ops.h - * - * 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 - */ - - -#ifndef __DOM0_OPS_H__ -#define __DOM0_OPS_H__ - -#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 MAX_CMD_LEN 256 -#define MAX_DOMAIN_NAME 16 - -typedef struct dom0_newdomain_st -{ - unsigned int domain; // return parameter - 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; - -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_bvtctl_st -{ - unsigned long ctx_allow; /* context switch allowance */ -} dom0_bvtctl_t; - -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; - -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; - union - { - dom0_newdomain_t newdomain; - dom0_killdomain_t killdomain; - dom0_getmemlist_t getmemlist; - dom0_bvtctl_t bvtctl; - dom0_adjustdom_t adjustdom; - dom_meminfo_t meminfo; - dom0_getdominfo_t getdominfo; - } - u; -} dom0_op_t; - -#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 #include #include -#include +#include #include #include 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 +#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__ */ -- cgit v1.2.3