From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id AA3CFE77199 for ; Thu, 9 Jan 2025 10:17:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 299EB6B007B; Thu, 9 Jan 2025 05:17:00 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 249C66B0082; Thu, 9 Jan 2025 05:17:00 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 112366B0083; Thu, 9 Jan 2025 05:17:00 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id E141F6B007B for ; Thu, 9 Jan 2025 05:16:59 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id EF4C74513A for ; Thu, 9 Jan 2025 10:16:58 +0000 (UTC) X-FDA: 82987510116.19.E576141 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.19]) by imf03.hostedemail.com (Postfix) with ESMTP id 337522000C for ; Thu, 9 Jan 2025 10:16:56 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=TKKadJEP; spf=pass (imf03.hostedemail.com: domain of lkp@intel.com designates 192.198.163.19 as permitted sender) smtp.mailfrom=lkp@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736417817; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=0sfPNQQ3qY4FJvU0cBN9envQiIgHstm1YOVbkXIe9Kc=; b=7R9lKSbj6lxWxQhBzJ2YGOU7DCi3hZ7SQ8r2EJn2I3GXsq4LnlTrgFilvgACWWoigHC1Ah VmRadHGFylRUhztXBZaRCXPiLhPP6f31JSJ0SkC1N3gd3LWcKC0idrE7zA+WsiOj8jtydL xbvXkYo0QPStE/hXJqzRhah6EiY5XpE= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736417817; a=rsa-sha256; cv=none; b=AKkSRFUOYmTk0iiKnoE0ZDS+yZdFQDcbBCSI80bqWTq5fTOHQNnb4xIt0ozEJZ8Swu5dIF Inp7ziaiazfr3QPJSa8l8wGssaY1gm3U1Hli9t6vrELWs4OBvxj4a4eWqS+syUXmc3JLBL qK4ucWPln+JoRLNQZRkC5jNGTpUzdBI= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=TKKadJEP; spf=pass (imf03.hostedemail.com: domain of lkp@intel.com designates 192.198.163.19 as permitted sender) smtp.mailfrom=lkp@intel.com; dmarc=pass (policy=none) header.from=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1736417816; x=1767953816; h=date:from:to:cc:subject:message-id:mime-version; bh=sCPyUObJsKqn30iTA3fiV094fe1yE6BSISkqhHSB0UM=; b=TKKadJEPuprvvop5FLk6ui0uMrQ+ivbjPZ3T7tnlcS0YlCKaS6Y6qNqK pLDR+ctSegUWQ8TVRmIXL1J0bwVMcn+9X7GN0xn7R0iE9K9lF7gp4hfHa ktuaX7n3l50FIE5YVf5rBcn96CsSynfwb9hed0rcyEwYZiUcdNvLTEOzq BL0pu9IlImpusGv1zZKxpeMihWq7eaz4M7qJzSoV+XtFa25koKgcQd1Kp B5S9C/HZuBgEr/wE1QFzQKN1+4KSlHU8piult2rhd+5skHWjMhLe4RmQ0 aaLGYhCHWUrXJwgxiAEk+p8nESxG4dfSi09OlztFWfdbIXgVP5s6TblUX w==; X-CSE-ConnectionGUID: 0ntzBrvQRh6fIt6YKSd0cw== X-CSE-MsgGUID: 3OrgdbhdTFOBMTVdl9tFKQ== X-IronPort-AV: E=McAfee;i="6700,10204,11309"; a="35895552" X-IronPort-AV: E=Sophos;i="6.12,301,1728975600"; d="scan'208";a="35895552" Received: from orviesa004.jf.intel.com ([10.64.159.144]) by fmvoesa113.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jan 2025 02:16:55 -0800 X-CSE-ConnectionGUID: b6y6Yn+2RZmbGj6DWFyJ5w== X-CSE-MsgGUID: pPuMJ/FMQ7iDepUhdO9Ldg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,301,1728975600"; d="scan'208";a="108350026" Received: from lkp-server01.sh.intel.com (HELO d63d4d77d921) ([10.239.97.150]) by orviesa004.jf.intel.com with ESMTP; 09 Jan 2025 02:16:53 -0800 Received: from kbuild by d63d4d77d921 with local (Exim 4.96) (envelope-from ) id 1tVpas-000HMX-1l; Thu, 09 Jan 2025 10:16:50 +0000 Date: Thu, 9 Jan 2025 18:16:10 +0800 From: kernel test robot To: Alistair Popple Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev, Andrew Morton , Linux Memory Management List Subject: [linux-next:master 6964/7509] arch/powerpc/mm/book3s64/hugetlbpage.c:77:35: error: use of undeclared identifier '_PAGE_DEVMAP' Message-ID: <202501091855.AAxlhUYD-lkp@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 337522000C X-Stat-Signature: gwbba3qrgm9k31ttbgduhqsayghrujjb X-Rspam-User: X-HE-Tag: 1736417815-564237 X-HE-Meta: U2FsdGVkX1/+su6ZOH6tYjrB69uQ5Ermg3ENCq0V4+X2+uzfdih3RiPbF4LYsN8/8fRXqpzfUUrFgXD3ur3zAQYBasuOYXM/Ksq2pw2pnRD3p4QKv+3GxRENGgFYEM0Vzv6LKgbMgaMi9+MH5Vh5tagqew8XOZEsLQnMSGusa3O2sXZ7b6HaG/I0HN3fQW/hMVMe4g3HhXcHy2fv84/gFCVbQNMQvuTEPrYT0wuWZ3Owq+tgQEtcnbp8P4aOhIbmJQ9EBRXJuLsodjaU9zJydkzsIK/cRe/YY4Yku0/gpedzMeMLFqbf/+Y6R7dnqFoPkksE0keoXZCKdw9CzNpC5m3MDfh3rjzHiBoMszoEuSMXaIzBrGMBZTNX4yMcdLgdV1xDuKv4IVYdcY/VAv3oePN19nae1tTLQ/mA2500zKXsac4+3rmDDB0nTcOq+11JobvmGQbxwTeH1Hd5WBF03yUOksrjQtvQ8E0imY7Pln2KxIOQruRG9A2wf2MBQjxHMMjcV9Fv2QL6BMEQb+cM9rJ/lW7ML/XilsBVTGnOajsmcOEiBXFm1I6ToBpuDhsEOAsNCMQYPKF+nNua8QgNKTmllbKND7Ez1mRfdoeVx7vl7hBZF9fx/rwbZwTQTwFI6pzY14JIwhMV9GBdot6C0NbOYLBl8/utvCWmxBDxzJ80YfQfOLf2HA1SRacf806dfIG3DOvOe1EuugvjIJOvhym9LOEQB47q9wptgIhwJt50oxjpNcEA9+KaM2rxcwZ94ZMMT8r+4V3UpUjTJ5BCsCzoaFBbIjO0055RkWQFzEKXOIdetqQvYaSE2qdH6h1jLN+X+/MUgoS7RWJ9lA0U1+JBt26NO81nQz51CG+wavzoGq/CwzDkVHfL2Oi5mKoe0+7ZRl3m1ybeykNY+sxtvC55J2xMtXdi1fCxG8xxWdHP1LLisdCGOxHgYSiwinm1PaHj/CSiWLjAKJOGZDc Eq05l/3o mpk8ACA4079ZXonV3jyCqV9bF/CBt3Jp+af59MwGnV2yNcYVN9b8fHVSKaMHQrT3Egwl7APj2QpMrLZX5hh2eYGm228hU5pXAaEBVgDBl+Xt34qwZqpBooZKeoBVjIYekDTE8DBSJlp/YszTB8KpU/vhHglMLVKjhqrNtHEGbmt8Ae7wjiAugq5jqE92eXjGt4r2prg/BjhuadDh9VTI3JNM+0GnMqLPcz2FeNUnAuRuJfuXekyPAbbCRRGOVbxPnqbCb1CuUDxrtiamfNdQYkBbuKxt0A+9sO2sLIzYx0pjrqU2Ixc5/4+U1Oph24cSCrLJWA7PWRxUJSRR47xQwSI2ZEJiW5qujh/qHn6BmGUcZFxX6EH47SafE+MrzHb1HwJoNejdJaLUkM2s= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 6ecd20965bdc21b265a0671ccf36d9ad8043f5ab commit: c0c3319917dbc5837ff0ade264d56b8e2934c099 [6964/7509] mm: remove devmap related functions and page table bits config: powerpc64-randconfig-002-20250109 (https://download.01.org/0day-ci/archive/20250109/202501091855.AAxlhUYD-lkp@intel.com/config) compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 096551537b2a747a3387726ca618ceeb3950e9bc) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250109/202501091855.AAxlhUYD-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot | Closes: https://lore.kernel.org/oe-kbuild-all/202501091855.AAxlhUYD-lkp@intel.com/ Note: the linux-next/master HEAD 6ecd20965bdc21b265a0671ccf36d9ad8043f5ab builds fine. It may have been fixed somewhere. All errors (new ones prefixed by >>): >> arch/powerpc/mm/book3s64/hugetlbpage.c:77:35: error: use of undeclared identifier '_PAGE_DEVMAP' 77 | if (old_pte & (H_PAGE_THP_HUGE | _PAGE_DEVMAP)) | ^ 1 error generated. vim +/_PAGE_DEVMAP +77 arch/powerpc/mm/book3s64/hugetlbpage.c c5710cd20735037 arch/powerpc/mm/book3s64/hash_hugetlbpage.c Christophe Leroy 2019-04-26 18 387e220a2e5e630 arch/powerpc/mm/book3s64/hugetlbpage.c Nicholas Piggin 2021-12-02 19 #ifdef CONFIG_PPC_64S_HASH_MMU 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 20 int __hash_page_huge(unsigned long ea, unsigned long access, unsigned long vsid, aefa5688c070727 arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2014-12-04 21 pte_t *ptep, unsigned long trap, unsigned long flags, aefa5688c070727 arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2014-12-04 22 int ssize, unsigned int shift, unsigned int mmu_psize) 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 23 { bf9a95f9a6481bc arch/powerpc/mm/hugetlbpage-hash64.c Ram Pai 2017-11-06 24 real_pte_t rpte; 5524a27d39b6877 arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2012-09-10 25 unsigned long vpn; 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 26 unsigned long old_pte, new_pte; 8132cf115efc3b3 arch/powerpc/mm/hugetlbpage-hash64.c Qian Cai 2019-02-27 27 unsigned long rflags, pa; ff31e105464d8c8 arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2018-02-11 28 long slot, offset; 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 29 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 30 BUG_ON(shift != mmu_psize_defs[mmu_psize].shift); 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 31 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 32 /* Search the Linux page table for a match with va */ 5524a27d39b6877 arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2012-09-10 33 vpn = hpt_vpn(ea, vsid, ssize); 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 34 47d99948eee48a8 arch/powerpc/mm/book3s64/hash_hugetlbpage.c Christophe Leroy 2019-03-29 35 /* 47d99948eee48a8 arch/powerpc/mm/book3s64/hash_hugetlbpage.c Christophe Leroy 2019-03-29 36 * At this point, we have a pte (old_pte) which can be used to build 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 37 * or update an HPTE. There are 2 cases: 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 38 * 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 39 * 1. There is a valid (present) pte with no associated HPTE (this is 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 40 * the most common case) 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 41 * 2. There is a valid (present) pte with an associated HPTE. The 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 42 * current values of the pp bits in the HPTE prevent access 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 43 * because we are doing software DIRTY bit management and the 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 44 * page is currently not DIRTY. 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 45 */ 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 46 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 47 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 48 do { 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 49 old_pte = pte_val(*ptep); 171aa2caaad16ed arch/powerpc/mm/hugetlbpage-hash64.c Benjamin Herrenschmidt 2010-07-23 50 /* If PTE busy, retry the access */ 945537df7a107e0 arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2016-04-29 51 if (unlikely(old_pte & H_PAGE_BUSY)) 171aa2caaad16ed arch/powerpc/mm/hugetlbpage-hash64.c Benjamin Herrenschmidt 2010-07-23 52 return 0; 171aa2caaad16ed arch/powerpc/mm/hugetlbpage-hash64.c Benjamin Herrenschmidt 2010-07-23 53 /* If PTE permissions don't match, take page fault */ ac29c64089b74d1 arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2016-04-29 54 if (unlikely(!check_pte_access(access, old_pte))) 171aa2caaad16ed arch/powerpc/mm/hugetlbpage-hash64.c Benjamin Herrenschmidt 2010-07-23 55 return 1; 57fb15c32f4f6a4 arch/powerpc/mm/book3s64/hugetlbpage.c Christophe Leroy 2024-07-02 56 /* 57fb15c32f4f6a4 arch/powerpc/mm/book3s64/hugetlbpage.c Christophe Leroy 2024-07-02 57 * If hash-4k, hugepages use seeral contiguous PxD entries 57fb15c32f4f6a4 arch/powerpc/mm/book3s64/hugetlbpage.c Christophe Leroy 2024-07-02 58 * so bail out and let mm make the page young or dirty 57fb15c32f4f6a4 arch/powerpc/mm/book3s64/hugetlbpage.c Christophe Leroy 2024-07-02 59 */ 57fb15c32f4f6a4 arch/powerpc/mm/book3s64/hugetlbpage.c Christophe Leroy 2024-07-02 60 if (IS_ENABLED(CONFIG_PPC_4K_PAGES)) { 57fb15c32f4f6a4 arch/powerpc/mm/book3s64/hugetlbpage.c Christophe Leroy 2024-07-02 61 if (!(old_pte & _PAGE_ACCESSED)) 57fb15c32f4f6a4 arch/powerpc/mm/book3s64/hugetlbpage.c Christophe Leroy 2024-07-02 62 return 1; 57fb15c32f4f6a4 arch/powerpc/mm/book3s64/hugetlbpage.c Christophe Leroy 2024-07-02 63 if ((access & _PAGE_WRITE) && !(old_pte & _PAGE_DIRTY)) 57fb15c32f4f6a4 arch/powerpc/mm/book3s64/hugetlbpage.c Christophe Leroy 2024-07-02 64 return 1; 57fb15c32f4f6a4 arch/powerpc/mm/book3s64/hugetlbpage.c Christophe Leroy 2024-07-02 65 } ac29c64089b74d1 arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2016-04-29 66 47d99948eee48a8 arch/powerpc/mm/book3s64/hash_hugetlbpage.c Christophe Leroy 2019-03-29 67 /* 47d99948eee48a8 arch/powerpc/mm/book3s64/hash_hugetlbpage.c Christophe Leroy 2019-03-29 68 * Try to lock the PTE, add ACCESSED and DIRTY if it was 47d99948eee48a8 arch/powerpc/mm/book3s64/hash_hugetlbpage.c Christophe Leroy 2019-03-29 69 * a write access 47d99948eee48a8 arch/powerpc/mm/book3s64/hash_hugetlbpage.c Christophe Leroy 2019-03-29 70 */ 945537df7a107e0 arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2016-04-29 71 new_pte = old_pte | H_PAGE_BUSY | _PAGE_ACCESSED; c7d54842deb1fa3 arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2016-04-29 72 if (access & _PAGE_WRITE) 171aa2caaad16ed arch/powerpc/mm/hugetlbpage-hash64.c Benjamin Herrenschmidt 2010-07-23 73 new_pte |= _PAGE_DIRTY; 3910a7f485e1222 arch/powerpc/mm/hugetlbpage-hash64.c Michael Ellerman 2016-04-29 74 } while(!pte_xchg(ptep, __pte(old_pte), __pte(new_pte))); 3910a7f485e1222 arch/powerpc/mm/hugetlbpage-hash64.c Michael Ellerman 2016-04-29 75 75646c480fdeffb arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2018-09-20 76 /* Make sure this is a hugetlb entry */ 75646c480fdeffb arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2018-09-20 @77 if (old_pte & (H_PAGE_THP_HUGE | _PAGE_DEVMAP)) 75646c480fdeffb arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2018-09-20 78 return 0; 75646c480fdeffb arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2018-09-20 79 d94b827e89dc3f9 arch/powerpc/mm/book3s64/hash_hugetlbpage.c Aneesh Kumar K.V 2020-11-27 80 rflags = htab_convert_pte_flags(new_pte, flags); ff31e105464d8c8 arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2018-02-11 81 if (unlikely(mmu_psize == MMU_PAGE_16G)) ff31e105464d8c8 arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2018-02-11 82 offset = PTRS_PER_PUD; ff31e105464d8c8 arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2018-02-11 83 else ff31e105464d8c8 arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2018-02-11 84 offset = PTRS_PER_PMD; ff31e105464d8c8 arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2018-02-11 85 rpte = __real_pte(__pte(old_pte), ptep, offset); 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 86 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 87 if (!cpu_has_feature(CPU_FTR_COHERENT_ICACHE)) 47d99948eee48a8 arch/powerpc/mm/book3s64/hash_hugetlbpage.c Christophe Leroy 2019-03-29 88 /* 47d99948eee48a8 arch/powerpc/mm/book3s64/hash_hugetlbpage.c Christophe Leroy 2019-03-29 89 * No CPU has hugepages but lacks no execute, so we 47d99948eee48a8 arch/powerpc/mm/book3s64/hash_hugetlbpage.c Christophe Leroy 2019-03-29 90 * don't need to worry about that case 47d99948eee48a8 arch/powerpc/mm/book3s64/hash_hugetlbpage.c Christophe Leroy 2019-03-29 91 */ 0895ecda79428df arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 92 rflags = hash_page_do_lazy_icache(rflags, __pte(old_pte), trap); 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 93 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 94 /* Check if pte already has an hpte (case 2) */ 945537df7a107e0 arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2016-04-29 95 if (unlikely(old_pte & H_PAGE_HASHPTE)) { 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 96 /* There MIGHT be an HPTE for this pte */ bf9a95f9a6481bc arch/powerpc/mm/hugetlbpage-hash64.c Ram Pai 2017-11-06 97 unsigned long gslot; 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 98 bf9a95f9a6481bc arch/powerpc/mm/hugetlbpage-hash64.c Ram Pai 2017-11-06 99 gslot = pte_get_hash_gslot(vpn, shift, ssize, rpte, 0); bf9a95f9a6481bc arch/powerpc/mm/hugetlbpage-hash64.c Ram Pai 2017-11-06 100 if (mmu_hash_ops.hpte_updatepp(gslot, rflags, vpn, mmu_psize, aefa5688c070727 arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2014-12-04 101 mmu_psize, ssize, flags) == -1) 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 102 old_pte &= ~_PAGE_HPTEFLAGS; 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 103 } 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 104 945537df7a107e0 arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2016-04-29 105 if (likely(!(old_pte & H_PAGE_HASHPTE))) { 5524a27d39b6877 arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2012-09-10 106 unsigned long hash = hpt_hash(vpn, shift, ssize); 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 107 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 108 pa = pte_pfn(__pte(old_pte)) << PAGE_SHIFT; 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 109 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 110 /* clear HPTE slot informations in new PTE */ 945537df7a107e0 arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2016-04-29 111 new_pte = (new_pte & ~_PAGE_HPTEFLAGS) | H_PAGE_HASHPTE; bf680d51605662a arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2015-12-01 112 b170bd3de6a7f6f arch/powerpc/mm/hugetlbpage-hash64.c Li Zhong 2013-04-15 113 slot = hpte_insert_repeating(hash, vpn, pa, rflags, 0, 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 114 mmu_psize, ssize); 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 115 b1623e7eb280f85 arch/powerpc/mm/hugetlbpage-hash64.c Anton Blanchard 2010-07-14 116 /* b1623e7eb280f85 arch/powerpc/mm/hugetlbpage-hash64.c Anton Blanchard 2010-07-14 117 * Hypervisor failure. Restore old pte and return -1 b1623e7eb280f85 arch/powerpc/mm/hugetlbpage-hash64.c Anton Blanchard 2010-07-14 118 * similar to __hash_page_* b1623e7eb280f85 arch/powerpc/mm/hugetlbpage-hash64.c Anton Blanchard 2010-07-14 119 */ b1623e7eb280f85 arch/powerpc/mm/hugetlbpage-hash64.c Anton Blanchard 2010-07-14 120 if (unlikely(slot == -2)) { b1623e7eb280f85 arch/powerpc/mm/hugetlbpage-hash64.c Anton Blanchard 2010-07-14 121 *ptep = __pte(old_pte); 4b8692c022a4b14 arch/powerpc/mm/hugetlbpage-hash64.c Benjamin Herrenschmidt 2010-07-23 122 hash_failure_debug(ea, access, vsid, trap, ssize, d8139ebf8596a1e arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2013-04-28 123 mmu_psize, mmu_psize, old_pte); 171aa2caaad16ed arch/powerpc/mm/hugetlbpage-hash64.c Benjamin Herrenschmidt 2010-07-23 124 return -1; b1623e7eb280f85 arch/powerpc/mm/hugetlbpage-hash64.c Anton Blanchard 2010-07-14 125 } 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 126 ff31e105464d8c8 arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2018-02-11 127 new_pte |= pte_set_hidx(ptep, rpte, 0, slot, offset); 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 128 } 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 129 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 130 /* 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 131 * No need to use ldarx/stdcx here 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 132 */ 945537df7a107e0 arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2016-04-29 133 *ptep = __pte(new_pte & ~H_PAGE_BUSY); 171aa2caaad16ed arch/powerpc/mm/hugetlbpage-hash64.c Benjamin Herrenschmidt 2010-07-23 134 return 0; 883a3e523672ebb arch/powerpc/mm/hugetlbpage-hash64.c David Gibson 2009-10-26 135 } 387e220a2e5e630 arch/powerpc/mm/book3s64/hugetlbpage.c Nicholas Piggin 2021-12-02 136 #endif 8ef5cbde6dafce8 arch/powerpc/mm/hugetlbpage-hash64.c Aneesh Kumar K.V 2019-03-05 137 :::::: The code at line 77 was first introduced by commit :::::: 75646c480fdeffbc246e9d45f29721ab5569f921 arch/powerpc/mm/hash: validate the pte entries before handling the hash fault :::::: TO: Aneesh Kumar K.V :::::: CC: Michael Ellerman -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki