From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758192AbbEaKPe (ORCPT ); Sun, 31 May 2015 06:15:34 -0400 Received: from cantor2.suse.de ([195.135.220.15]:45475 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751424AbbEaKPa (ORCPT ); Sun, 31 May 2015 06:15:30 -0400 Message-ID: <556ADF39.4080709@suse.com> Date: Sun, 31 May 2015 12:15:21 +0200 From: Juergen Gross User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Borislav Petkov , LKML CC: Andrew Morton , Andy Lutomirski , arnd@arndb.de, Elliott@hp.com, hch@lst.de, hmh@hmh.eng.br, "H. Peter Anvin" , Ingo Molnar , konrad.wilk@oracle.com, linux-mm , linux-nvdimm@ml01.01.org, "Luis R. Rodriguez" , stefan.bader@canonical.com, Thomas Gleixner , Toshi Kani , x86-ml , yigal@plexistor.com Subject: Re: [PATCH 2/4] x86/pat: Merge pat_init_cache_modes() into its caller References: <20150531094655.GA20440@pd.tnic> <1433065686-20922-1-git-send-email-bp@alien8.de> <1433065686-20922-2-git-send-email-bp@alien8.de> In-Reply-To: <1433065686-20922-2-git-send-email-bp@alien8.de> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/31/2015 11:48 AM, Borislav Petkov wrote: > From: Borislav Petkov > > This way we can pass pat MSR value directly. > > No functionality change. You are breaking the Xen build with that change. pat_init_cache_modes() is called from arch/x86/xen/enlighten.c as well. Juergen > > Signed-off-by: Borislav Petkov > Cc: Andrew Morton > Cc: Andy Lutomirski > Cc: arnd@arndb.de > Cc: Elliott@hp.com > Cc: hch@lst.de > Cc: hmh@hmh.eng.br > Cc: H. Peter Anvin > Cc: Ingo Molnar > Cc: jgross@suse.com > Cc: konrad.wilk@oracle.com > Cc: linux-mm > Cc: linux-nvdimm@lists.01.org > Cc: Luis R. Rodriguez > Cc: stefan.bader@canonical.com > Cc: Thomas Gleixner > Cc: Toshi Kani > Cc: x86-ml > Cc: yigal@plexistor.com > --- > arch/x86/mm/pat.c | 39 ++++++++++++++++----------------------- > 1 file changed, 16 insertions(+), 23 deletions(-) > > diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c > index 476d0780560f..4d28759f5a1a 100644 > --- a/arch/x86/mm/pat.c > +++ b/arch/x86/mm/pat.c > @@ -172,32 +172,14 @@ static enum page_cache_mode pat_get_cache_mode(unsigned pat_val, char *msg) > > #undef CM > > -/* > - * Update the cache mode to pgprot translation tables according to PAT > - * configuration. > - * Using lower indices is preferred, so we start with highest index. > - */ > -void pat_init_cache_modes(void) > -{ > - int i; > - enum page_cache_mode cache; > - char pat_msg[33]; > - u64 pat; > - > - rdmsrl(MSR_IA32_CR_PAT, pat); > - pat_msg[32] = 0; > - for (i = 7; i >= 0; i--) { > - cache = pat_get_cache_mode((pat >> (i * 8)) & 7, > - pat_msg + 4 * i); > - update_cache_mode_entry(i, cache); > - } > - pr_info("x86/PAT: Configuration [0-7]: %s\n", pat_msg); > -} > - > #define PAT(x, y) ((u64)PAT_ ## y << ((x)*8)) > > static void pat_bsp_init(u64 pat) > { > + enum page_cache_mode cache; > + char pat_msg[33]; > + int i; > + > if (!cpu_has_pat) { > pat_disable("PAT not supported by CPU."); > return; > @@ -211,7 +193,18 @@ static void pat_bsp_init(u64 pat) > > wrmsrl(MSR_IA32_CR_PAT, pat); > > - pat_init_cache_modes(); > + pat_msg[32] = 0; > + > + /* > + * Update the cache mode to pgprot translation tables according to PAT > + * configuration. Using lower indices is preferred, so we start with > + * highest index. > + */ > + for (i = 7; i >= 0; i--) { > + cache = pat_get_cache_mode((pat >> (i * 8)) & 7, pat_msg + 4 * i); > + update_cache_mode_entry(i, cache); > + } > + pr_info("x86/PAT: Configuration [0-7]: %s\n", pat_msg); > } > > static void pat_ap_init(u64 pat) >