From patchwork Sat Sep 1 02:13:40 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Max Filippov X-Patchwork-Id: 964798 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="NEf/73RI"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 422KYd2K61z9sBn for ; Sat, 1 Sep 2018 12:14:45 +1000 (AEST) Received: from localhost ([::1]:59195 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fvvQx-0006d4-0V for incoming@patchwork.ozlabs.org; Fri, 31 Aug 2018 22:14:43 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33680) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fvvQH-0006ay-1O for qemu-devel@nongnu.org; Fri, 31 Aug 2018 22:14:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fvvQF-0002i6-CY for qemu-devel@nongnu.org; Fri, 31 Aug 2018 22:14:00 -0400 Received: from mail-lf1-x144.google.com ([2a00:1450:4864:20::144]:33573) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fvvQF-0002fc-3y for qemu-devel@nongnu.org; Fri, 31 Aug 2018 22:13:59 -0400 Received: by mail-lf1-x144.google.com with SMTP id m26-v6so11353237lfb.0 for ; Fri, 31 Aug 2018 19:13:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=3nDjPGFYIY+emfiTVGDbSpjd+c71M8efwCjcTsl3Oq0=; b=NEf/73RI5yr5kwFxhlcBboj4R3bIV/AWe4FfR7DiOgqAWYTxPjZR+sgLN7L1d+vtHi IVSTPHSulBdEQL5i9PvQGlg3Z7OqV7qYUSKtIyEbTjVVtK+r820oD8HYlAelnobdisPO vqIqbK9VoYhdEKXoFwUOr7zSnB6k5wzDgecqHHsEa7k3wPf6zoT9byEntjX6A+KeCTd4 5110nKyFovwQ4X8hQoPennBKwR7DzyabgiXqOgcxgjHv6/ws90uW29jZKjSn1KsxPCo+ ygeC//DHMHBLv3SXCfdTMtqz/I6GrDAIQiY3I7oPx6W3mQRQjMTol8H8Xha7ydqhkrrY aq6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=3nDjPGFYIY+emfiTVGDbSpjd+c71M8efwCjcTsl3Oq0=; b=cceztCOCmhv4Y4zXXVKeMPzdh+UNsXzwVe4AxObs9zq/3u3vhGwmR/0yHqQnCm/bWL ToHWApLMt94ZnFMHmxCosUXTHvYs7uirAFrKyJOnCcnmyGlyy+yEM4m7WxeCzhRGrVwA wXTa2O8/qaNAtBUM1sN/7C6a2aCrQjkL2W9bGIAf3ZJiH3GzL0uW8mpsSyUcw+0R7tOy Og7ZUlGwloB5c6sXjXIDS6gCa1BulKYd21/dh1cDa1sp/0rdWFuTPwkoVA44RK70ZBWX ah/mkKGx1xEuulaEHC0XCtUnnFl6zUEvE3RuTsSEXMrpL3rICN0M1UVzZB3RhhWL84Qf xjRA== X-Gm-Message-State: APzg51DNWH/Ybim/1211uS7EmDej7yVGXkZ6gcS2L7I4GH+Q2PUzS+tf QThG/4jdTil3p2IRKpfe2gW1LIHSjWM= X-Google-Smtp-Source: ANB0Vdbh7vvH8lnqBMdR0ZmJN2mDZK/kfh6OnT69WQdwHrZ6XMFewcY1Ng2pZWZPigor7RFpzX/Z9g== X-Received: by 2002:a19:c70a:: with SMTP id x10-v6mr550118lff.148.1535768035222; Fri, 31 Aug 2018 19:13:55 -0700 (PDT) Received: from octofox.hsd1.ca.comcast.net. (jcmvbkbc-1-pt.tunnel.tserv24.sto1.ipv6.he.net. [2001:470:27:1fa::2]) by smtp.gmail.com with ESMTPSA id g16-v6sm2115984lfb.5.2018.08.31.19.13.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Aug 2018 19:13:54 -0700 (PDT) From: Max Filippov To: qemu-devel@nongnu.org Date: Fri, 31 Aug 2018 19:13:40 -0700 Message-Id: <20180901021341.18066-2-jcmvbkbc@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180901021341.18066-1-jcmvbkbc@gmail.com> References: <20180901021341.18066-1-jcmvbkbc@gmail.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::144 Subject: [Qemu-devel] [PATCH 1/2] tests/tcg/xtensa: move exception handlers to separate section X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Max Filippov Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Not all CPU configurations may have enough space for handler code between exception/interrupt vectors. Leave jumps to the handlers at the vectors, but move all handlers past the vectors area. Signed-off-by: Max Filippov --- tests/tcg/xtensa/linker.ld.S | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/tests/tcg/xtensa/linker.ld.S b/tests/tcg/xtensa/linker.ld.S index 5902302cf8fd..d0f33157ca9e 100644 --- a/tests/tcg/xtensa/linker.ld.S +++ b/tests/tcg/xtensa/linker.ld.S @@ -24,64 +24,71 @@ SECTIONS .vector : { +#if XCHAL_HAVE_WINDOWED . = XCHAL_WINDOW_OF4_VECOFS; *(.vector.window_overflow_4) - *(.vector.window_overflow_4.*) . = XCHAL_WINDOW_UF4_VECOFS; *(.vector.window_underflow_4) - *(.vector.window_underflow_4.*) . = XCHAL_WINDOW_OF8_VECOFS; *(.vector.window_overflow_8) - *(.vector.window_overflow_8.*) . = XCHAL_WINDOW_UF8_VECOFS; *(.vector.window_underflow_8) - *(.vector.window_underflow_8.*) . = XCHAL_WINDOW_OF12_VECOFS; *(.vector.window_overflow_12) - *(.vector.window_overflow_12.*) . = XCHAL_WINDOW_UF12_VECOFS; *(.vector.window_underflow_12) - *(.vector.window_underflow_12.*) - +#endif #if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 2 . = XCHAL_INTLEVEL2_VECOFS; *(.vector.level2) - *(.vector.level2.*) #endif #if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 3 . = XCHAL_INTLEVEL3_VECOFS; *(.vector.level3) - *(.vector.level3.*) #endif #if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 4 . = XCHAL_INTLEVEL4_VECOFS; *(.vector.level4) - *(.vector.level4.*) #endif #if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 5 . = XCHAL_INTLEVEL5_VECOFS; *(.vector.level5) - *(.vector.level5.*) #endif #if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 6 . = XCHAL_INTLEVEL6_VECOFS; *(.vector.level6) - *(.vector.level6.*) #endif #if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 7 . = XCHAL_INTLEVEL7_VECOFS; *(.vector.level7) - *(.vector.level7.*) #endif . = XCHAL_KERNEL_VECOFS; *(.vector.kernel) - *(.vector.kernel.*) . = XCHAL_USER_VECOFS; *(.vector.user) - *(.vector.user.*) . = XCHAL_DOUBLEEXC_VECOFS; *(.vector.double) + } > ram + + .vector.text : + { + *(.vector.window_overflow_4.*) + *(.vector.window_underflow_4.*) + *(.vector.window_overflow_8.*) + *(.vector.window_underflow_8.*) + *(.vector.window_overflow_12.*) + *(.vector.window_underflow_12.*) + + *(.vector.level2.*) + *(.vector.level3.*) + *(.vector.level4.*) + *(.vector.level5.*) + *(.vector.level6.*) + *(.vector.level7.*) + + *(.vector.kernel.*) + *(.vector.user.*) *(.vector.double.*) } > ram From patchwork Sat Sep 1 02:13:41 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Max Filippov X-Patchwork-Id: 964796 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Rw1mKgnf"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 422KYc6sJDz9sBJ for ; Sat, 1 Sep 2018 12:14:43 +1000 (AEST) Received: from localhost ([::1]:59194 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fvvQv-0006bp-5x for incoming@patchwork.ozlabs.org; Fri, 31 Aug 2018 22:14:41 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33683) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fvvQH-0006az-23 for qemu-devel@nongnu.org; Fri, 31 Aug 2018 22:14:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fvvQF-0002ie-V4 for qemu-devel@nongnu.org; Fri, 31 Aug 2018 22:14:00 -0400 Received: from mail-lf1-x143.google.com ([2a00:1450:4864:20::143]:36972) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fvvQF-0002gu-9l for qemu-devel@nongnu.org; Fri, 31 Aug 2018 22:13:59 -0400 Received: by mail-lf1-x143.google.com with SMTP id j8-v6so11350634lfb.4 for ; Fri, 31 Aug 2018 19:13:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=FlVS4Vr7pNxL8Uu/bXPDDhx1KT5vpfnBdH561kzvM58=; b=Rw1mKgnfTuHcpu3iUNUeMwI+OrFVNcdcjTBFR0QVu/Sa+u+1QKZBGFM6/otEbsafna wayUHCbEXt5GwGIG2mhp3bLSZ/wV0H326AyZ6GrSa2JcC07ZnRHFBX6NspM0mgN5X/rC uxI9lLRYfpLW58wYwDOg2S0+09rUAwU2ospVqwUETLiAOQn5PGMWWWnecQjsb6PGyqSi uHWnVBowCRGQYXzP7MzayrcbYBTMr69sPvYF+coQn0BryUBwrmWNup8e7XXbhfWiw45C MCA+ptz5vMbBnAxP7SEhEzpQvz1v9Jz3sXKAqrgBioKN/ekHCMfjB3Vch8AIoZYuMFIm kS1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=FlVS4Vr7pNxL8Uu/bXPDDhx1KT5vpfnBdH561kzvM58=; b=Q8VYWNTk10YL14FOq4ftz3jaiVbie+qAWFqdds8p/cmKept8ZMY4id7IpqoIVpq9Qg GAjhtyebv4cV97949BylF2IUYdS3O6rmdE/+/EGFJNzW/mH8pDLb5iv/hskNHHmaSxb8 GC5wL42c52i3346SwOqCNHyefntm1x60GZhn0W6GQD/O4AfmsChIBPQjMF/YmtYhj2px Ba5h81+mgOC8ygRUWEQkF/9niVACAwrRPtlWtEZ0hjd9jqHhjcOUfI50+Y+FDrwa1SEd qvrVMYfgw7vqTv5GHRDXtYnl4hi8r6yrHy01xqygCyqmKijFk6VcJ91vSccVG2wRYzws VvSg== X-Gm-Message-State: APzg51BAN26dProe5NQ65llylopezJl5NiO36HF1hR5QbrRfd7iWm9mG QFSKqgwbgBlaijFYZH+Z//sGqv9wbxQ= X-Google-Smtp-Source: ANB0VdYjTq2EKi0m8TE+X4Y+jbx+p4UuQjdyH4PC1inuDFkJyB1vblsTCxp3rYUo+RrknxhnMHU6cw== X-Received: by 2002:a19:7d84:: with SMTP id y126-v6mr12448871lfc.94.1535768037356; Fri, 31 Aug 2018 19:13:57 -0700 (PDT) Received: from octofox.hsd1.ca.comcast.net. (jcmvbkbc-1-pt.tunnel.tserv24.sto1.ipv6.he.net. [2001:470:27:1fa::2]) by smtp.gmail.com with ESMTPSA id g16-v6sm2115984lfb.5.2018.08.31.19.13.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Aug 2018 19:13:56 -0700 (PDT) From: Max Filippov To: qemu-devel@nongnu.org Date: Fri, 31 Aug 2018 19:13:41 -0700 Message-Id: <20180901021341.18066-3-jcmvbkbc@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180901021341.18066-1-jcmvbkbc@gmail.com> References: <20180901021341.18066-1-jcmvbkbc@gmail.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::143 Subject: [Qemu-devel] [PATCH 2/2] tests/tcg/xtensa: only generate defined exception handlers X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Max Filippov Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Don't generate handlers for IRQ levels that are not defined for the CPU or for window overflow/underflow exceptions for configs w/o windowed registers. Signed-off-by: Max Filippov --- tests/tcg/xtensa/vectors.S | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/tcg/xtensa/vectors.S b/tests/tcg/xtensa/vectors.S index 265a1812399b..6a9cb3cde466 100644 --- a/tests/tcg/xtensa/vectors.S +++ b/tests/tcg/xtensa/vectors.S @@ -1,3 +1,5 @@ +#include "core-isa.h" + .macro vector name .section .vector.\name @@ -20,19 +22,33 @@ handler_\name\(): .word 0 .endm +#if XCHAL_HAVE_WINDOWED vector window_overflow_4 vector window_overflow_8 vector window_overflow_12 vector window_underflow_4 vector window_underflow_8 vector window_underflow_12 +#endif +#if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 2 vector level2 +#endif +#if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 3 vector level3 +#endif +#if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 4 vector level4 +#endif +#if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 5 vector level5 +#endif +#if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 6 vector level6 +#endif +#if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 7 vector level7 +#endif vector kernel vector user