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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2ADBDC46467 for ; Wed, 4 Jan 2023 15:11:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=PSPj5hLIBvAFB5ofstGMTY38T9tvLi9V/3Cj+dSMjN4=; b=hW1SzyweZLL+DB ZPTLBRngEov8i/MaP2YN4FSzw/OfQvhrp9XxnPpySxJtyhNPG2x98UG9MVSdUX4LJTqtFKeSH3fw8 MP4ZPVK5BVgZeXuAHGFX7sYW0Vpj8rof/rIYuszzNNvmDtNA5ueGcExHu2zDL7Ge9J+rippKcBV6+ VpkTjm0YVzOWKleWX4BfE3AXP/+864FTSWbsSw4c9I3gMnvopNkPihFCIQpLQbsOzIpnAztREvLfX T+9RLJPWXTPVKEf9zDz3YLvq8gLBrIilfJ5OUd5E24RDNzCQ+NCwFj61iSzi2zVxrkTTGJOMdvKQI SPK3nwVFtANQCPCUZINQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pD5QD-009yoD-3N; Wed, 04 Jan 2023 15:11:17 +0000 Received: from ams.source.kernel.org ([2604:1380:4601:e00::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pD25O-008ogI-R8 for linux-riscv@lists.infradead.org; Wed, 04 Jan 2023 11:37:36 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 3DCACB8162A; Wed, 4 Jan 2023 11:37:32 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D3AA1C433EF; Wed, 4 Jan 2023 11:37:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1672832250; bh=ifZwfrhIkTGIQJEEvqcP0bIoc8pO2AK8DydzKJqXHo4=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=nSfA2ISPrHXkRmB4FnqNjYPJVLu7CqJqDLc+3I3BJ12HetiZraycDjom0q0Xt9szC INZUSjxQoYcW5KJDMVxE99EAy16q5fCyYjxxjv8Fq9ZGxbbTerfjOk7FLZ5txZDA/Z xeANQpk7lP+aC2Lw3KmrUChI9zyfSySS4Bh6ZPxT/QwiC+ZQDrV1+MjRnh21kZWogc n/tsMfEoKuqteOM3xQnZdhfcqrK3aU8+84xqomL1bPiZbmUW9sgSqf27CAToNns0u/ bWmxyxX18ZK8u/yZVcuvTWCNGDmRKlSKH4IizVmUUJxUhbWWm5jQWpGM3CrsDddiif OMf1yBaQH/FTw== Date: Wed, 4 Jan 2023 13:37:12 +0200 From: Mike Rapoport To: Yann Sionneau Cc: Will Deacon , "Aneesh Kumar K.V" , Andrew Morton , Nick Piggin , Peter Zijlstra , Paul Walmsley , Palmer Dabbelt , Albert Ou , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, Clement Leger , Guillaume Thouvenin , Jean-Christophe Pince , Jules Maselbas , Julian Vetter , Julien Hascoet , Louis Morhet , Marc =?iso-8859-1?Q?Poulhi=E8s?= , Marius Gligor , Vincent Chardon Subject: Re: [RFC PATCH 11/25] kvx: Add memory management Message-ID: References: <20230103164359.24347-1-ysionneau@kalray.eu> <20230103164359.24347-12-ysionneau@kalray.eu> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20230103164359.24347-12-ysionneau@kalray.eu> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230104_033735_264628_C9B23957 X-CRM114-Status: GOOD ( 15.03 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org On Tue, Jan 03, 2023 at 05:43:45PM +0100, Yann Sionneau wrote: > Add memory management support for kvx, including: cache and tlb > management, page fault handling, ioremap/mmap and streaming dma support. > = > CC: Will Deacon > CC: "Aneesh Kumar K.V" > CC: Andrew Morton > CC: Nick Piggin > CC: Peter Zijlstra > CC: Paul Walmsley > CC: Palmer Dabbelt > CC: Albert Ou > CC: linux-kernel@vger.kernel.org > CC: linux-arch@vger.kernel.org > CC: linux-mm@kvack.org > CC: linux-riscv@lists.infradead.org > Co-developed-by: Clement Leger > Signed-off-by: Clement Leger > Co-developed-by: Guillaume Thouvenin > Signed-off-by: Guillaume Thouvenin > Co-developed-by: Jean-Christophe Pince > Signed-off-by: Jean-Christophe Pince > Co-developed-by: Jules Maselbas > Signed-off-by: Jules Maselbas > Co-developed-by: Julian Vetter > Signed-off-by: Julian Vetter > Co-developed-by: Julien Hascoet > Signed-off-by: Julien Hascoet > Co-developed-by: Louis Morhet > Signed-off-by: Louis Morhet > Co-developed-by: Marc Poulhi=E8s > Signed-off-by: Marc Poulhi=E8s > Co-developed-by: Marius Gligor > Signed-off-by: Marius Gligor > Co-developed-by: Vincent Chardon > Signed-off-by: Vincent Chardon > Co-developed-by: Yann Sionneau > Signed-off-by: Yann Sionneau > --- > arch/kvx/include/asm/cache.h | 46 +++ > arch/kvx/include/asm/cacheflush.h | 181 +++++++++ > arch/kvx/include/asm/fixmap.h | 47 +++ > arch/kvx/include/asm/hugetlb.h | 36 ++ > arch/kvx/include/asm/l2_cache.h | 75 ++++ > arch/kvx/include/asm/l2_cache_defs.h | 64 ++++ > arch/kvx/include/asm/mem_map.h | 44 +++ > arch/kvx/include/asm/mmu.h | 296 +++++++++++++++ > arch/kvx/include/asm/mmu_context.h | 156 ++++++++ > arch/kvx/include/asm/mmu_stats.h | 38 ++ > arch/kvx/include/asm/page.h | 187 ++++++++++ > arch/kvx/include/asm/page_size.h | 29 ++ > arch/kvx/include/asm/pgalloc.h | 101 +++++ > arch/kvx/include/asm/pgtable-bits.h | 102 ++++++ > arch/kvx/include/asm/pgtable.h | 451 +++++++++++++++++++++++ > arch/kvx/include/asm/rm_fw.h | 16 + > arch/kvx/include/asm/sparsemem.h | 15 + > arch/kvx/include/asm/symbols.h | 16 + > arch/kvx/include/asm/tlb.h | 24 ++ > arch/kvx/include/asm/tlb_defs.h | 131 +++++++ > arch/kvx/include/asm/tlbflush.h | 58 +++ > arch/kvx/include/asm/vmalloc.h | 10 + > arch/kvx/mm/cacheflush.c | 154 ++++++++ > arch/kvx/mm/dma-mapping.c | 95 +++++ > arch/kvx/mm/extable.c | 24 ++ > arch/kvx/mm/fault.c | 264 ++++++++++++++ > arch/kvx/mm/hugetlbpage.c | 317 ++++++++++++++++ > arch/kvx/mm/init.c | 527 +++++++++++++++++++++++++++ > arch/kvx/mm/kernel_rwx.c | 228 ++++++++++++ > arch/kvx/mm/mmap.c | 31 ++ > arch/kvx/mm/mmu.c | 204 +++++++++++ > arch/kvx/mm/mmu_stats.c | 94 +++++ > arch/kvx/mm/tlb.c | 433 ++++++++++++++++++++++ > 33 files changed, 4494 insertions(+) Please strip functionality that's not essential for boot and the re-add it after the very core code is merged. I'd say multiple page size, hugetlb and strict RWX are not necessary to start with. I'd also suggest to have separate patches for different parts, like cache and tlb management, page tables and page fault fault handling, ioremap/mmap and streaming dma support. -- = Sincerely yours, Mike. _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv