From patchwork Thu Mar 21 14:19:37 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Price X-Patchwork-Id: 10863603 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 6331818EC for ; Thu, 21 Mar 2019 14:20:30 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 45A332A2AE for ; Thu, 21 Mar 2019 14:20:30 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3668D2A2AF; Thu, 21 Mar 2019 14:20:30 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 98DD32A17A for ; Thu, 21 Mar 2019 14:20:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2A1CB6B000D; Thu, 21 Mar 2019 10:20:20 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 2514E6B000E; Thu, 21 Mar 2019 10:20:20 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 142CB6B0010; Thu, 21 Mar 2019 10:20:20 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-ed1-f71.google.com (mail-ed1-f71.google.com [209.85.208.71]) by kanga.kvack.org (Postfix) with ESMTP id B33386B000D for ; Thu, 21 Mar 2019 10:20:19 -0400 (EDT) Received: by mail-ed1-f71.google.com with SMTP id t4so2300433eds.1 for ; Thu, 21 Mar 2019 07:20:19 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-original-authentication-results:x-gm-message-state:from:to:cc :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=MqMqukGILHQS5vjuNGdSQFWysz8AgSB4keSNgmoOKiU=; b=UxiSczopN3UepZAddtjQxdlXzpDlGXg3u9owE1Rg0uW0SLdAaIVDdEFaub9Vi16No9 vr844AkHb+mz9rStJQfmvqkP7R071l01KYoWSwvQs6jDZhZxlMhMW0FhryDxlnr6khSo fpHuF2s5Btsfdzru50Xcj3YPCGUU6S0FXkxgii2lyfeJvY/WPjfonOaO1miEHu4zycI0 1o1EWdDJQxTYEJjRx5SSyLFJOLkKPm91boILXxlldYULKS8qaP1jfdJdmL4ZaObEfx1h fEZxTYH0iAwY/QbZduF18Tdr3tYPF/uQnrubP70DhgFCUzkjJFDw49Nj8vyy5Bc4zHD/ 4TPg== X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of steven.price@arm.com designates 217.140.101.70 as permitted sender) smtp.mailfrom=steven.price@arm.com X-Gm-Message-State: APjAAAUZCbEHpmtjIg+TPyQB8S8F9fm9Tc0IaffUJtGPS8MzP1hxuI61 WeO21oHRq76HJ1syGDihJ6irCPn8KfDBvECd4qCI4pIAx3nAn6uh7M3XXDbj0fmDVKhIMRsXEfF Zv1EXp2D2lGPRfT+3J6Wvv0SpcbOOxR7pKkMcX7L/tDCKtcMEUqAjSmcozGy3Ejvx1Q== X-Received: by 2002:a50:8ed1:: with SMTP id x17mr2627388edx.168.1553178019255; Thu, 21 Mar 2019 07:20:19 -0700 (PDT) X-Google-Smtp-Source: APXvYqyXn0M2spWIw9+Bhyc3nvCYusy0dX8xyvrlN0Od1ogogG980QYivZWWMVI1TI/CI1GcFHto X-Received: by 2002:a50:8ed1:: with SMTP id x17mr2627337edx.168.1553178018308; Thu, 21 Mar 2019 07:20:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553178018; cv=none; d=google.com; s=arc-20160816; b=mn7spcl9ETJCcyfXJheSFP1Xn9VDA381xQUYTzRbCXrRqw7SXpPf3RwgJqbivCkDrA IQ08VK3ocZu34/hu4Loi9da4bGBr+XMsVsb3lj1UuVE0+yoQ/bIMPZlM7e7pfTnUJl/m vZUHeFsX2ML9m8ieqSy5GTx/SudqGODXdFok3WKtQpgYJggj2F0b/rCppZ74bZ04c0EY /02frRcowOnXxVZcdllaGv9iCWwPtC7OgoS4mk1Q3iSaisWSgFr2jjuNf/D2KcldOLrf HPWZhfPDEN6TBf7Wr5KCC2X2I4UGQGCdcT4haIPUjYoWhjpAl5qdxhxlTtA2gnxZmYIB jHiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=MqMqukGILHQS5vjuNGdSQFWysz8AgSB4keSNgmoOKiU=; b=nq2ra2uMG8HOQgxX1m+XcIVBjRQ2ltP6Gji4DxtaKqYmAVTrWYiHq89N1mxxOytukn mSOrSaSgdcWlfBBkgbGuGavthKHckBfo5esVDbzJ5uflPEJ80gorwSg49nSvN+0Tr1Wc lGTZ4Q59w7nrXtprhHkA1r25S8WYM8eS7B299Zmi4j4fAh7TYGtoMU5wTjnkVKL69ASj UhywC72XbBkODHAjS2bXkXK7YhlsL4ZlWvBH8wCD99IDK9BKPYNNzUBFsSnMcKcAocMc qrFshmYCJz56G9puQUIDZnnbVjdC2FSDYGvg4MKFIAS0GG7bXLz702WrIuI1DXAtqvN9 vzCA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of steven.price@arm.com designates 217.140.101.70 as permitted sender) smtp.mailfrom=steven.price@arm.com Received: from foss.arm.com (usa-sjc-mx-foss1.foss.arm.com. [217.140.101.70]) by mx.google.com with ESMTP id g24si125209eje.214.2019.03.21.07.20.18 for ; Thu, 21 Mar 2019 07:20:18 -0700 (PDT) Received-SPF: pass (google.com: domain of steven.price@arm.com designates 217.140.101.70 as permitted sender) client-ip=217.140.101.70; Authentication-Results: mx.google.com; spf=pass (google.com: domain of steven.price@arm.com designates 217.140.101.70 as permitted sender) smtp.mailfrom=steven.price@arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5957680D; Thu, 21 Mar 2019 07:20:17 -0700 (PDT) Received: from e112269-lin.arm.com (e112269-lin.cambridge.arm.com [10.1.196.69]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 84C153F575; Thu, 21 Mar 2019 07:20:13 -0700 (PDT) From: Steven Price To: linux-mm@kvack.org Cc: Steven Price , Andy Lutomirski , Ard Biesheuvel , Arnd Bergmann , Borislav Petkov , Catalin Marinas , Dave Hansen , Ingo Molnar , James Morse , =?utf-8?b?SsOpcsO0bWUgR2xpc3Nl?= , Peter Zijlstra , Thomas Gleixner , Will Deacon , x86@kernel.org, "H. Peter Anvin" , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Mark Rutland , "Liang, Kan" , Ralf Baechle , Paul Burton , James Hogan , linux-mips@vger.kernel.org Subject: [PATCH v5 03/19] mips: mm: Add p?d_large() definitions Date: Thu, 21 Mar 2019 14:19:37 +0000 Message-Id: <20190321141953.31960-4-steven.price@arm.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190321141953.31960-1-steven.price@arm.com> References: <20190321141953.31960-1-steven.price@arm.com> MIME-Version: 1.0 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: X-Virus-Scanned: ClamAV using ClamSMTP walk_page_range() is going to be allowed to walk page tables other than those of user space. For this it needs to know when it has reached a 'leaf' entry in the page tables. This information is provided by the p?d_large() functions/macros. For mips, we only support large pages on 64 bit. For 64 bit if _PAGE_HUGE is defined we can simply look for it. When not defined we can be confident that there are no large pages in existence and fall back on the generic implementation (added in a later patch) which returns 0. CC: Ralf Baechle CC: Paul Burton CC: James Hogan CC: linux-mips@vger.kernel.org Signed-off-by: Steven Price Acked-by: Paul Burton --- arch/mips/include/asm/pgtable-64.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/mips/include/asm/pgtable-64.h b/arch/mips/include/asm/pgtable-64.h index 93a9dce31f25..42162877ac62 100644 --- a/arch/mips/include/asm/pgtable-64.h +++ b/arch/mips/include/asm/pgtable-64.h @@ -273,6 +273,10 @@ static inline int pmd_present(pmd_t pmd) return pmd_val(pmd) != (unsigned long) invalid_pte_table; } +#ifdef _PAGE_HUGE +#define pmd_large(pmd) ((pmd_val(pmd) & _PAGE_HUGE) != 0) +#endif + static inline void pmd_clear(pmd_t *pmdp) { pmd_val(*pmdp) = ((unsigned long) invalid_pte_table); @@ -297,6 +301,10 @@ static inline int pud_present(pud_t pud) return pud_val(pud) != (unsigned long) invalid_pmd_table; } +#ifdef _PAGE_HUGE +#define pud_large(pud) ((pud_val(pud) & _PAGE_HUGE) != 0) +#endif + static inline void pud_clear(pud_t *pudp) { pud_val(*pudp) = ((unsigned long) invalid_pmd_table);