aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorsos22@labyrinth.cl.cam.ac.uk <sos22@labyrinth.cl.cam.ac.uk>2003-07-08 11:23:42 +0000
committersos22@labyrinth.cl.cam.ac.uk <sos22@labyrinth.cl.cam.ac.uk>2003-07-08 11:23:42 +0000
commit5996efc5ac844bada882821dcffc0d546480e1d0 (patch)
tree6806271e47a0a8fdd2c481497d90cba54b3eaf74 /tools
parentdff6ba1a0dd1440851e1d708b33a8f666ea283b9 (diff)
parentf69a742521453e1a497470fe7a216b6bb5faef11 (diff)
downloadxen-5996efc5ac844bada882821dcffc0d546480e1d0.tar.gz
xen-5996efc5ac844bada882821dcffc0d546480e1d0.tar.bz2
xen-5996efc5ac844bada882821dcffc0d546480e1d0.zip
bitkeeper revision 1.295 (3f0aa9beS_4RaA-JxGiBF8BRtuik6Q)
Merge labyrinth.cl.cam.ac.uk:/auto/groups/xeno/users/sos22/xeno.bk into labyrinth.cl.cam.ac.uk:/auto/groups/xeno/users/sos22/tmp/xeno.bk
Diffstat (limited to 'tools')
-rw-r--r--tools/internal/Makefile31
-rw-r--r--tools/internal/hypervisor_defs.h36
-rw-r--r--tools/internal/physdev.h27
-rw-r--r--tools/internal/xi_build.c3
-rw-r--r--tools/internal/xi_create.c1
-rw-r--r--tools/internal/xi_phys_grant.c8
-rw-r--r--tools/internal/xi_phys_probe.c7
-rw-r--r--tools/internal/xi_phys_revoke.c5
-rw-r--r--tools/internal/xi_start.c5
-rw-r--r--tools/internal/xi_stop.c1
10 files changed, 34 insertions, 90 deletions
diff --git a/tools/internal/Makefile b/tools/internal/Makefile
index 6015becf3b..5f33fdf4cd 100644
--- a/tools/internal/Makefile
+++ b/tools/internal/Makefile
@@ -1,4 +1,5 @@
CC = gcc
+CFLAGS = -Wall -I../../xen/include
XI_CREATE = xi_create
XI_START = xi_start
XI_STOP = xi_stop
@@ -19,29 +20,29 @@ all: $(XI_CREATE).o $(XI_START).o $(XI_STOP).o $(XI_DESTROY).o $(XI_BUILD).o \
$(CC) -o $(XI_PHYS_REVOKE) $(XI_PHYS_REVOKE).o
$(CC) -o $(XI_PHYS_PROBE) $(XI_PHYS_PROBE).o
-$(XI_CREATE).o: $(XI_CREATE).c dom0_defs.h dom0_ops.h hypervisor_defs.h mem_defs.h
- $(CC) -c $(XI_CREATE).c
+$(XI_CREATE).o: $(XI_CREATE).c dom0_defs.h dom0_ops.h mem_defs.h
+ $(CC) $(CFLAGS) -c $(XI_CREATE).c
-internal_domain_build.o: internal_domain_build.c dom0_defs.h dom0_ops.h hypervisor_defs.h mem_defs.h
- $(CC) -c internal_domain_build.c
+internal_domain_build.o: internal_domain_build.c dom0_defs.h dom0_ops.h mem_defs.h
+ $(CC) $(CFLAGS) -c internal_domain_build.c
-$(XI_START).o: $(XI_START).c dom0_defs.h dom0_ops.h hypervisor_defs.h mem_defs.h
- $(CC) -c $(XI_START).c
+$(XI_START).o: $(XI_START).c dom0_defs.h dom0_ops.h mem_defs.h
+ $(CC) $(CFLAGS) -c $(XI_START).c
-$(XI_STOP).o: $(XI_STOP).c dom0_defs.h dom0_ops.h hypervisor_defs.h mem_defs.h
- $(CC) -c $(XI_STOP).c
+$(XI_STOP).o: $(XI_STOP).c dom0_defs.h dom0_ops.h mem_defs.h
+ $(CC) $(CFLAGS) -c $(XI_STOP).c
$(XI_DESTROY).o: $(XI_DESTROY).c dom0_ops.h dom0_defs.h
- $(CC) -c $(XI_DESTROY).c
+ $(CC) $(CFLAGS) -c $(XI_DESTROY).c
-$(XI_PHYS_GRANT).o: $(XI_PHYS_GRANT).c physdev.h
- $(CC) -c $(XI_PHYS_GRANT).c
+$(XI_PHYS_GRANT).o: $(XI_PHYS_GRANT).c
+ $(CC) $(CFLAGS) -c $(XI_PHYS_GRANT).c
-$(XI_PHYS_REVOKE).o: $(XI_PHYS_REVOKE).c physdev.h
- $(CC) -c $(XI_PHYS_REVOKE).c
+$(XI_PHYS_REVOKE).o: $(XI_PHYS_REVOKE).c
+ $(CC) $(CFLAGS) -c $(XI_PHYS_REVOKE).c
-$(XI_PHYS_PROBE).o: $(XI_PHYS_PROBE).c physdev.h
- $(CC) -c $(XI_PHYS_PROBE).c
+$(XI_PHYS_PROBE).o: $(XI_PHYS_PROBE).c
+ $(CC) $(CFLAGS) -c $(XI_PHYS_PROBE).c
install: all
cp -a xi_list xi_vifinit xi_helper $(XI_CREATE) $(XI_BUILD) $(XI_START) $(XI_STOP) $(XI_DESTROY) $(XI_PHYSDEV_GRANT) $(XI_PHYS_REVOKE) $(XI_PHYS_PROBE).o../../../install/bin
diff --git a/tools/internal/hypervisor_defs.h b/tools/internal/hypervisor_defs.h
deleted file mode 100644
index 7d0aba03d7..0000000000
--- a/tools/internal/hypervisor_defs.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/******************************************************************************
- * 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
diff --git a/tools/internal/physdev.h b/tools/internal/physdev.h
deleted file mode 100644
index 5a868fe4c7..0000000000
--- a/tools/internal/physdev.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#define XEN_BLOCK_PHYSDEV_GRANT 10 /* grant access to range of disk blocks */
-#define XEN_BLOCK_PHYSDEV_PROBE 11 /* probe for a domain's physdev
- accesses */
-
-#define PHYSDISK_MODE_R 1
-#define PHYSDISK_MODE_W 2
-typedef struct xp_disk
-{
- int mode; /* PHYSDISK_MODEs or 0 for revoke. */
- int domain;
- unsigned short device;
- unsigned long start_sect;
- unsigned long n_sectors;
-} xp_disk_t;
-
-#define PHYSDISK_MAX_ACES_PER_REQUEST 254
-typedef struct {
- int n_aces;
- int domain;
- int start_ind;
- struct {
- unsigned short device;
- unsigned long start_sect;
- unsigned long n_sectors;
- unsigned mode;
- } entries[PHYSDISK_MAX_ACES_PER_REQUEST];
-} physdisk_probebuf_t;
diff --git a/tools/internal/xi_build.c b/tools/internal/xi_build.c
index 4f9ef136ba..1457281f74 100644
--- a/tools/internal/xi_build.c
+++ b/tools/internal/xi_build.c
@@ -14,7 +14,8 @@
#include <stdlib.h>
#include <sys/ioctl.h>
-#include "hypervisor_defs.h"
+#include "asm-i386/types.h"
+#include "hypervisor-ifs/hypervisor-if.h"
#include "dom0_ops.h"
#include "dom0_defs.h"
#include "mem_defs.h"
diff --git a/tools/internal/xi_create.c b/tools/internal/xi_create.c
index 7ebf484e66..7c3010aff2 100644
--- a/tools/internal/xi_create.c
+++ b/tools/internal/xi_create.c
@@ -16,7 +16,6 @@
#include <errno.h>
#include <string.h>
-#include "hypervisor_defs.h"
#include "dom0_ops.h"
#include "dom0_defs.h"
#include "mem_defs.h"
diff --git a/tools/internal/xi_phys_grant.c b/tools/internal/xi_phys_grant.c
index 1923a95751..58c00ed882 100644
--- a/tools/internal/xi_phys_grant.c
+++ b/tools/internal/xi_phys_grant.c
@@ -1,9 +1,12 @@
+#define _GNU_SOURCE
#include <unistd.h>
#include <stdio.h>
#include <errno.h>
#include <sys/fcntl.h>
+#include <string.h>
+#include <stdlib.h>
-#include "physdev.h"
+#include "hypervisor-ifs/block.h"
int main(int argc, char *argv[])
{
@@ -26,9 +29,10 @@ int main(int argc, char *argv[])
else if (argv[1][1] == 'w')
buf.mode |= 2;
- buf.device = atol(argv[3]) + atol(argv[6]);
+ buf.device = atol(argv[3]);
buf.start_sect = atol(argv[4]);
buf.n_sectors = atol(argv[5]);
+ buf.partition = atol(argv[6]);
asprintf(&strbuf, "/proc/xeno/dom%s/phd", argv[2]);
fd = open(strbuf, O_WRONLY);
diff --git a/tools/internal/xi_phys_probe.c b/tools/internal/xi_phys_probe.c
index aa260145c7..e38bb1634b 100644
--- a/tools/internal/xi_phys_probe.c
+++ b/tools/internal/xi_phys_probe.c
@@ -1,10 +1,12 @@
+#define _GNU_SOURCE
#include <stdio.h>
#include <sys/fcntl.h>
#include <errno.h>
#include <unistd.h>
#include <string.h>
+#include <stdlib.h>
-#include "physdev.h"
+#include "hypervisor-ifs/block.h"
int main(int argc, char *argv[])
{
@@ -37,7 +39,8 @@ int main(int argc, char *argv[])
for (x = 0; x < buf.n_aces; x++) {
char read = ( buf.entries[x].mode & 1 ? 'r' : ' ' );
char write = ( buf.entries[x].mode & 2 ? 'w' : ' ' );
- printf("%x %x %x %c%c\n", buf.entries[x].device,
+ printf("%x %x %lx %lx %c%c\n", buf.entries[x].device,
+ buf.entries[x].partition,
buf.entries[x].start_sect,
buf.entries[x].n_sectors,
read,
diff --git a/tools/internal/xi_phys_revoke.c b/tools/internal/xi_phys_revoke.c
index d4bb083b16..2bcfacb591 100644
--- a/tools/internal/xi_phys_revoke.c
+++ b/tools/internal/xi_phys_revoke.c
@@ -1,9 +1,12 @@
+#define _GNU_SOURCE
#include <unistd.h>
#include <errno.h>
#include <stdio.h>
#include <sys/fcntl.h>
+#include <string.h>
+#include <stdlib.h>
-#include "physdev.h"
+#include "hypervisor-ifs/block.h"
int main(int argc, char *argv[])
{
diff --git a/tools/internal/xi_start.c b/tools/internal/xi_start.c
index 51d7ef3f0d..c6826c4874 100644
--- a/tools/internal/xi_start.c
+++ b/tools/internal/xi_start.c
@@ -6,8 +6,8 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <stdlib.h>
+#include <string.h>
-#include "hypervisor_defs.h"
#include "dom0_ops.h"
#include "dom0_defs.h"
#include "mem_defs.h"
@@ -32,12 +32,9 @@ static void PERROR (char *message)
static int start_domain(int id)
{
- dom0_newdomain_t * dom_data;
char cmd_path[MAX_PATH];
- char dom_id_path[MAX_PATH];
dom0_op_t dop;
int cmd_fd;
- int id_fd;
/* Set up the DOM0_STARTDOMAIN command */
dop.cmd = DOM0_STARTDOMAIN;
diff --git a/tools/internal/xi_stop.c b/tools/internal/xi_stop.c
index e243aa703e..6f2437ca14 100644
--- a/tools/internal/xi_stop.c
+++ b/tools/internal/xi_stop.c
@@ -7,7 +7,6 @@
#include <sys/stat.h>
#include <stdlib.h>
-#include "hypervisor_defs.h"
#include "dom0_ops.h"
#include "dom0_defs.h"
#include "mem_defs.h"