[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v3] automation/eclair: deviate R2.6 for the x86 emulator


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Shuaidong Chen <shuaidong.chen@xxxxxxx>
  • Date: Tue, 10 Nov 2026 21:49:02 +0800
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0)
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=dE2zp+rFWGkRR9tJlzJkOjTI0CowSUW9LQLrai0vfs8=; b=D+zMvwabVpONebjdKm7Nm86/9c/EC2+IbrPkqBoUT3I2vtOSUVSdz98IQPR+OAWeipFLsAxeFsB+JDaLsBRqnFHDN5sahG8LgDDZyool7rGstS2lFi25I8273y/aYEqmPPmBkFQLUH/VaiD7x50XLkRWhATteRA81hJS0EepZsrlw35mXnp9kDTf9xOv6e1KrxwS6h21gPt5F7rfdCcanPZp9VrUjIvyS9L2JxGC66TgYAenUUMyBQI+PFosU3r/i7bFQXlebjV3yf0cKCijeHv/xupwdbSeqCIL5mJ035clPpckiKRY8QLxHNCnibw4KbGdH0tbNuRp57jMDLUpCA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aND7mpj7gDgIlje9hFQACScsqjQVME9OLze3rTlf5ZTBxYwF2u1kDrz7Pd/RqapdeMyP5BK4XWEuqw01dEtJ+/dp+C7cceWB2OiwOap4aYPZ2co/QHASYK40iGrv1p+lXJ2PhebmZ2v74kdka7estU9zlW2H5ik4Ern4VjkN6s4SvLtZrS3Y29zKYq8F6tQHjBetUvoHOPUxuhIZfyOX2ROC9DSJ0YGA45Wiv/U0+FXOK3Q3KsWPH7Yf9fDwKVP3T2l4lqjalEqXAZTSk26NGkfJsDEuCN8Y6AO3H+d7lyVdZebcNiruAhUatV/lUdEiP7uMMM3psrjwIqSS0uKtVw==
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
  • Cc: Jan Beulich <jbeulich@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Roger Pau Monné <roger@xxxxxxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, "Nicola Vetrini" <nicola.vetrini@xxxxxxxxxxx>, Alejandro Vallejo <alejandro.garciavallejo@xxxxxxx>, Shuaidong Chen <shuaidong.chen@xxxxxxx>
  • Delivery-date: Tue, 10 Nov 2026 13:49:28 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

MISRA C:2012 Rule 2.6 (advisory) states that "a function should not
contain unused label declarations".

Depending on which parts of the x86 emulator are compiled in, some of
its labels end up with no goto targeting them.  For example, with
CONFIG_HVM=n private.h defines X86EMUL_NO_FPU, X86EMUL_NO_MMX and
X86EMUL_NO_SIMD: the CASE_SIMD_* macros then expand to plain labels
instead of case labels, and the gotos to several hand-written simd_*
labels are preprocessed out, leaving 91 unused labels in
x86_emulate.c.  The build already acknowledges this by passing
-Wno-unused-label for that object.

Annotating these labels would only add churn to the emulator.  As done
for Rule 16.2, deviate the rule for the emulator as a whole.

Signed-off-by: Shuaidong Chen <shuaidong.chen@xxxxxxx>
---
v3:
- Drop the CONFIG_HVM=n specifics from the deviation text, as the
  deviation itself isn't limited to that configuration.

v2:
- Drop the __maybe_unused annotations (v1 patch 1) and the CASE_SIMD_*
  specific deviation (v1 patch 2) in favour of an emulator-wide
  deviation, following the existing one for Rule 16.2.
- Trim the Cc list.

 automation/eclair_analysis/ECLAIR/deviations.ecl | 5 +++++
 docs/misra/deviations.rst                        | 8 ++++++++
 2 files changed, 13 insertions(+)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl 
b/automation/eclair_analysis/ECLAIR/deviations.ecl
index 296340bb4c..12afc758dd 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -55,6 +55,11 @@ removed by the compiler, the resulting slowdown is 
negligible."
 -config=MC3A2.R2.6,reports+={deliberate, 
"any_area(text(^.*__maybe_unused.*$))"}
 -doc_end
 
+-doc_begin="Depending on which parts of the x86 emulator are compiled in, some 
of its labels, many of them generated by the CASE_SIMD_* macros, may end up 
with no goto targeting them.
+Annotating them would only add churn to the emulator, therefore it is deemed 
better to leave such files as is."
+-config=MC3A2.R2.6,reports+={deliberate, 
"any_area(any_loc(file(^xen/arch/x86/x86_emulate/.*$)))"}
+-doc_end
+
 #
 # Series 3.
 #
diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index bee4686675..7b983db264 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -116,6 +116,14 @@ Deviations related to MISRA C:2012 Rules:
        such labels poses no risks.
      - Tagged as `deliberate` for ECLAIR.
 
+   * - R2.6
+     - Depending on which parts of the x86 emulator are compiled in, some of
+       its labels, many of them generated by the CASE_SIMD_* macros, may end
+       up with no goto targeting them. Annotating them would only add churn
+       to the emulator, therefore it is deemed better to leave such files as
+       is.
+     - Tagged as `deliberate` for ECLAIR.
+
    * - R3.1
      - Comments starting with '/\*' and containing URLs are safe as they are
        not instances of commented-out code.
-- 
2.34.1




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.