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 96332C433EF for ; Tue, 15 Feb 2022 18:29:33 +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=t8F+ZcxYNlwYXdHimMu3IgUeldGB9MuAlCWvacX0zRw=; b=bfdEoTrHCJyKh/ r+O4/zAMLfP7jLK/bPdQNs0bDIHXs9vnbmFuDWPHUbefCczv7jawCfeDIBi2+5LhkkBnEWICcM/bD vWWB2AjntR9ep6hNl5t5HDf6jTng5aKctU7+pRavwF9xNE3nRUWtMqDwZw5hp3KlHXAc9uwkgdZ9k 5n2KDjQLkNU49AheMbJ9R3bLVjSarG55K/0KJGrrp9MCt8+L+9DKXzjxXjFzC+AV5av0mEpzyRETu i8Ff6RaP2Q4C/6S3Dzf4xYXVHJXxpK+jZyAUGz5SmeZrc48fWnRPRk9PSX+0+8nw3QK9+yUjmDKr0 V+KQl4WkI865uGueJQmg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nK2Yu-00454J-8g; Tue, 15 Feb 2022 18:28:28 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nK2Yr-00453n-EV for linux-arm-kernel@lists.infradead.org; Tue, 15 Feb 2022 18:28:26 +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 dfw.source.kernel.org (Postfix) with ESMTPS id D579B61695; Tue, 15 Feb 2022 18:28:24 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D4F1AC340EB; Tue, 15 Feb 2022 18:28:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1644949704; bh=L60HeiekO++0XPvkBfLyZbFV+rY4TRb6oJsd1nSRUmU=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=dYPoCcaoxwUtyhfN2ANlISCVRuDw+rQO7r0Yjc2tf/ZmCn1NzR6BGCwelr6Qdc+Hd Lcvo5H2wuEJ6MinMtn9XhNrG+WoRJ+PBHfHfjuZdBKc6MJ9rNfRa91TBS1bK0ZA5tK lmxttZ/C0w3pe5xilsBf73arufx895Dazg4KqWel7jmsAT26uoiiQJ7PYJnNJZYT+k RcaMoT/cSwrYqrEwymIgNBcb3CHcAlkWLSyZshJKRAfuUK3/PxENNd91A9/yxL9bGD 2m5RYbEHU17e2D5vS5fmgBltDDJQzB1IHuG4UqKaFW8M9OCSc9YexyP63LKIVTUjUj rGZ6dhv4jtjbw== Date: Tue, 15 Feb 2022 18:28:19 +0000 From: Will Deacon To: cgel.zte@gmail.com Cc: catalin.marinas@arm.com, pasha.tatashin@soleen.com, si.hao@zte.com.cn, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, james.morse@arm.com Subject: Re: [PATCH linux-next] arm64: kexec: Support the case of VA_BITS=39 in trans_pgd_idmap_page() Message-ID: <20220215182818.GA9026@willie-the-truck> References: <20220121065216.1001021-1-si.hao@zte.com.cn> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20220121065216.1001021-1-si.hao@zte.com.cn> User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220215_102825_551069_52BCCFE0 X-CRM114-Status: GOOD ( 15.93 ) 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: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Fri, Jan 21, 2022 at 06:52:16AM +0000, cgel.zte@gmail.com wrote: > From: sihao > > When the values of CONFIG_ARM64_VA_BITS and CONFIG_ARM64_PA_BITS are not > equal, the following panic occurs when kexec is executed. > > This happens because trans_pgd_idmap_page() does not support VA_BITS=39. > So the patch supports the case of VA_BITS=39. --->8 > diff --git a/arch/arm64/mm/trans_pgd.c b/arch/arm64/mm/trans_pgd.c > index d7da8ca40d2e..3d88185adcf5 100644 > --- a/arch/arm64/mm/trans_pgd.c > +++ b/arch/arm64/mm/trans_pgd.c > @@ -232,7 +232,7 @@ int trans_pgd_idmap_page(struct trans_pgd_info *info, phys_addr_t *trans_ttbr0, > { > phys_addr_t dst_addr = virt_to_phys(page); > unsigned long pfn = __phys_to_pfn(dst_addr); > - int max_msb = (dst_addr & GENMASK(52, 48)) ? 51 : 47; > + int max_msb = (dst_addr & GENMASK(52, VA_BITS)) ? 51 : (VA_BITS - 1); > int bits_mapped = PAGE_SHIFT - 4; > unsigned long level_mask, prev_level_entry, *levels[4]; > int this_level, index, level_lsb, level_msb; Do you plan to respin this based on Catalin's comments? Will _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel