From patchwork Tue Jul 23 21:35:50 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Julien Grall X-Patchwork-Id: 169562 Delivered-To: patch@linaro.org Received: by 2002:a92:4782:0:0:0:0:0 with SMTP id e2csp9377063ilk; Tue, 23 Jul 2019 14:37:36 -0700 (PDT) X-Google-Smtp-Source: APXvYqxKI3g+SsOW7HEEFxahUq8H5oLScluluMpaF0nGuBN349Vo/rJzOdFy1b1KwtGXsLy18QaU X-Received: by 2002:a05:6638:281:: with SMTP id c1mr80588620jaq.43.1563917856782; Tue, 23 Jul 2019 14:37:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1563917856; cv=none; d=google.com; s=arc-20160816; b=zcG8a4lusoYqDyNW/VC4BghYQkUnjSJrvJkxkRCY8y60lMFvSK8xeoE3j04FS8zr0f wc81xccCOqnqhwS3xKYvh3KcyRbYUs2z0NeDOCEQgsRbEUfcFy9GyhQi/Fi+wM/lxChi CJtqR/pLMzX+twoKoY1WFq/9vsiLW68uR9rFK/Ej0BQq5XstG3Bd3cFdWlnTmEzugWXF B6kbWHdf2UXoo8oU4gYIBE4RiiEBcYi+tYJ3Pkqa2r5jAS4ClW4wWrKpt+tNERn3iLPF 8+ruxF30j54HD5nHnPtfFlL2KNF7LY3oq/o/a7sTxh3JmWvW47/TJvaqgl95PdMBpu5X JvyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc :list-subscribe:list-help:list-post:list-unsubscribe:list-id :precedence:subject:references:in-reply-to:message-id:date:to:from; bh=PmKVw0Ed73O6vS0M5wu7aKw/CJTDSa8ZxjWNxjy3StQ=; b=KHk4a+CPHEqoSo6D4f+IlKk8O6walAj6n29W/r3/aPMDAJviAoXPEe2tKIAYbc76JV yF3G5VOFXu+w70ToLW5Latc6WAFAKd2EHKDedyUrjY/94ekAaIsW1HdlgvNRffBhgtS2 yHv9f4//t26DOs2adQfBm3MYEhvTQgT1/tyOulB7D08py63y4RD17R9NvCj2Z/u6IQSf O3oNbwp12wjd/JW14zRozqOZ4ZU1WUb2lb8GWTvfndaejiemLbuQ+0T48DlEiTjRtfcE 547GV0R5LSwNjpL1W7ZvYWmhk2bNUGSmblo855U01/ENyCv9I5chCHddBdUaVa2pjLMB jwrA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of xen-devel-bounces@lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Return-Path: Received: from lists.xenproject.org (lists.xenproject.org. [192.237.175.120]) by mx.google.com with ESMTPS id b10si55696455ioq.76.2019.07.23.14.37.36 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 23 Jul 2019 14:37:36 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of xen-devel-bounces@lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of xen-devel-bounces@lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hq2S6-0001w1-Rh; Tue, 23 Jul 2019 21:36:06 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hq2S5-0001vV-3J for xen-devel@lists.xenproject.org; Tue, 23 Jul 2019 21:36:05 +0000 X-Inumbo-ID: df4cb4aa-ad91-11e9-8980-bc764e045a96 Received: from foss.arm.com (unknown [217.140.110.172]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTP id df4cb4aa-ad91-11e9-8980-bc764e045a96; Tue, 23 Jul 2019 21:36:03 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CDA5F15A2; Tue, 23 Jul 2019 14:36:03 -0700 (PDT) Received: from e108454-lin.cambridge.arm.com (e108454-lin.cambridge.arm.com [10.1.196.50]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 275DA3F71F; Tue, 23 Jul 2019 14:36:03 -0700 (PDT) From: Julien Grall To: xen-devel@lists.xenproject.org Date: Tue, 23 Jul 2019 22:35:50 +0100 Message-Id: <20190723213553.22300-5-julien.grall@arm.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20190723213553.22300-1-julien.grall@arm.com> References: <20190723213553.22300-1-julien.grall@arm.com> Subject: [Xen-devel] [PATCH 4/7] xen/arm: traps: Avoid using BUG_ON() in _show_registers() X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Julien Grall , Stefano Stabellini , Volodymyr Babchuk MIME-Version: 1.0 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" At the moment, _show_registers() is using a BUG_ON() to assert only userspace will run 32-bit code in a 64-bit domain. Such extra precaution is not necessary and could be avoided by only checking the CPU mode to decide whether show_registers_64() or show_reigsters_32() should be called. This has also the nice advantage to avoid nested if in the code. Signed-off-by: Julien Grall Reviewed-by: Volodymyr Babchuk Acked-by: Stefano Stabellini --- xen/arch/arm/traps.c | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c index 54e66a86d0..132686ee0f 100644 --- a/xen/arch/arm/traps.c +++ b/xen/arch/arm/traps.c @@ -914,21 +914,11 @@ static void _show_registers(const struct cpu_user_regs *regs, if ( guest_mode ) { - if ( is_32bit_domain(v->domain) ) + if ( psr_mode_is_32bit(regs) ) show_registers_32(regs, ctxt, guest_mode, v); #ifdef CONFIG_ARM_64 - else if ( is_64bit_domain(v->domain) ) - { - if ( psr_mode_is_32bit(regs) ) - { - BUG_ON(!usr_mode(regs)); - show_registers_32(regs, ctxt, guest_mode, v); - } - else - { - show_registers_64(regs, ctxt, guest_mode, v); - } - } + else + show_registers_64(regs, ctxt, guest_mode, v); #endif } else