mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
bitkeeper revision 1.1293 (425cf706gdIucn9n9UpmnZgk5ZwITQ)
Merge arcadians.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-unstable.bk into arcadians.cl.cam.ac.uk:/local/scratch-2/vh249/xen-unstable.bk
This commit is contained in:
commit
6ad2bc6f6d
4 files changed
+7
-15
No files matched your search
@@ -212,6 +212,7 @@ ln -sf ../../${LINUX_26}/include/asm-xen/gnttab.h
|
||||
ln -sf ../../${LINUX_26}/include/asm-xen/hypervisor.h
|
||||
ln -sf ../../${LINUX_26}/include/asm-xen/xen_proc.h
|
||||
ln -sf ../../${LINUX_26}/include/asm-xen/asm-i386/synch_bitops.h
|
||||
ln -sf ../../${LINUX_26}/include/asm-xen/asm-i386/hypercall.h
|
||||
|
||||
mkdir -p linux-public && cd linux-public
|
||||
ln -sf ../../../${LINUX_26}/include/asm-xen/linux-public/privcmd.h
|
||||
|
||||
@@ -210,11 +210,9 @@ static int setup_guest(int xc_handle,
|
||||
}
|
||||
|
||||
*vl1e = (page_array[count] << PAGE_SHIFT) | L1_PROT;
|
||||
#if !(1 || defined(GROSS_HACK_TO_TEST_SHADOW_MODE_CLIENTS))
|
||||
if ( (count >= ((vpt_start-dsi.v_start)>>PAGE_SHIFT)) &&
|
||||
(count < ((vpt_end -dsi.v_start)>>PAGE_SHIFT)) )
|
||||
*vl1e &= ~_PAGE_RW;
|
||||
#endif
|
||||
vl1e++;
|
||||
}
|
||||
munmap(vl1tab, PAGE_SIZE);
|
||||
@@ -245,25 +243,12 @@ static int setup_guest(int xc_handle,
|
||||
}
|
||||
munmap(physmap, PAGE_SIZE);
|
||||
|
||||
#if 1 || defined(GROSS_HACK_TO_TEST_SHADOW_MODE_CLIENTS)
|
||||
{
|
||||
int ret;
|
||||
ret = xc_shadow_control(xc_handle, dom,
|
||||
DOM0_SHADOW_CONTROL_OP_ENABLE_TEST,
|
||||
NULL, 0, NULL);
|
||||
if ( !ret )
|
||||
ERROR("enabling shadow test mode failed\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Pin down l2tab addr as page dir page - causes hypervisor to provide
|
||||
* correct protection for the page
|
||||
*/
|
||||
#if !(1 || defined(GROSS_HACK_TO_TEST_SHADOW_MODE_CLIENTS))
|
||||
if ( pin_table(xc_handle, MMUEXT_PIN_L2_TABLE, l2tab>>PAGE_SHIFT, dom) )
|
||||
goto error_out;
|
||||
#endif
|
||||
|
||||
start_info = xc_map_foreign_range(
|
||||
xc_handle, dom, PAGE_SIZE, PROT_READ|PROT_WRITE,
|
||||
|
||||
@@ -1228,6 +1228,11 @@ int shadow_mode_control(struct domain *d, dom0_shadow_control_t *sc)
|
||||
rc = __shadow_mode_enable(d, d->arch.shadow_mode|SHM_enable|SHM_log_dirty);
|
||||
break;
|
||||
|
||||
case DOM0_SHADOW_CONTROL_OP_ENABLE_TRANSLATE:
|
||||
free_shadow_pages(d);
|
||||
rc = __shadow_mode_enable(d, d->arch.shadow_mode|SHM_enable|SHM_translate);
|
||||
break;
|
||||
|
||||
default:
|
||||
rc = shadow_mode_enabled(d) ? shadow_mode_table_op(d, sc) : -EINVAL;
|
||||
break;
|
||||
|
||||
@@ -242,6 +242,7 @@ typedef struct {
|
||||
#define DOM0_SHADOW_CONTROL_OP_OFF 0
|
||||
#define DOM0_SHADOW_CONTROL_OP_ENABLE_TEST 1
|
||||
#define DOM0_SHADOW_CONTROL_OP_ENABLE_LOGDIRTY 2
|
||||
#define DOM0_SHADOW_CONTROL_OP_ENABLE_TRANSLATE 3
|
||||
|
||||
#define DOM0_SHADOW_CONTROL_OP_FLUSH 10 /* table ops */
|
||||
#define DOM0_SHADOW_CONTROL_OP_CLEAN 11
|
||||
|
||||