aboutsummaryrefslogtreecommitdiffstats
path: root/tools/domain_builder/hypervisor_defs.h
diff options
context:
space:
mode:
authorsmh22@boulderdash.cl.cam.ac.uk <smh22@boulderdash.cl.cam.ac.uk>2003-02-14 14:42:14 +0000
committersmh22@boulderdash.cl.cam.ac.uk <smh22@boulderdash.cl.cam.ac.uk>2003-02-14 14:42:14 +0000
commit238daefdd2c366f86e466f552c00cd92d40a31ef (patch)
tree2edfe51896ec59f07962b747a995639e82257ed2 /tools/domain_builder/hypervisor_defs.h
parentce62d9e7f6d76422b025939279a2a51b5262a06d (diff)
downloadxen-238daefdd2c366f86e466f552c00cd92d40a31ef.tar.gz
xen-238daefdd2c366f86e466f552c00cd92d40a31ef.tar.bz2
xen-238daefdd2c366f86e466f552c00cd92d40a31ef.zip
bitkeeper revision 1.33.1.1 (3e4d0046UBuDSsmiQzTssLuipi89Wg)
put domain builder tools and scripts under bk (these are for running under domain 0)
Diffstat (limited to 'tools/domain_builder/hypervisor_defs.h')
-rw-r--r--tools/domain_builder/hypervisor_defs.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/tools/domain_builder/hypervisor_defs.h b/tools/domain_builder/hypervisor_defs.h
new file mode 100644
index 0000000000..7d0aba03d7
--- /dev/null
+++ b/tools/domain_builder/hypervisor_defs.h
@@ -0,0 +1,36 @@
+/******************************************************************************
+ * hypervisor_defs.h
+ *
+ * This needs to be kept in sync with Xen's pagetable update interface!
+ *
+ * Copyright (c) 2002-2003, Keir Fraser & Boris Dragovic
+ */
+
+/* taken from include/hypervisor-ifs/hypervisor-if.h */
+typedef struct
+{
+/*
+ * PGREQ_XXX: specified in least-significant bits of 'ptr' field. All requests
+ * specify relevent PTE or PT address in 'ptr'. Normal requests specify update
+ * value in 'value'. Extended requests specify command in least 8 bits of
+ * 'value'.
+ */
+ unsigned long ptr, val; /* *ptr = val */
+} page_update_request_t;
+
+/* A normal page-table update request. */
+#define PGREQ_NORMAL 0
+#define PGREQ_MPT_UPDATE 1
+/* An extended command. */
+#define PGREQ_EXTENDED_COMMAND 2
+/* Announce a new top-level page table. */
+#define PGEXT_PIN_L1_TABLE 0
+#define PGEXT_PIN_L2_TABLE 1
+#define PGEXT_PIN_L3_TABLE 2
+#define PGEXT_PIN_L4_TABLE 3
+#define PGEXT_UNPIN_TABLE 4
+#define PGEXT_NEW_BASEPTR 5
+#define PGEXT_TLB_FLUSH 6
+#define PGEXT_INVLPG 7
+#define PGEXT_CMD_MASK 255
+#define PGEXT_CMD_SHIFT 8