[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 02/16] x86: put some code in arch_set_info_guest under CONFIG_PV
This function is called by both PV and HVM. Unfortunately the code is very convoluted. We can reason that code between the call to hvm_set_info_guest and out label is PV only. Put that portion under CONFIG_PV. Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx> --- v2: new --- xen/arch/x86/domain.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c index 9371efc..c931377 100644 --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -777,11 +777,15 @@ int arch_set_info_guest( struct vcpu *v, vcpu_guest_context_u c) { struct domain *d = v->domain; + unsigned int i; + unsigned long flags; + bool compat; +#ifdef CONFIG_PV unsigned long cr3_gfn; struct page_info *cr3_page; - unsigned long flags, cr4; - unsigned int i; - int rc = 0, compat; + unsigned long cr4; + int rc = 0; +#endif /* The context is a compat-mode one if the target domain is compat-mode; * we expect the tools to DTRT even in compat-mode callers. */ @@ -875,6 +879,7 @@ int arch_set_info_guest( goto out; } +#ifdef CONFIG_PV /* IOPL privileges are virtualised. */ v->arch.pv.iopl = v->arch.user_regs.eflags & X86_EFLAGS_IOPL; v->arch.user_regs.eflags &= ~X86_EFLAGS_IOPL; @@ -1140,6 +1145,7 @@ int arch_set_info_guest( paging_update_paging_modes(v); update_cr3(v); +#endif /* CONFIG_PV */ out: if ( flags & VGCF_online ) -- git-series 0.9.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |