From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH 5/8] x86, brk: Make extend_brk() available with va/pa. Date: Wed, 21 Aug 2013 10:42:58 -0400 Message-ID: <20130821144258.GH2593@phenom.dumpdata.com> References: <1377080143-28455-1-git-send-email-tangchen@cn.fujitsu.com> <1377080143-28455-6-git-send-email-tangchen@cn.fujitsu.com> <18d71946-6de9-4af2-a6a8-05fae51755af@email.android.com> <68a532f2-e468-4aea-b42b-a444ec079c3f@email.android.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <68a532f2-e468-4aea-b42b-a444ec079c3f@email.android.com> Sender: owner-linux-mm@kvack.org To: "H. Peter Anvin" Cc: Tang Chen , robert.moore@intel.com, lv.zheng@intel.com, rjw@sisk.pl, lenb@kernel.org, tglx@linutronix.de, mingo@elte.hu, akpm@linux-foundation.org, tj@kernel.org, trenn@suse.de, yinghai@kernel.org, jiang.liu@huawei.com, wency@cn.fujitsu.com, laijs@cn.fujitsu.com, isimatu.yasuaki@jp.fujitsu.com, izumi.taku@jp.fujitsu.com, mgorman@suse.de, minchan@kernel.org, mina86@mina86.com, gong.chen@linux.intel.com, vasilis.liaskovitis@profitbricks.com, lwoodman@redhat.com, riel@redhat.com, jweiner@redhat.com, prarit@redhat.com, zhangyanfei@cn.fujitsu.com, yanghy@cn.fujitsu.com, x86@kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-acpi@vger.kernel.org List-Id: linux-acpi@vger.kernel.org On Wed, Aug 21, 2013 at 02:35:36PM +0200, H. Peter Anvin wrote: > Global symbols are inaccessible in physical mode. Even if they are embedded in the assembler code and use GLOBAL(paging_enabled) ? > > This is incidentally yet another example of "PV/weird platform violence", since in their absence it would be trivial to work around this by using segmentation. I don't follow why it could not. Why can't there be a __pa_symbol(paging_enabled) that is used. Won't that in effect allow you to check the contents of that 'global constant' even when you don't have paging enabled? > >>As mentioned above, on 32bit before paging is enabled, we have to > >>access variables > >>with pa. So introduce a "bool is_phys" parameter to extend_brk(), and > >>convert va > >>to pa is it is true. > > > >Could you do it differently? Meaning have a global symbol > >(paging_enabled) which will be used by most of the functions you > >changed in this patch and the next ones? It would naturally be enabled > >when paging is on and __va addresses can be used. > > > >That could also be used in the printk case to do a BUG_ON before paging > >is enabled on 32bit. Or perhaps use a different code path to deal with > >using __pa address. > > > >? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752567Ab3HUOok (ORCPT ); Wed, 21 Aug 2013 10:44:40 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:42725 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751853Ab3HUOoh (ORCPT ); Wed, 21 Aug 2013 10:44:37 -0400 Date: Wed, 21 Aug 2013 10:42:58 -0400 From: Konrad Rzeszutek Wilk To: "H. Peter Anvin" Cc: Tang Chen , robert.moore@intel.com, lv.zheng@intel.com, rjw@sisk.pl, lenb@kernel.org, tglx@linutronix.de, mingo@elte.hu, akpm@linux-foundation.org, tj@kernel.org, trenn@suse.de, yinghai@kernel.org, jiang.liu@huawei.com, wency@cn.fujitsu.com, laijs@cn.fujitsu.com, isimatu.yasuaki@jp.fujitsu.com, izumi.taku@jp.fujitsu.com, mgorman@suse.de, minchan@kernel.org, mina86@mina86.com, gong.chen@linux.intel.com, vasilis.liaskovitis@profitbricks.com, lwoodman@redhat.com, riel@redhat.com, jweiner@redhat.com, prarit@redhat.com, zhangyanfei@cn.fujitsu.com, yanghy@cn.fujitsu.com, x86@kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-acpi@vger.kernel.org Subject: Re: [PATCH 5/8] x86, brk: Make extend_brk() available with va/pa. Message-ID: <20130821144258.GH2593@phenom.dumpdata.com> References: <1377080143-28455-1-git-send-email-tangchen@cn.fujitsu.com> <1377080143-28455-6-git-send-email-tangchen@cn.fujitsu.com> <18d71946-6de9-4af2-a6a8-05fae51755af@email.android.com> <68a532f2-e468-4aea-b42b-a444ec079c3f@email.android.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <68a532f2-e468-4aea-b42b-a444ec079c3f@email.android.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Source-IP: acsinet22.oracle.com [141.146.126.238] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Aug 21, 2013 at 02:35:36PM +0200, H. Peter Anvin wrote: > Global symbols are inaccessible in physical mode. Even if they are embedded in the assembler code and use GLOBAL(paging_enabled) ? > > This is incidentally yet another example of "PV/weird platform violence", since in their absence it would be trivial to work around this by using segmentation. I don't follow why it could not. Why can't there be a __pa_symbol(paging_enabled) that is used. Won't that in effect allow you to check the contents of that 'global constant' even when you don't have paging enabled? > >>As mentioned above, on 32bit before paging is enabled, we have to > >>access variables > >>with pa. So introduce a "bool is_phys" parameter to extend_brk(), and > >>convert va > >>to pa is it is true. > > > >Could you do it differently? Meaning have a global symbol > >(paging_enabled) which will be used by most of the functions you > >changed in this patch and the next ones? It would naturally be enabled > >when paging is on and __va addresses can be used. > > > >That could also be used in the printk case to do a BUG_ON before paging > >is enabled on 32bit. Or perhaps use a different code path to deal with > >using __pa address. > > > >?