[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [HVM] Fix the HVM hypercall issue when paging is not enabled yet on 64bit host.
# HG changeset patch # User kfraser@xxxxxxxxxxxxxxxxxxxxx # Node ID b127e557ee74e02834c76e61c1c55b33de808e4c # Parent 7ed73735fd30038abbd2d4ba55ac7541eb35a5e4 [HVM] Fix the HVM hypercall issue when paging is not enabled yet on 64bit host. Signed-off-by: Xin Li <xin.b.li@xxxxxxxxx> --- xen/arch/x86/shadow_public.c | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) diff -r 7ed73735fd30 -r b127e557ee74 xen/arch/x86/shadow_public.c --- a/xen/arch/x86/shadow_public.c Wed Aug 16 11:53:37 2006 +0100 +++ b/xen/arch/x86/shadow_public.c Wed Aug 16 11:55:26 2006 +0100 @@ -1104,6 +1104,9 @@ int __shadow_mode_enable(struct domain * { struct vcpu *v; int new_modes = (mode & ~d->arch.shadow_mode); +#if defined(CONFIG_PAGING_LEVELS) + int initial_paging_levels = 3; +#endif // Gotta be adding something to call this function. ASSERT(new_modes); @@ -1112,8 +1115,10 @@ int __shadow_mode_enable(struct domain * ASSERT(!(d->arch.shadow_mode & ~mode)); #if defined(CONFIG_PAGING_LEVELS) - if(!shadow_set_guest_paging_levels(d, - CONFIG_PAGING_LEVELS)) { + if ( CONFIG_PAGING_LEVELS == 2 ) + initial_paging_levels = CONFIG_PAGING_LEVELS; + if ( !shadow_set_guest_paging_levels(d, + initial_paging_levels) ) { printk("Unsupported guest paging levels\n"); domain_crash_synchronous(); /* need to take a clean path */ } _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |