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

[PATCH v2] 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:24:42 +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=PifvduunsXrPJFSN7G5FFSDvXopwr8oe73duphPpOT8=; b=bmVzGAQ+xNZc/h2JsqK+p4ResFliyaqLH8grYnSbb+1574Bd1riEismwro1FujzVSzOfwBEvJus1FPPFRWgI2h3ds4XN/dJjKdcii1KupDvMhwrW3KpXHzStGZeLNtUQIhS7Y/Szuz52GIqb8bfYUdtW+Te5jnD9pFWoy7HujhaSjhtm53OF4lnykQsVbslzGD+W7AYa9d9/Aof/Af5ltF81xjEGItXsSB8MmAi4ZuABuTPKy76DQlt2aiFdGcvqSj9Q2Th2G/xWjSGk0LFXCPzo3roXIe3PtXM4EWvGESriWWjTJGUUXTzFf7Qqe5R6CPG0yCefUzUD/dUSx8tJJw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gGNEZ3YYW0IRABdlmxXA1GzMAsKLE7xorH9D4YK8BLF0560QQYwU7psq7zQZHR5VnDXFDVmQJ7r5KHendegLG/j12cj1L1UfYXXRSxHpf9RtwdB7JUY7OB34xpsCCxGVIDG0h/rojpA7AvaWZoVK4cgatvROF4GAcXhOuYS4K4HrA+PsnimzsYV43L4trm+gWztSKwCNsbvJnMJb7TGMCleF21ILfXSCcOZynHACwciDtcUSkWSzhd8Z52/9Otb2irpkHk8QvsqS2cBOlv+V1jSHoTniRw+vNdG7f6YDfmkJQlCzB8YNKeRl4zS1HirRXvSTE1SFSTK3rk+0SHLyHw==
  • 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:25:10 +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".

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>
---
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.

 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..4679e8b250 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="With CONFIG_HVM=n the FPU, MMX and SIMD parts of the x86 emulator 
are compiled out, leaving labels with no goto targeting them, many generated by 
the CASE_SIMD_* macros.
+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..7e70b2b79f 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
+     - With CONFIG_HVM=n the FPU, MMX and SIMD parts of the x86 emulator are
+       compiled out, leaving labels with no goto targeting them, many of them
+       generated by the CASE_SIMD_* macros. 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®.