Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752124AbbHEMeb (ORCPT ); Wed, 5 Aug 2015 08:34:31 -0400 Received: from smtp02.citrix.com ([66.165.176.63]:18638 "EHLO SMTP02.CITRIX.COM" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751892AbbHEMe2 (ORCPT ); Wed, 5 Aug 2015 08:34:28 -0400 X-IronPort-AV: E=Sophos;i="5.15,616,1432598400"; d="scan'208";a="291561862" Message-ID: <55C2029C.9030705@citrix.com> Date: Wed, 5 Aug 2015 13:33:32 +0100 From: Julien Grall User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.7.0 MIME-Version: 1.0 To: Boris Ostrovsky , CC: , "H. Peter Anvin" , "Jiri Slaby" , Russell King , , , Tomi Valkeinen , , "Jean-Christophe Plagniol-Villard" , , , "James E.J. Bottomley" , Thomas Gleixner , Ingo Molnar , , Juergen Gross , Wei Liu , Greg Kroah-Hartman , Dmitry Torokhov , , David Vrabel , , , =?windows-1252?Q?Roger_Pau_Monn=E9?= Subject: Re: [Xen-devel] [PATCH v2 4/8] xen: Use the correctly the Xen memory terminologies References: <1438711972-18752-1-git-send-email-julien.grall@citrix.com> <1438711972-18752-5-git-send-email-julien.grall@citrix.com> <55C147DD.7000600@oracle.com> <55C1EA95.5060504@citrix.com> <55C1FF54.8060409@oracle.com> In-Reply-To: <55C1FF54.8060409@oracle.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-DLP: MIA2 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1696 Lines: 50 On 05/08/15 13:19, Boris Ostrovsky wrote: > On 08/05/2015 06:51 AM, Julien Grall wrote: >> >>>> diff --git a/drivers/video/fbdev/xen-fbfront.c >>>> b/drivers/video/fbdev/xen-fbfront.c >>>> index 09dc447..25e3cce 100644 >>>> --- a/drivers/video/fbdev/xen-fbfront.c >>>> +++ b/drivers/video/fbdev/xen-fbfront.c >>>> @@ -539,7 +539,7 @@ static int xenfb_remove(struct xenbus_device *dev) >>>> static unsigned long vmalloc_to_mfn(void *address) >>>> { >>>> - return pfn_to_mfn(vmalloc_to_pfn(address)); >>>> + return pfn_to_gfn(vmalloc_to_pfn(address)); >>>> } >>> Are you sure? This will return vmalloc_to_pfn(address)). >> I guess you mean vmalloc_to_mfn will return vmalloc_to_pfn? >> >> If so, it will be only the case on auto-translated case (because pfn == >> gfn). In the case of PV, the mfn will be returned. > > How will mfn be returned on PV when pfn_to_gfn() is an identity function? > > static inline unsigned long pfn_to_gfn(unsigned long pfn) > { > return pfn; > } The identity function is only for ARM guest which are always auto-translated (arch/arm/include/asm/xen/page.h). The x86 version contains a check if the guest is auto-translated or not (arch/x86/include/asm/xen/page.): static inline unsigned long pfn_to_gfn(unsigned long pfn) { if (xen_feature(XENFEAT_auto_translated_physmap)) return pfn; else return pfn_to_mfn(pfn); } Regards, -- Julien Grall -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/