From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36705) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZGLAb-0006EI-MQ for qemu-devel@nongnu.org; Sat, 18 Jul 2015 02:00:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZGLAY-00047Q-W5 for qemu-devel@nongnu.org; Sat, 18 Jul 2015 02:00:21 -0400 Received: from mail-pa0-x22d.google.com ([2607:f8b0:400e:c03::22d]:33359) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZGLAY-00046k-Q7 for qemu-devel@nongnu.org; Sat, 18 Jul 2015 02:00:18 -0400 Received: by padck2 with SMTP id ck2so71169599pad.0 for ; Fri, 17 Jul 2015 23:00:18 -0700 (PDT) From: Peter Crosthwaite Date: Fri, 17 Jul 2015 23:00:05 -0700 Message-Id: <74a5ec02619e78867fa4052ae45f4183d9c1656b.1437197974.git.crosthwaite.peter@gmail.com> In-Reply-To: References: In-Reply-To: References: Subject: [Qemu-devel] [PATCH 1/2] arm: cpu: Soften no-EL2 virt IRQ error condition. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: edgar.iglesias@xilinx.com, peter.maydell@linaro.org, Peter Crosthwaite Replace the hw_error for no-EL2 VIRQ with a LOG_UNIMP. This is more accurate and handles the corner case where the user defeatures EL2 using overrides in a system that would otherwise have EL2 connectivity. Signed-off-by: Peter Crosthwaite --- I'm primarily interested in getting rid of the hw_error() more than anything. If my use-case seems invalid and a stronger error is preffered, it can be redone as an assert and the code will still work for me. --- target-arm/cpu.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/target-arm/cpu.c b/target-arm/cpu.c index 29b7eca..c4b8448 100644 --- a/target-arm/cpu.c +++ b/target-arm/cpu.c @@ -310,8 +310,10 @@ static void arm_cpu_set_irq(void *opaque, int irq, int level) case ARM_CPU_VIRQ: case ARM_CPU_VFIQ: if (!arm_feature(env, ARM_FEATURE_EL2)) { - hw_error("%s: Virtual interrupt line %d with no EL2 support\n", - __func__, irq); + qemu_log_mask(LOG_UNIMP, + "%s: Virtual interrupt line %d with no EL2 support\n", + __func__, irq); + return; } /* fall through */ case ARM_CPU_IRQ: -- 1.9.1