From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH 16/20] PVH xen: Miscellaneous changes Date: Wed, 15 May 2013 12:53:00 +0100 Message-ID: <5193933C02000078000D66CD@nat28.tlf.novell.com> References: <1368579168-30829-1-git-send-email-mukesh.rathor@oracle.com> <1368579168-30829-17-git-send-email-mukesh.rathor@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1368579168-30829-17-git-send-email-mukesh.rathor@oracle.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Mukesh Rathor Cc: xen-devel List-Id: xen-devel@lists.xenproject.org >>> On 15.05.13 at 02:52, Mukesh Rathor wrote: > --- a/xen/arch/x86/domctl.c > +++ b/xen/arch/x86/domctl.c > @@ -64,9 +64,10 @@ long domctl_memory_mapping(struct domain *d, unsigned long gfn, > > if ( add_map ) > { > - printk(XENLOG_G_INFO > - "memory_map:add: dom%d gfn=%lx mfn=%lx nr=%lx\n", > - d->domain_id, gfn, mfn, nr_mfns); > + if ( !is_pvh_domain(d) ) /* PVH maps lots and lots */ > + printk(XENLOG_G_INFO > + "memory_map:add: dom%d gfn=%lx mfn=%lx nr=%lx\n", > + d->domain_id, gfn, mfn, nr_mfns); > > ret = iomem_permit_access(d, mfn, mfn + nr_mfns - 1); > if ( !ret && paging_mode_translate(d) ) > @@ -91,9 +92,10 @@ long domctl_memory_mapping(struct domain *d, unsigned long gfn, > } > else > { > - printk(XENLOG_G_INFO > - "memory_map:remove: dom%d gfn=%lx mfn=%lx nr=%lx\n", > - d->domain_id, gfn, mfn, nr_mfns); > + if ( !is_pvh_domain(d) ) /* PVH unmaps lots and lots */ > + printk(XENLOG_G_INFO > + "memory_map:remove: dom%d gfn=%lx mfn=%lx nr=%lx\n", > + d->domain_id, gfn, mfn, nr_mfns); > > if ( paging_mode_translate(d) ) > for ( i = 0; i < nr_mfns; i++ ) Are these changes still necessary? IOW why would a PVH guest be mapping so much more MMIO memory than a PV one? > @@ -1304,6 +1306,11 @@ void arch_get_info_guest(struct vcpu *v, vcpu_guest_context_u c) > c.nat->gs_base_kernel = hvm_get_shadow_gs_base(v); > } > } > + else if ( is_pvh_vcpu(v) ) > + { > + /* pvh fixme: punt it to phase II */ > + printk(XENLOG_WARNING "PVH: fixme: arch_get_info_guest()\n"); > + } Please at least clear out all state that doesn't get properly obtained (short of being able to return an error). Jan