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 X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 41FE7C5DF60 for ; Fri, 8 Nov 2019 08:35:44 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 1190A2178F for ; Fri, 8 Nov 2019 08:35:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730538AbfKHIfn (ORCPT ); Fri, 8 Nov 2019 03:35:43 -0500 Received: from mail-oi1-f196.google.com ([209.85.167.196]:33570 "EHLO mail-oi1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730463AbfKHIfn (ORCPT ); Fri, 8 Nov 2019 03:35:43 -0500 Received: by mail-oi1-f196.google.com with SMTP id m193so4584326oig.0 for ; Fri, 08 Nov 2019 00:35:43 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=h1uMs1sJfEiNP+XnwLWOA56bVLhvU2oQuJJbSb2fF04=; b=oyuJMilYc6jAFm/SUZ5nraMldnteBylCMJX/wEWbfQyJOPK/VtmY5wlGGqGw2FUZVL JBHOT2UDIYsekkrwabiI0dHXdxjgt0UlX1Jh7Hbq5ALAcgVzNivy5UJax2dKMxlukBUF 3NgbNbD9VcJY0gtnBwEMy1StPwTo4ZDim8MS3gkL8gucBJio1LN0YIpxy+PgHpIbLYX6 Y274njGweDEdqu0FgPRn0uXSjZwGfHd3xnXXJ17sJVpI7Lhf4xCdyWbFzzz17DqTVhRA 9MO3gpexZMnlFTgf6M602JOcO8DvfR5h2qNhTdxYHJp8INij75Q148z2TM6jlpRvZf1J IgRw== X-Gm-Message-State: APjAAAUeQNhC9koKS38OiuZ+RRZLsIk8z0xH39TLxK62QdPCDGBYZE6l e9QJoRlueWnO4Xof0ayuSjBJkrfWqgW5EJZai8E= X-Google-Smtp-Source: APXvYqxOUOr/TBH5H/Et++6eJWrvXzscFQJINZxRtWaYCdbXL4E/D5dDGUqtPMP+MwKaU6AtU89yWbI44eh67jVJ2zk= X-Received: by 2002:aca:3a86:: with SMTP id h128mr8105952oia.131.1573202142533; Fri, 08 Nov 2019 00:35:42 -0800 (PST) MIME-Version: 1.0 References: <1572938135-31886-1-git-send-email-rppt@kernel.org> <1572938135-31886-6-git-send-email-rppt@kernel.org> In-Reply-To: <1572938135-31886-6-git-send-email-rppt@kernel.org> From: Geert Uytterhoeven Date: Fri, 8 Nov 2019 09:35:31 +0100 Message-ID: Subject: Re: [PATCH v4 05/13] m68k: mm: use pgtable-nopXd instead of 4level-fixup To: Mike Rapoport Cc: Linux MM , Andrew Morton , Anton Ivanov , Arnd Bergmann , "David S. Miller" , Greentime Hu , Greg Ungerer , Helge Deller , "James E.J. Bottomley" , Jeff Dike , "Kirill A. Shutemov" , Linus Torvalds , Mark Salter , Matt Turner , Michal Simek , Peter Rosin , Richard Weinberger , Rolf Eike Beer , Russell King , Sam Creasey , Vincent Chen , Vineet Gupta , alpha , Linux-Arch , Linux ARM , linux-c6x-dev@linux-c6x.org, Linux Kernel Mailing List , linux-m68k , Parisc List , linux-um@lists.infradead.org, sparclinux , Mike Rapoport Content-Type: text/plain; charset="UTF-8" Sender: linux-m68k-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-m68k@vger.kernel.org Hi Mike, On Tue, Nov 5, 2019 at 8:16 AM Mike Rapoport wrote: > From: Mike Rapoport > > m68k has two or three levels of page tables and can use appropriate > pgtable-nopXd and folding of the upper layers. > > Replace usage of include/asm-generic/4level-fixup.h and explicit > definitions of __PAGETABLE_PxD_FOLDED in m68k with > include/asm-generic/pgtable-nopmd.h for two-level configurations and with > include/asm-generic/pgtable-nopud.h for three-lelve configurations and > adjust page table manipulation macros and functions accordingly. > > Signed-off-by: Mike Rapoport > Acked-by: Greg Ungerer Acked-by: Geert Uytterhoeven One forgotten error message update below. > --- a/arch/m68k/mm/kmap.c > +++ b/arch/m68k/mm/kmap.c > @@ -258,18 +265,23 @@ void __iounmap(void *addr, unsigned long size) > { > unsigned long virtaddr = (unsigned long)addr; > pgd_t *pgd_dir; > + p4d_t *p4d_dir; > + pud_t *pud_dir; > pmd_t *pmd_dir; > pte_t *pte_dir; > > while ((long)size > 0) { > pgd_dir = pgd_offset_k(virtaddr); > - if (pgd_bad(*pgd_dir)) { > - printk("iounmap: bad pgd(%08lx)\n", pgd_val(*pgd_dir)); > - pgd_clear(pgd_dir); > + p4d_dir = p4d_offset(pgd_dir, virtaddr); > + pud_dir = pud_offset(p4d_dir, virtaddr); > + if (pud_bad(*pud_dir)) { > + printk("iounmap: bad pgd(%08lx)\n", pud_val(*pud_dir)); bad pud > + pud_clear(pud_dir); > return; > } > - pmd_dir = pmd_offset(pgd_dir, virtaddr); > + pmd_dir = pmd_offset(pud_dir, virtaddr); > > +#if CONFIG_PGTABLE_LEVELS == 3 > if (CPU_IS_020_OR_030) { > int pmd_off = (virtaddr/PTRTREESIZE) & 15; > int pmd_type = pmd_dir->pmd[pmd_off] & _DESCTYPE_MASK; Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds