From patchwork Thu Sep 30 14:31:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pasha Tatashin X-Patchwork-Id: 12528591 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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 00D54C433F5 for ; Thu, 30 Sep 2021 14:44:19 +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 C494A61A0D for ; Thu, 30 Sep 2021 14:44:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org C494A61A0D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=soleen.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=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=UGIrrDuaTmvwREm/s26wE33GNDsL/BpnUgOLUnqMOEo=; b=u3g5/NfJAbE11i 9a2FBi85NPtEmmiMMo1pUrP1emCRz59a1qmPX3x6Q6BrpbROGxVYTOoRheIhXOhON9GhkFqSf17hl NW084jXj0E+2CLwI6KARQTCAI+skh9JfdVSGPMzzZKDXCtyusVb7yDsUC3qG3tkm7i2ACJtVWCmDQ 8XoDDC6WXFCum80XvOuXA+NWpoi9NwGHIKEtDL2ntE97IPchppy90OVsTS8QkTDs8jMQnpNDEtKUk NU9uzRuM9sTkFqjyjGr6vF4LsKZnjvwEtK7Du1VM0Dxd37Lx4kUu3U87lcY8Zo4fyy1ohW4jfgNb8 FPXFTEK/hFURGFXqADoA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mVxG8-00EmIP-N0; Thu, 30 Sep 2021 14:42:06 +0000 Received: from mail-qt1-x829.google.com ([2607:f8b0:4864:20::829]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mVx5x-00EhYa-7W for linux-arm-kernel@lists.infradead.org; Thu, 30 Sep 2021 14:31:39 +0000 Received: by mail-qt1-x829.google.com with SMTP id e16so5847389qts.4 for ; Thu, 30 Sep 2021 07:31:32 -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=XxlQwO+zvTPvOSLEI+q8JmpmwLvHiOqSq9H/D1w+4mk=; b=aOdtcLsSMWhdmH/KKMmZnRau19vAPajS02V43ANM6ifhO/tnr/ulMkrIJTQmX7vAlq YADiIG39r9Vb8SZLAASMRqAQkCynKyOg0JkQwWMSIFTPKBulzt9tXQmn3UQ4nHZ3Vec4 voVkB4YK0EgaS0YEkK4o633fgSi4CFFC1DAx3UaBZ+BZVZx8Bh8Rv4FppGd+Ii7Uv5Ii gccTAgM1+8aZq5FXtWSip+4iu1L56aFhwQS1FUhvvzUT1IpJKlNrC0qCJuQm/EWJhkSX yeK0+vcszokE9LKwJMyqxq71n5JxLS0hdUyuJ15uNVFeMWMaLUwrC8M2NJ6UH9kOWleh WTtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=XxlQwO+zvTPvOSLEI+q8JmpmwLvHiOqSq9H/D1w+4mk=; b=KlO2Fj1ogBq4TobJHe0P5WTIwzsVZ7hwuXaOIxmx2YNa+UwOnY8lNYuq6TwpnUJGbV 6ok955Ngx0Y6eYaFJKaPn/nWDG5vArNJYIWJbMIOuU8wsv0J+4YZT1ro5gPFTvPaRump k4ne8rBbYvohfv5ZvUdMOqS/oByZ9qu/axiJbbYWpRl2OsbtwryTMmDreXt+TZg8Y6U1 G+YBC6iBKhVuTijJiJizqxx7PgjShsSWkGrC29egqXD4eouf+soya6l5aWhNyKFS8Nel nQDT20FTGeliBnyHTR9bgsqmp84OU0PacbUYrHw0YjwsFmiQyFB9lYjpEGR99hoUvOIH eEUA== X-Gm-Message-State: AOAM533EBE1YdlRsCOZN/xf7z2oRPpc8u2FMFpIRUfaFcsBU3STHZWHS vRAH4pqYcPzJwA2BMWN0DXTfZw== X-Google-Smtp-Source: ABdhPJzecZm5xCqX2NKvPHbAfDt/pCmj5N9m76pk7Eb3EnDGgwSGvIf0RbDVFg/Bu7rhjM9gly/kXw== X-Received: by 2002:ac8:138b:: with SMTP id h11mr6860629qtj.163.1633012291650; Thu, 30 Sep 2021 07:31:31 -0700 (PDT) Received: from soleen.c.googlers.com.com (189.216.85.34.bc.googleusercontent.com. [34.85.216.189]) by smtp.gmail.com with ESMTPSA id l195sm1528731qke.98.2021.09.30.07.31.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Sep 2021 07:31:30 -0700 (PDT) From: Pasha Tatashin To: pasha.tatashin@soleen.com, 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, kernelfans@gmail.com, akpm@linux-foundation.org Subject: [PATCH v18 15/15] arm64: trans_pgd: remove trans_pgd_map_page() Date: Thu, 30 Sep 2021 14:31:13 +0000 Message-Id: <20210930143113.1502553-16-pasha.tatashin@soleen.com> X-Mailer: git-send-email 2.33.0.800.g4c38ced690-goog In-Reply-To: <20210930143113.1502553-1-pasha.tatashin@soleen.com> References: <20210930143113.1502553-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-20210930_073133_320010_157EFF2E X-CRM114-Status: GOOD ( 13.56 ) 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: Pasha Tatashin Acked-by: Catalin Marinas --- 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 7b04d32b102c..033d400a4ea4 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 26bd8f2d95af..d7da8ca40d2e 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