From patchwork Wed Jun 9 00:44:19 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pasha Tatashin X-Patchwork-Id: 12308489 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=-16.9 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable 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 1F4A3C4743D for ; Wed, 9 Jun 2021 00:49:56 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id E81F0610A5 for ; Wed, 9 Jun 2021 00:49:55 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E81F0610A5 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=soleen.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org 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:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Cc:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=HZ5ypUCZAsBY+uJ49S99GU88u8IF1FORZUXl+znI6yc=; b=1DnQkA4VapzE7v 8118BBF1QGoEI1SOJcJqFlA/bmjUkm2yr9iqZSfAOd6XRCxNojTK1J4tergNu4vOPoT+FLrPhianR YAvbDUGrH7lgX6byhLS1cC4jzCFNtCywJtU0p9VyjEsVDaIvy5tDuxgOau7eJKg/QMgIeTsPuSWg1 40fSUK8ziVdIIxXVoQcbceZUEZWS9xWJNBrCbnpJB4AelxM5S1T1mTqQjeouIAmjhePVQqOOzi6al 0X0wM8DTdYDEtS/lEtB1dXTGkQgO5yAgvNYT4/tNEFO7RX6Gv/TXEIpDHG2sfQEcZrxDs9z5AYwL7 kyfJVA9hIs3vsxVkiCWw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lqmNP-00AweV-CI; Wed, 09 Jun 2021 00:47:23 +0000 Received: from mail-qt1-x82a.google.com ([2607:f8b0:4864:20::82a]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lqmKp-00AvEB-MC for linux-arm-kernel@lists.infradead.org; Wed, 09 Jun 2021 00:44:46 +0000 Received: by mail-qt1-x82a.google.com with SMTP id o20so1346244qtr.8 for ; Tue, 08 Jun 2021 17:44:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=soleen.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=GjSDlwdpWFRYVlnzm94wTdyVwlXZM6Svb6WtI86k1kg=; b=ZuuVM+oG7LEN8BGkaNklXAgBWK1R83XggxUaKuqIhawxrVr4hkcQbeGaRstDd0MhxZ 2y8rk1EO5extgzrNLXpnzxFc67giCQF2xjOgbwQTWSnVPm+j9YjSZJ/GLxXfqRPxsgRe 1LBBED3bhIDcYR53xtZBI+0Cx3RQE/za9PCCrkva6V0qwlF1d+kmT0iuEhX/bitmVS19 h0wh1vmTJ92P1Pdf5Lb51FdfztXyzfhtFKAcd7CO0KdxsDFA/yl/ug3nPS2bVJ/AG9GG 8rhd4otd8vwBPylUMO+VsdTRspg1bncZtbWNoZhZHQfvLPHMDXQgXmLx/wKAvsjUahOe xO/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GjSDlwdpWFRYVlnzm94wTdyVwlXZM6Svb6WtI86k1kg=; b=JPVo/mMKgppohViTaNgVYN2/hIdo0WZBvHItLVoLecX88ZUpqGJtxlZbVpAjk052lp +l/vk2dzVoFU4qepC0dMFPleN7kjyPJpQ9oULCJ7PuXV6wdBuNhhhBJqyloLArsbWvBx FfRaUTltGIeygxh1OPOiiNq94O7/KcZSHkRS6P808tGH7YjY9t+Xxzck6Lsp2dmCjJwI xf9JEeocAzyUGy1PV87J8kjn78o/xWD3fWYYFn5Zbiu1XY6G6GlP9A81fa9J8rB38JkV 2bQoxs5sfnLP6KyBgRePVRc8DSy8ezq4CP15DEhJFgRbxBL9pglUzwoFuRvf0I3ZqEw9 tTPQ== X-Gm-Message-State: AOAM532WTLeNp3MTDZ1Kb1E9QGXAI2QeFZo5BgoBCwAf7SfrldJnFY5p 66KQwYk/KPybT5T11psN3RG4fg== X-Google-Smtp-Source: ABdhPJzqtRWOkclgaHjthbeRbJ9Nm1ps+o1K7YT9wm8f0oWLxYvA3vqVz21USCX+0GNStAMjm0lKdw== X-Received: by 2002:ac8:5550:: with SMTP id o16mr11967741qtr.387.1623199482673; Tue, 08 Jun 2021 17:44:42 -0700 (PDT) Received: from localhost.localdomain (c-73-69-118-222.hsd1.nh.comcast.net. [73.69.118.222]) by smtp.gmail.com with ESMTPSA id n194sm12869011qka.66.2021.06.08.17.44.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Jun 2021 17:44:42 -0700 (PDT) From: Pavel Tatashin To: pasha.tatashin@soleen.com, jmorris@namei.org, sashal@kernel.org, ebiederm@xmission.com, kexec@lists.infradead.org, linux-kernel@vger.kernel.org, corbet@lwn.net, catalin.marinas@arm.com, will@kernel.org, linux-arm-kernel@lists.infradead.org, maz@kernel.org, james.morse@arm.com, vladimir.murzin@arm.com, matthias.bgg@gmail.com, linux-mm@kvack.org, mark.rutland@arm.com, steve.capper@arm.com, rfontana@redhat.com, tglx@linutronix.de, selindag@gmail.com, tyhicks@linux.microsoft.com, kernelfans@gmail.com, akpm@linux-foundation.org, madvenka@linux.microsoft.com Subject: [PATCH v15 15/15] arm64: trans_pgd: remove trans_pgd_map_page() Date: Tue, 8 Jun 2021 20:44:19 -0400 Message-Id: <20210609004419.936873-16-pasha.tatashin@soleen.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210609004419.936873-1-pasha.tatashin@soleen.com> References: <20210609004419.936873-1-pasha.tatashin@soleen.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210608_174443_779015_BEE7041A X-CRM114-Status: GOOD ( 14.02 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The intend of trans_pgd_map_page() was to map contiguous range of VA memory to the memory that is getting relocated during kexec. However, since we are now using linear map instead of contiguous range this function is not needed Suggested-by: Pingfan Liu Signed-off-by: Pavel Tatashin --- arch/arm64/include/asm/trans_pgd.h | 5 +-- arch/arm64/mm/trans_pgd.c | 57 ------------------------------ 2 files changed, 1 insertion(+), 61 deletions(-) diff --git a/arch/arm64/include/asm/trans_pgd.h b/arch/arm64/include/asm/trans_pgd.h index 411323bda7a4..c373d43c07ec 100644 --- a/arch/arm64/include/asm/trans_pgd.h +++ b/arch/arm64/include/asm/trans_pgd.h @@ -15,7 +15,7 @@ /* * trans_alloc_page * - Allocator that should return exactly one zeroed page, if this - * allocator fails, trans_pgd_create_copy() and trans_pgd_map_page() + * allocator fails, trans_pgd_create_copy() and trans_pgd_idmap_page() * return -ENOMEM error. * * trans_alloc_arg @@ -30,9 +30,6 @@ struct trans_pgd_info { int trans_pgd_create_copy(struct trans_pgd_info *info, pgd_t **trans_pgd, unsigned long start, unsigned long end); -int trans_pgd_map_page(struct trans_pgd_info *info, pgd_t *trans_pgd, - void *page, unsigned long dst_addr, pgprot_t pgprot); - int trans_pgd_idmap_page(struct trans_pgd_info *info, phys_addr_t *trans_ttbr0, unsigned long *t0sz, void *page); diff --git a/arch/arm64/mm/trans_pgd.c b/arch/arm64/mm/trans_pgd.c index d4f0a6492d8f..7ae27a948145 100644 --- a/arch/arm64/mm/trans_pgd.c +++ b/arch/arm64/mm/trans_pgd.c @@ -217,63 +217,6 @@ int trans_pgd_create_copy(struct trans_pgd_info *info, pgd_t **dst_pgdp, return rc; } -/* - * Add map entry to trans_pgd for a base-size page at PTE level. - * info: contains allocator and its argument - * trans_pgd: page table in which new map is added. - * page: page to be mapped. - * dst_addr: new VA address for the page - * pgprot: protection for the page. - * - * Returns 0 on success, and -ENOMEM on failure. - */ -int trans_pgd_map_page(struct trans_pgd_info *info, pgd_t *trans_pgd, - void *page, unsigned long dst_addr, pgprot_t pgprot) -{ - pgd_t *pgdp; - p4d_t *p4dp; - pud_t *pudp; - pmd_t *pmdp; - pte_t *ptep; - - pgdp = pgd_offset_pgd(trans_pgd, dst_addr); - if (pgd_none(READ_ONCE(*pgdp))) { - p4dp = trans_alloc(info); - if (!pgdp) - return -ENOMEM; - pgd_populate(NULL, pgdp, p4dp); - } - - p4dp = p4d_offset(pgdp, dst_addr); - if (p4d_none(READ_ONCE(*p4dp))) { - pudp = trans_alloc(info); - if (!pudp) - return -ENOMEM; - p4d_populate(NULL, p4dp, pudp); - } - - pudp = pud_offset(p4dp, dst_addr); - if (pud_none(READ_ONCE(*pudp))) { - pmdp = trans_alloc(info); - if (!pmdp) - return -ENOMEM; - pud_populate(NULL, pudp, pmdp); - } - - pmdp = pmd_offset(pudp, dst_addr); - if (pmd_none(READ_ONCE(*pmdp))) { - ptep = trans_alloc(info); - if (!ptep) - return -ENOMEM; - pmd_populate_kernel(NULL, pmdp, ptep); - } - - ptep = pte_offset_kernel(pmdp, dst_addr); - set_pte(ptep, pfn_pte(virt_to_pfn(page), pgprot)); - - return 0; -} - /* * The page we want to idmap may be outside the range covered by VA_BITS that * can be built using the kernel's p?d_populate() helpers. As a one off, for a