aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/hypervisor-ifs/dom0_ops.h
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 /xen/include/hypervisor-ifs/dom0_ops.h
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
Diffstat (limited to 'xen/include/hypervisor-ifs/dom0_ops.h')
-rw-r--r--xen/include/hypervisor-ifs/dom0_ops.h107
1 files changed, 107 insertions, 0 deletions
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