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

Re: [PATCH] xen: add deviations for MISRA C 2012 Rule R5.4



On 2024-11-13 10:38, Alessandro Zucchelli wrote:
This addresses violations of MISRA C:2012 Rule 5.4 which states as
following: Macro identifiers shall be distinct.

This deviation aims to address violations of Rule 5.4 regarding
identifiers XLAT_hvm_altp2m_set_mem_access_multi_HNDL_pfn_list and
XLAT_hvm_altp2m_set_mem_access_multi_HNDL_access_list, and identifiers
declared in header file include/asm/guest/hyperv-tlfs.h.

No functional change.

Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@xxxxxxxxxxx>
---
 automation/eclair_analysis/ECLAIR/deviations.ecl | 9 +++++++++
 docs/misra/deviations.rst                        | 8 ++++++++
 2 files changed, 17 insertions(+)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index 2f58f29203..9e780e4465 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -98,6 +98,15 @@ it defines would (in the common case) be already defined. Peer reviewed by the c -config=MC3R1.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^read_debugreg$))&&any_exp(macro(^write_debugreg$))))"}
 -doc_end

+-doc_begin="Identifiers declared in the following header file should not be changed, therefore they are excluded from compliance with this rule." +-config=MC3R1.R5.4,reports+={safe, "any_area(any_loc(file(^xen/arch/x86/include/asm/guest/hyperv-tlfs\\.h$)))"}
+-doc_end
+
+-doc_begin="The following macro identifiers should not be changed, therefore they are excluded from compliance with this rule."
+-config=MC3R1.R5.4,ignored_macros+=^XLAT_hvm_altp2m_set_mem_access_multi_HNDL_pfn_list$
+-config=MC3R1.R5.4,ignored_macros+=^XLAT_hvm_altp2m_set_mem_access_multi_HNDL_access_list$
+-doc_end
+
-doc_begin="Macros expanding to their own identifier (e.g., \"#define x x\") are deliberate." -config=MC3R1.R5.5,reports+={deliberate, "all_area(macro(same_id_body())||!macro(!same_id_body()))"}
 -doc_end
diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index 15a993d050..2ce1c8e58a 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -109,6 +109,14 @@ Deviations related to MISRA C:2012 Rules:
          - __emulate_2op and __emulate_2op_nobyte
          - read_debugreg and write_debugreg

+   * - R5.4
+     - Macros XLAT_hvm_altp2m_set_mem_access_multi_HNDL_pfn_list and
+ XLAT_hvm_altp2m_set_mem_access_multi_HNDL_access_list should not be
+       changed, and are therefore ignored by the ECLAIR.
+ Identifiers in header file xen/arch/x86/include/asm/guest/hyperv-tlfs.halder
^ typo here I think it is preferable to cite the actual source of those constants, but on the other hand, there is a link at the top of the cited header.

+       shall not be changed.
+     - Tagged as `safe` for ECLAIR.
+
    * - R5.5
      - Macros expanding to their own name are allowed.
      - Tagged as `deliberate` for ECLAIR.



 


Rackspace

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