diff options
author | smh22@boulderdash.cl.cam.ac.uk <smh22@boulderdash.cl.cam.ac.uk> | 2003-02-14 14:42:14 +0000 |
---|---|---|
committer | smh22@boulderdash.cl.cam.ac.uk <smh22@boulderdash.cl.cam.ac.uk> | 2003-02-14 14:42:14 +0000 |
commit | 238daefdd2c366f86e466f552c00cd92d40a31ef (patch) | |
tree | 2edfe51896ec59f07962b747a995639e82257ed2 /tools/domain_builder/hypervisor_defs.h | |
parent | ce62d9e7f6d76422b025939279a2a51b5262a06d (diff) | |
download | xen-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.h | 36 |
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 |