From nobody Tue Feb 10 01:35:33 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.44 as permitted sender) client-ip=209.85.221.44; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f44.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.44 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1632174295; cv=none; d=zohomail.com; s=zohoarc; b=BKBJIWIq3rU8TO97h3h22dlwLqX8H0Ry2UhEh9dfgI0UdtYKLfjqVKBdfBM2p3BQX2F9EmuWEjrtLLp468lHGBLxGO9mZTI4/Cydj/TODv5cxwIX26lhg5Vd3x6IFyOaqR5aph9audqf3vDjWprBAHuPkvfngsuTk2nNBmEsA7U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1632174295; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ivfGIZqZ1ZvPdpMYGTfuFnTfxbUSRyPHF1Kx1zahwoM=; b=GOdQMjS+4ODOmofnZA5mMnrcnBxwhjX2JJpC3zmzWEYvD7yuZSb5tPIXWjBXTuZVmM3brUEDgfWZ/Ep940dfvYNwwzO6D6+u7wOQFxEY5bJDMkbqoL1xLMlEl9uP0gPSVAP9mcxw3BlK9odkEUsXgXyHw/xaSWDTGekWXnAgiMA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.44 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) by mx.zohomail.com with SMTPS id 1632174295912490.9412702495208; Mon, 20 Sep 2021 14:44:55 -0700 (PDT) Received: by mail-wr1-f44.google.com with SMTP id t7so311651wrw.13 for ; Mon, 20 Sep 2021 14:44:55 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (118.red-83-35-24.dynamicip.rima-tde.net. [83.35.24.118]) by smtp.gmail.com with ESMTPSA id f19sm702529wmf.11.2021.09.20.14.44.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Sep 2021 14:44:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ivfGIZqZ1ZvPdpMYGTfuFnTfxbUSRyPHF1Kx1zahwoM=; b=OhCXDllVisL8GEsZVg/cYtStDQhvJvLUwRW8key5hWsaTk4cziSUBJzI06Bj4DKXBw m2fGoi3T/1d1RK982fqbM0ItMm2m+KyTIrwZuOKGSI/os1aR2wX2hV53lTVekmqNym9k tBG1tGyBOnodIohE9pKmMuYJRJdvwsRwFJ+/KHRefnvkN7M0cEuBaK3wi/RLvjUV5cPO pM3ZfTK7A7TLpfE2wTRDBfqrY6cBiVbc0ziNXXM+9AhFMe7GV6bRXWjqnqzEDK2miP/9 plbBjV9psXLfzt7k+WDr6RbEZtWRe9+z+HU/Uu7bWVreL2oJIg825avUB8Vfk4pb6ej2 8OJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=ivfGIZqZ1ZvPdpMYGTfuFnTfxbUSRyPHF1Kx1zahwoM=; b=GQuS+JMtuCRnq2A+4NloxXZTLDeLPgOfdZRtyFOODbZ7ww6RaqfA+eAkqmF68tMCnq zkzbqX8kPkzfYtAk7oh59zD+8lDrRQ7NUUesTnvHsKy1NfIm95gE10FjATGrMSQY70zs 9mbal9frATGGOeN+nlhccesQ/cWufqt8uO0uHaUUtyRUO5AEsqGpXkPhSjq4v2oXaJS1 ml6W7wQznO7J5Bo8rTWdF/Yiom74AhLjTe1l20SdWEEPau/zmgI46MKcTqi9HNcrANw2 mvF7u4Zk5w2xYDK514usYv173LG0vZLmQTHxxqif2wg2up4wPm7khbjYUHn2f7KOZe6I Epww== X-Gm-Message-State: AOAM5306n15gtVZIrrgCHocwqxE0e2y4EQ3+kdv84JKhJSiXg/n7CkHd 2aeR/4q1WaUb2QWdehmogm8= X-Google-Smtp-Source: ABdhPJyPTzthXAmn2GXZhy03qHrJ3/gKBZwQz8KH3OfAB19h9df2YhVDnlo0fSDzknnwCbguAv/60A== X-Received: by 2002:a05:600c:3790:: with SMTP id o16mr1087348wmr.157.1632174294094; Mon, 20 Sep 2021 14:44:54 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Peter Maydell , Michael Davidsaver Subject: [PATCH v5 01/31] target/arm: Implement arm_v7m_cpu_has_work() Date: Mon, 20 Sep 2021 23:44:17 +0200 Message-Id: <20210920214447.2998623-2-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210920214447.2998623-1-f4bug@amsat.org> References: <20210920214447.2998623-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1632174297166100001 Implement SysemuCPUOps::has_work() handler for the ARM v7M CPU. See the comments added in commit 7ecdaa4a963 ("armv7m: Fix condition check for taking exceptions") which eventually forgot to implement this has_work() handler: * ARMv7-M interrupt masking works differently than -A or -R. * There is no FIQ/IRQ distinction. The NVIC signal any pending interrupt by raising ARM_CPU_IRQ (see commit 56b7c66f498: "armv7m: QOMify the armv7m container") which ends setting the CPU_INTERRUPT_HARD bit in interrupt_request. Thus arm_v7m_cpu_has_work() implementation is thus quite trivial, we simply need to check for this bit. Cc: Peter Maydell Cc: Michael Davidsaver Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/arm/cpu_tcg.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/target/arm/cpu_tcg.c b/target/arm/cpu_tcg.c index 0d5adccf1a7..da348938407 100644 --- a/target/arm/cpu_tcg.c +++ b/target/arm/cpu_tcg.c @@ -23,6 +23,11 @@ #if !defined(CONFIG_USER_ONLY) || !defined(TARGET_AARCH64) =20 #if !defined(CONFIG_USER_ONLY) && defined(CONFIG_TCG) +static bool arm_v7m_cpu_has_work(CPUState *cs) +{ + return cs->interrupt_request & CPU_INTERRUPT_HARD; +} + static bool arm_v7m_cpu_exec_interrupt(CPUState *cs, int interrupt_request) { CPUClass *cc =3D CPU_GET_CLASS(cs); @@ -920,6 +925,7 @@ static void arm_v7m_class_init(ObjectClass *oc, void *d= ata) =20 acc->info =3D data; #ifdef CONFIG_TCG + cc->has_work =3D arm_v7m_cpu_has_work; cc->tcg_ops =3D &arm_v7m_tcg_ops; #endif /* CONFIG_TCG */ =20 --=20 2.31.1