Files
xen/tools/domain_builder/hypervisor_defs.h
T
smh22@boulderdash.cl.cam.ac.uk 238daefdd2 bitkeeper revision 1.33.1.1 (3e4d0046UBuDSsmiQzTssLuipi89Wg)
put domain builder tools and scripts under bk
(these are for running under domain 0)
2003-02-14 14:42:14 +00:00

37 lines
1.2 KiB
C

/******************************************************************************
* 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