Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp844249yba; Fri, 26 Apr 2019 09:37:57 -0700 (PDT) X-Google-Smtp-Source: APXvYqzjZSI3bsEgs+MYeZQW7eEBPR+BZTflOVWaVdZqVE0c6iTKbe/o8AsZoGadjE603wMuOgan X-Received: by 2002:a17:902:b948:: with SMTP id h8mr47121367pls.39.1556296677074; Fri, 26 Apr 2019 09:37:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556296677; cv=none; d=google.com; s=arc-20160816; b=qLwYPSpEsQLAS3r6vSLZM94f4OllA58t9Af6kVXpAUPiL6TMcAync1jh1JEbaBxojX AqcWyn3f1eCb0KFvnhFcdR1mpCQXTVRhz0QZV7OitzH1ADBu/K/Ml8Fs0k57SqsuSgcA A+p3YcTRDOswhMx3QUKmLxHMEuqvoz6/SRwIdRuWGxjbEGuUeGTASmu9b+47k4i4bJty 1rrqkYR92OvtgrSOPCZdKQzYhT2VlWFQx0lQVtDrMrSaIB1jDUZG6UV/DdXzkV1cC5Xg 1Kd4sMjHhHJlxMSbE6JCie+xWYQ6PPfnxX5QmC8LnEnnQ7GLXdLux7PCrjes3MZkDeDL wvCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:date:cc:to:subject:from:references :in-reply-to:message-id:dkim-signature; bh=Zs590auh6XIiCAThTCcP+QvprkjeL+YR+h7oV8tJLZA=; b=pFTO1+ib0zwxLWlyzpVnTqCNADl6yxQ9yTYriVaDcSw7AVubZADgWyeGlaH8KOUGmB wp9BADVnxvMV/vYCvWouAqNHyLdhqFwutnHmLLRoKC00+b6hnD4LhlE5BDzaKqimtEf9 HhrnNkC/3codDITErJeBvYHgi5/TGJqpjFg+KGr/O7bT7oUrhqaRZlE+kY6OP2GAmBKA O0HJbifpJ0g0pbunhVg0/LboGGHgtxfysedos7sw59MJNESTd5I1OBZ+yabQLiVXMn/f iZQk3/bDqy7pOtvH/TGsipj57voa81QOEziOSWZvgyfoZeboaXQZIFsJoA8V2m4L8l+p chGg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@c-s.fr header.s=mail header.b=A6s5CKZP; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e3si26066556pfn.164.2019.04.26.09.37.42; Fri, 26 Apr 2019 09:37:57 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@c-s.fr header.s=mail header.b=A6s5CKZP; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726452AbfDZQgp (ORCPT + 99 others); Fri, 26 Apr 2019 12:36:45 -0400 Received: from pegase1.c-s.fr ([93.17.236.30]:46981 "EHLO pegase1.c-s.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726377AbfDZQgk (ORCPT ); Fri, 26 Apr 2019 12:36:40 -0400 Received: from localhost (mailhub1-int [192.168.12.234]) by localhost (Postfix) with ESMTP id 44rKSj4n18z9v0ym; Fri, 26 Apr 2019 18:36:37 +0200 (CEST) Authentication-Results: localhost; dkim=pass reason="1024-bit key; insecure key" header.d=c-s.fr header.i=@c-s.fr header.b=A6s5CKZP; dkim-adsp=pass; dkim-atps=neutral X-Virus-Scanned: Debian amavisd-new at c-s.fr Received: from pegase1.c-s.fr ([192.168.12.234]) by localhost (pegase1.c-s.fr [192.168.12.234]) (amavisd-new, port 10024) with ESMTP id fXeWUN2Hv5t2; Fri, 26 Apr 2019 18:36:37 +0200 (CEST) Received: from messagerie.si.c-s.fr (messagerie.si.c-s.fr [192.168.25.192]) by pegase1.c-s.fr (Postfix) with ESMTP id 44rKSj3dJsz9v0yk; Fri, 26 Apr 2019 18:36:37 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=c-s.fr; s=mail; t=1556296597; bh=Zs590auh6XIiCAThTCcP+QvprkjeL+YR+h7oV8tJLZA=; h=In-Reply-To:References:From:Subject:To:Cc:Date:From; b=A6s5CKZP5vXWEtM98TbL5F3TNeIQhW6d/b/XzIaPC6IOcLgQiUloAqsUdzUJxBHZ7 CR52qz5FyIeP7MKbvQJi7BHjTIR9xXs1GGMPoQrp+g+lceCunWVOrrihaIary/+HDK Ib6cDR/AyJZa2lK+V7whtzIeU2dzE8EiFPNIwNBY= Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 36A378B950; Fri, 26 Apr 2019 18:36:39 +0200 (CEST) X-Virus-Scanned: amavisd-new at c-s.fr Received: from messagerie.si.c-s.fr ([127.0.0.1]) by localhost (messagerie.si.c-s.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id tdrYdXkPIH2B; Fri, 26 Apr 2019 18:36:39 +0200 (CEST) Received: from po16846vm.idsi0.si.c-s.fr (po15451.idsi0.si.c-s.fr [172.25.231.6]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 140088B82F; Fri, 26 Apr 2019 18:36:39 +0200 (CEST) Received: by po16846vm.idsi0.si.c-s.fr (Postfix, from userid 0) id 08FBB666FD; Fri, 26 Apr 2019 16:36:39 +0000 (UTC) Message-Id: <974ccc233b182fbc2539a1d597230854ed769523.1556296364.git.christophe.leroy@c-s.fr> In-Reply-To: <809c41e209068baf1045edbf154cc8d25c520d1e.1556296364.git.christophe.leroy@c-s.fr> References: <809c41e209068baf1045edbf154cc8d25c520d1e.1556296364.git.christophe.leroy@c-s.fr> From: Christophe Leroy Subject: [PATCH v3 3/3] powerpc/mm: print hash info in a helper To: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org Date: Fri, 26 Apr 2019 16:36:39 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Reduce #ifdef mess by defining a helper to print hash info at startup. In the meantime, remove the display of hash table address to reduce leak of non necessary information. Signed-off-by: Christophe Leroy --- v2: added header to avoid sparse warning v3: rebased due to commit a092a03fa942 ("powerpc/mm: Print kernel map details to dmesg") arch/powerpc/kernel/setup-common.c | 22 +--------------------- arch/powerpc/mm/hash_utils_64.c | 13 +++++++++++++ arch/powerpc/mm/mmu_decl.h | 5 ++++- arch/powerpc/mm/ppc_mmu_32.c | 9 ++++++++- 4 files changed, 26 insertions(+), 23 deletions(-) diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c index 1729bf409562..ef424e934ee7 100644 --- a/arch/powerpc/kernel/setup-common.c +++ b/arch/powerpc/kernel/setup-common.c @@ -799,12 +799,6 @@ void arch_setup_pdev_archdata(struct platform_device *pdev) static __init void print_system_info(void) { pr_info("-----------------------------------------------------\n"); -#ifdef CONFIG_PPC_BOOK3S_64 - pr_info("ppc64_pft_size = 0x%llx\n", ppc64_pft_size); -#endif -#ifdef CONFIG_PPC_BOOK3S_32 - pr_info("Hash_size = 0x%lx\n", Hash_size); -#endif pr_info("phys_mem_size = 0x%llx\n", (unsigned long long)memblock_phys_mem_size()); @@ -826,21 +820,7 @@ static __init void print_system_info(void) pr_info("firmware_features = 0x%016lx\n", powerpc_firmware_features); #endif -#ifdef CONFIG_PPC_BOOK3S_64 - if (htab_address) - pr_info("htab_address = 0x%p\n", htab_address); - if (htab_hash_mask) - pr_info("htab_hash_mask = 0x%lx\n", htab_hash_mask); - pr_info("kernel vmalloc start = 0x%lx\n", KERN_VIRT_START); - pr_info("kernel IO start = 0x%lx\n", KERN_IO_START); - pr_info("kernel vmemmap start = 0x%lx\n", (unsigned long)vmemmap); -#endif -#ifdef CONFIG_PPC_BOOK3S_32 - if (Hash) - pr_info("Hash = 0x%p\n", Hash); - if (Hash_mask) - pr_info("Hash_mask = 0x%lx\n", Hash_mask); -#endif + print_system_hash_info(); if (PHYSICAL_START > 0) pr_info("physical_start = 0x%llx\n", diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c index f727197de713..098bae10ceab 100644 --- a/arch/powerpc/mm/hash_utils_64.c +++ b/arch/powerpc/mm/hash_utils_64.c @@ -65,6 +65,8 @@ #include #include +#include "mmu_decl.h" + #ifdef DEBUG #define DBG(fmt...) udbg_printf(fmt) #else @@ -1928,3 +1930,14 @@ static int __init hash64_debugfs(void) } machine_device_initcall(pseries, hash64_debugfs); #endif /* CONFIG_DEBUG_FS */ + +void __init print_system_hash_info(void) +{ + pr_info("ppc64_pft_size = 0x%llx\n", ppc64_pft_size); + + if (htab_hash_mask) + pr_info("htab_hash_mask = 0x%lx\n", htab_hash_mask); + pr_info("kernel vmalloc start = 0x%lx\n", KERN_VIRT_START); + pr_info("kernel IO start = 0x%lx\n", KERN_IO_START); + pr_info("kernel vmemmap start = 0x%lx\n", (unsigned long)vmemmap); +} diff --git a/arch/powerpc/mm/mmu_decl.h b/arch/powerpc/mm/mmu_decl.h index f7f1374ba3ee..dc617ade83ab 100644 --- a/arch/powerpc/mm/mmu_decl.h +++ b/arch/powerpc/mm/mmu_decl.h @@ -83,6 +83,8 @@ static inline void _tlbivax_bcast(unsigned long address, unsigned int pid, } #endif +static inline void print_system_hash_info(void) {} + #else /* CONFIG_PPC_MMU_NOHASH */ extern void hash_preload(struct mm_struct *mm, unsigned long ea, @@ -92,6 +94,8 @@ extern void hash_preload(struct mm_struct *mm, unsigned long ea, extern void _tlbie(unsigned long address); extern void _tlbia(void); +void print_system_hash_info(void); + #endif /* CONFIG_PPC_MMU_NOHASH */ #ifdef CONFIG_PPC32 @@ -105,7 +109,6 @@ extern unsigned int rtas_data, rtas_size; struct hash_pte; extern struct hash_pte *Hash; -extern unsigned long Hash_size, Hash_mask; #endif /* CONFIG_PPC32 */ diff --git a/arch/powerpc/mm/ppc_mmu_32.c b/arch/powerpc/mm/ppc_mmu_32.c index c908538720ac..f2e88b8a48e1 100644 --- a/arch/powerpc/mm/ppc_mmu_32.c +++ b/arch/powerpc/mm/ppc_mmu_32.c @@ -37,7 +37,7 @@ #include "mmu_decl.h" struct hash_pte *Hash; -unsigned long Hash_size, Hash_mask; +static unsigned long Hash_size, Hash_mask; unsigned long _SDR1; struct ppc_bat BATS[8][2]; /* 8 pairs of IBAT, DBAT */ @@ -393,6 +393,13 @@ void setup_initial_memory_limit(phys_addr_t first_memblock_base, memblock_set_current_limit(min_t(u64, first_memblock_size, 0x10000000)); } +void __init print_system_hash_info(void) +{ + pr_info("Hash_size = 0x%lx\n", Hash_size); + if (Hash_mask) + pr_info("Hash_mask = 0x%lx\n", Hash_mask); +} + #ifdef CONFIG_PPC_KUEP void __init setup_kuep(bool disabled) { -- 2.13.3