From patchwork Sat Oct 22 15:04:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Julien Grall X-Patchwork-Id: 13015984 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 lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 0A380C04A95 for ; Sat, 22 Oct 2022 15:04:51 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.428307.678394 (Exim 4.92) (envelope-from ) id 1omG3G-0007qe-5i; Sat, 22 Oct 2022 15:04:42 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 428307.678394; Sat, 22 Oct 2022 15:04:42 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1omG3F-0007oo-VC; Sat, 22 Oct 2022 15:04:41 +0000 Received: by outflank-mailman (input) for mailman id 428307; Sat, 22 Oct 2022 15:04:40 +0000 Received: from mail.xenproject.org ([104.130.215.37]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1omG3E-0007gb-Il for xen-devel@lists.xenproject.org; Sat, 22 Oct 2022 15:04:40 +0000 Received: from xenbits.xenproject.org ([104.239.192.120]) by mail.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1omG3E-0005H7-6c; Sat, 22 Oct 2022 15:04:40 +0000 Received: from 54-240-197-224.amazon.com ([54.240.197.224] helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com) by xenbits.xenproject.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1omG3D-00023n-V0; Sat, 22 Oct 2022 15:04:40 +0000 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org; s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-Id:Date:Subject:Cc:To:From; bh=cCCPY4hyDMzYl29pMvx1V2vjkyKfUtThF9ZI50ioPPg=; b=2pDcZnOEQPUMqLTt7QRQS/Nzb4 FG+xo4CXu/YaYcqdqOJyQARfqf4t2VknXwgLGAdda97ep0goRCcdPJ8I0/StIPPr8jGik/gnzvYuA KfZ9q2xaX03idxcOfUoWiR5FeYCm5sueOlI1wdwwXlnsXtnI2MgcZCYS3EZRZ2g8eY4k=; From: Julien Grall To: xen-devel@lists.xenproject.org Cc: marco.solieri@minervasys.tech, lucmiccio@gmail.com, carlo.nonato@minervasys.tech, Julien Grall , Stefano Stabellini , Julien Grall , Bertrand Marquis , Volodymyr Babchuk Subject: [RFC v2 09/12] xen/arm: mm: Allow dump_hyp_walk() to work on the current root table Date: Sat, 22 Oct 2022 16:04:19 +0100 Message-Id: <20221022150422.17707-10-julien@xen.org> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20221022150422.17707-1-julien@xen.org> References: <20221022150422.17707-1-julien@xen.org> MIME-Version: 1.0 From: Julien Grall dump_hyp_walk() is used to print the tables walk in case of the data or instruction abort. Those abort are not limited to the runtime and could happen at early boot. However, the current implementation of dump_hyp_walk() check that the TTBR matches the runtime page tables. Therefore, early abort will result to a secondary abort and not print the table walks. Given that the function is called in the abort path, there is no reason for us to keep the BUG_ON() in any form. So drop it. Signed-off-by: Julien Grall ---- Changes in v2: - Patch added --- xen/arch/arm/mm.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c index a3f604e0e2d1..865780695421 100644 --- a/xen/arch/arm/mm.c +++ b/xen/arch/arm/mm.c @@ -289,13 +289,11 @@ void dump_pt_walk(paddr_t ttbr, paddr_t addr, void dump_hyp_walk(vaddr_t addr) { uint64_t ttbr = READ_SYSREG64(TTBR0_EL2); - lpae_t *pgtable = THIS_CPU_PGTABLE; printk("Walking Hypervisor VA 0x%"PRIvaddr" " "on CPU%d via TTBR 0x%016"PRIx64"\n", addr, smp_processor_id(), ttbr); - BUG_ON( virt_to_maddr(pgtable) != ttbr ); dump_pt_walk(ttbr, addr, HYP_PT_ROOT_LEVEL, 1); }