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 lists.gnu.org (lists.gnu.org [209.51.188.17]) (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 9484BC77B7A for ; Fri, 19 May 2023 13:37:40 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q00IF-0006E4-DG; Fri, 19 May 2023 09:37:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q00I9-0006Di-Hp for qemu-devel@nongnu.org; Fri, 19 May 2023 09:37:09 -0400 Received: from hoth.uni-paderborn.de ([2001:638:502:c003::19]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q00I7-0006mB-9B for qemu-devel@nongnu.org; Fri, 19 May 2023 09:37:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mail.uni-paderborn.de; s=20170601; h=Content-Transfer-Encoding:MIME-Version :Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=ZP5kz5wvqy9M0JAm21B3X0P5sc5TxnD16KuXqdu5umo=; b=CSFhPcrdkkx3wrdK2efpfxuq8d rCmNqLtSx3Axk5oIxcMzs1GOpznBfwiFxSoaoFZQIql+ihNJN8rXqhdLqBK6duRx5iY4Si9Jieb+O ma5+YV3blVAIsVccKmlFo77jCIGHfdA5vR+KJ56Phr5xkZ2/as5dz5doWAFovNNtK18A=; X-Envelope-From: From: Bastian Koppelmann To: qemu-devel@nongnu.org Cc: kbastian@mail.uni-paderborn.de Subject: [PATCH 0/6] TriCore PCXI/ICR register fixes Date: Fri, 19 May 2023 15:36:44 +0200 Message-Id: <20230519133650.575600-1-kbastian@mail.uni-paderborn.de> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-PMX-Version: 6.4.9.2830568, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2023.5.19.132723, AntiVirus-Engine: 6.0.0, AntiVirus-Data: 2023.5.16.600001 X-IMT-Source: Intern X-IMT-Spam-Score: 0.0 () X-IMT-Authenticated-Sender: uid=kbastian,ou=People,o=upb,c=de Received-SPF: pass client-ip=2001:638:502:c003::19; envelope-from=kbastian@mail.uni-paderborn.de; helo=hoth.uni-paderborn.de X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Hi, the main motivator for this series was https://gitlab.com/qemu-project/qemu/-/issues/1453. To test that I'm not screwing up this refactor I also extended the tests by C programs so we can test the PCXI/ICR registers by recursive function call. Through these tests I also found a problem, where we were not correctly updating PSW when we did a context save. Cheers, Bastian Bastian Koppelmann (6): tests/tcg/tricore: Move asm tests into 'asm' directory tests/tcg/tricore: Uses label for memory addresses tests/tcg/tricore: Add first C program target/tricore: Refactor PCXI/ICR register fields target/tricore: Fix wrong PSW for call insns tests/tcg/tricore: Add recursion test for CSAs configure | 1 + target/tricore/cpu.h | 39 +- target/tricore/helper.c | 45 +++ target/tricore/op_helper.c | 87 ++--- target/tricore/translate.c | 12 +- tests/tcg/tricore/Makefile.softmmu-target | 49 ++- tests/tcg/tricore/{ => asm}/macros.h | 1 - tests/tcg/tricore/{ => asm}/test_abs.S | 0 tests/tcg/tricore/{ => asm}/test_bmerge.S | 0 tests/tcg/tricore/{ => asm}/test_clz.S | 0 tests/tcg/tricore/{ => asm}/test_dextr.S | 0 tests/tcg/tricore/{ => asm}/test_dvstep.S | 0 tests/tcg/tricore/{ => asm}/test_fadd.S | 0 tests/tcg/tricore/{ => asm}/test_fmul.S | 0 tests/tcg/tricore/{ => asm}/test_ftoi.S | 0 tests/tcg/tricore/{ => asm}/test_imask.S | 0 tests/tcg/tricore/{ => asm}/test_insert.S | 0 tests/tcg/tricore/{ => asm}/test_ld_bu.S | 4 +- tests/tcg/tricore/asm/test_ld_h.S | 15 + tests/tcg/tricore/{ => asm}/test_madd.S | 0 tests/tcg/tricore/{ => asm}/test_msub.S | 0 tests/tcg/tricore/{ => asm}/test_muls.S | 0 tests/tcg/tricore/c/crt0-tc2x.S | 335 ++++++++++++++++++ tests/tcg/tricore/c/test_boot_to_main.c | 13 + tests/tcg/tricore/c/test_context_save_areas.c | 15 + tests/tcg/tricore/c/testdev_assert.h | 18 + tests/tcg/tricore/link.ld | 16 + tests/tcg/tricore/test_ld_h.S | 15 - 28 files changed, 574 insertions(+), 91 deletions(-) rename tests/tcg/tricore/{ => asm}/macros.h (99%) rename tests/tcg/tricore/{ => asm}/test_abs.S (100%) rename tests/tcg/tricore/{ => asm}/test_bmerge.S (100%) rename tests/tcg/tricore/{ => asm}/test_clz.S (100%) rename tests/tcg/tricore/{ => asm}/test_dextr.S (100%) rename tests/tcg/tricore/{ => asm}/test_dvstep.S (100%) rename tests/tcg/tricore/{ => asm}/test_fadd.S (100%) rename tests/tcg/tricore/{ => asm}/test_fmul.S (100%) rename tests/tcg/tricore/{ => asm}/test_ftoi.S (100%) rename tests/tcg/tricore/{ => asm}/test_imask.S (100%) rename tests/tcg/tricore/{ => asm}/test_insert.S (100%) rename tests/tcg/tricore/{ => asm}/test_ld_bu.S (68%) create mode 100644 tests/tcg/tricore/asm/test_ld_h.S rename tests/tcg/tricore/{ => asm}/test_madd.S (100%) rename tests/tcg/tricore/{ => asm}/test_msub.S (100%) rename tests/tcg/tricore/{ => asm}/test_muls.S (100%) create mode 100644 tests/tcg/tricore/c/crt0-tc2x.S create mode 100644 tests/tcg/tricore/c/test_boot_to_main.c create mode 100644 tests/tcg/tricore/c/test_context_save_areas.c create mode 100644 tests/tcg/tricore/c/testdev_assert.h delete mode 100644 tests/tcg/tricore/test_ld_h.S -- 2.40.1