]> xenbits.xensource.com Git - people/andrewcoop/xen.git/commitdiff
xen: update ECLAIR service identifiers from MC3R1 to MC3A2.
authorAlessandro Zucchelli <alessandro.zucchelli@bugseng.com>
Tue, 10 Dec 2024 10:37:23 +0000 (11:37 +0100)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Tue, 17 Dec 2024 13:12:03 +0000 (13:12 +0000)
Rename all instances of ECLAIR MISRA C:2012 service identifiers,
identified by the prefix MC3R1, to use the prefix MC3A2, which
refers to MISRA C:2012 Amendment 2 guidelines.

This update is motivated by the need to upgrade ECLAIR GitLab runners
that use the new naming scheme for MISRA C:2012 Amendment 2 guidelines.

Changes to the docs/misra directory are needed in order to keep
comment-based deviation up to date.

Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
(cherry picked from commit 631f535a3d4ffd66a270672f0f787d79f3bf38f8)
(cherry picked from commit 8b584c97f88724a390fd17b08b2735f488d5f980)

automation/eclair_analysis/ECLAIR/Set1.ecl
automation/eclair_analysis/ECLAIR/Set2.ecl
automation/eclair_analysis/ECLAIR/Set3.ecl
automation/eclair_analysis/ECLAIR/analyze.sh
automation/eclair_analysis/ECLAIR/deviations.ecl
automation/eclair_analysis/ECLAIR/tagging.ecl
docs/misra/documenting-violations.rst
docs/misra/safe.json

index 86b8e7e772454f04961931e680bad8a478a937d0..bcf1cc66c5f562b0728a16c1fdd82b9a38d66a87 100644 (file)
@@ -1,59 +1,59 @@
 -doc_begin="Set 1 of Xen MISRA C guidelines"
--enable=MC3R1.R9.1
--enable=MC3R1.R12.5
--enable=MC3R1.R17.3
--enable=MC3R1.R17.4
--enable=MC3R1.R17.6
--enable=MC3R1.R19.1
--enable=MC3R1.R21.13
--enable=MC3R1.R21.17
--enable=MC3R1.R21.18
--enable=MC3R1.R21.19
--enable=MC3R1.R21.20
--enable=MC3R1.R21.21
--enable=MC3R1.R22.2
--enable=MC3R1.R22.4
--enable=MC3R1.R22.5
--enable=MC3R1.R22.6
--enable=MC3R1.D1.1
--enable=MC3R1.D2.1
--enable=MC3R1.D4.1
--enable=MC3R1.D4.3
--enable=MC3R1.D4.7
--enable=MC3R1.D4.10
--enable=MC3R1.D4.11
--enable=MC3R1.D4.14
--enable=MC3R1.R1.1
--enable=MC3R1.R1.3
--enable=MC3R1.R1.4
--enable=MC3R1.R2.1
--enable=MC3R1.R2.2
--enable=MC3R1.R3.1
--enable=MC3R1.R3.2
--enable=MC3R1.R4.1
--enable=MC3R1.R5.1
--enable=MC3R1.R5.2
--enable=MC3R1.R5.3
--enable=MC3R1.R5.4
--enable=MC3R1.R5.6
--enable=MC3R1.R6.1
--enable=MC3R1.R6.2
--enable=MC3R1.R7.1
--enable=MC3R1.R7.2
--enable=MC3R1.R7.3
--enable=MC3R1.R7.4
--enable=MC3R1.R8.1
--enable=MC3R1.R8.2
--enable=MC3R1.R8.3
--enable=MC3R1.R8.4
--enable=MC3R1.R8.5
--enable=MC3R1.R8.6
--enable=MC3R1.R8.8
--enable=MC3R1.R8.10
--enable=MC3R1.R8.12
--enable=MC3R1.R8.14
--enable=MC3R1.R9.2
--enable=MC3R1.R9.3
--enable=MC3R1.R9.4
--enable=MC3R1.R9.5
+-enable=MC3A2.R9.1
+-enable=MC3A2.R12.5
+-enable=MC3A2.R17.3
+-enable=MC3A2.R17.4
+-enable=MC3A2.R17.6
+-enable=MC3A2.R19.1
+-enable=MC3A2.R21.13
+-enable=MC3A2.R21.17
+-enable=MC3A2.R21.18
+-enable=MC3A2.R21.19
+-enable=MC3A2.R21.20
+-enable=MC3A2.R21.21
+-enable=MC3A2.R22.2
+-enable=MC3A2.R22.4
+-enable=MC3A2.R22.5
+-enable=MC3A2.R22.6
+-enable=MC3A2.D1.1
+-enable=MC3A2.D2.1
+-enable=MC3A2.D4.1
+-enable=MC3A2.D4.3
+-enable=MC3A2.D4.7
+-enable=MC3A2.D4.10
+-enable=MC3A2.D4.11
+-enable=MC3A2.D4.14
+-enable=MC3A2.R1.1
+-enable=MC3A2.R1.3
+-enable=MC3A2.R1.4
+-enable=MC3A2.R2.1
+-enable=MC3A2.R2.2
+-enable=MC3A2.R3.1
+-enable=MC3A2.R3.2
+-enable=MC3A2.R4.1
+-enable=MC3A2.R5.1
+-enable=MC3A2.R5.2
+-enable=MC3A2.R5.3
+-enable=MC3A2.R5.4
+-enable=MC3A2.R5.6
+-enable=MC3A2.R6.1
+-enable=MC3A2.R6.2
+-enable=MC3A2.R7.1
+-enable=MC3A2.R7.2
+-enable=MC3A2.R7.3
+-enable=MC3A2.R7.4
+-enable=MC3A2.R8.1
+-enable=MC3A2.R8.2
+-enable=MC3A2.R8.3
+-enable=MC3A2.R8.4
+-enable=MC3A2.R8.5
+-enable=MC3A2.R8.6
+-enable=MC3A2.R8.8
+-enable=MC3A2.R8.10
+-enable=MC3A2.R8.12
+-enable=MC3A2.R8.14
+-enable=MC3A2.R9.2
+-enable=MC3A2.R9.3
+-enable=MC3A2.R9.4
+-enable=MC3A2.R9.5
 -doc_end
index 7608335cf4a8280038a6fe08c95e569e1230b83a..f096d73adb5022a1aef5a474758793d81b61febf 100644 (file)
@@ -1,25 +1,25 @@
 -doc_begin="Set 2 of Xen MISRA C guidelines"
--enable=MC3R1.R10.1
--enable=MC3R1.R10.2
--enable=MC3R1.R10.3
--enable=MC3R1.R10.4
--enable=MC3R1.R10.6
--enable=MC3R1.R10.7
--enable=MC3R1.R10.8
--enable=MC3R1.R11.1
--enable=MC3R1.R11.2
--enable=MC3R1.R11.3
--enable=MC3R1.R11.6
--enable=MC3R1.R11.7
--enable=MC3R1.R11.8
--enable=MC3R1.R11.9
--enable=MC3R1.R12.2
--enable=MC3R1.R13.1
--enable=MC3R1.R13.2
--enable=MC3R1.R13.5
--enable=MC3R1.R13.6
--enable=MC3R1.R14.1
--enable=MC3R1.R14.2
--enable=MC3R1.R14.3
--enable=MC3R1.R14.4
+-enable=MC3A2.R10.1
+-enable=MC3A2.R10.2
+-enable=MC3A2.R10.3
+-enable=MC3A2.R10.4
+-enable=MC3A2.R10.6
+-enable=MC3A2.R10.7
+-enable=MC3A2.R10.8
+-enable=MC3A2.R11.1
+-enable=MC3A2.R11.2
+-enable=MC3A2.R11.3
+-enable=MC3A2.R11.6
+-enable=MC3A2.R11.7
+-enable=MC3A2.R11.8
+-enable=MC3A2.R11.9
+-enable=MC3A2.R12.2
+-enable=MC3A2.R13.1
+-enable=MC3A2.R13.2
+-enable=MC3A2.R13.5
+-enable=MC3A2.R13.6
+-enable=MC3A2.R14.1
+-enable=MC3A2.R14.2
+-enable=MC3A2.R14.3
+-enable=MC3A2.R14.4
 -doc_end
index d2c2c4b21f29aa2a825e249232ed87ef8bcdaeec..619993919872d601425af08885b9044a244804c0 100644 (file)
@@ -1,67 +1,67 @@
 -doc_begin="Set 3 of Xen MISRA C guidelines"
--enable=MC3R1.D4.12
--enable=MC3R1.R5.5
--enable=MC3R1.R5.7
--enable=MC3R1.R5.8
--enable=MC3R1.R15.2
--enable=MC3R1.R15.3
--enable=MC3R1.R15.6
--enable=MC3R1.R15.7
--enable=MC3R1.R16.1
--enable=MC3R1.R16.2
--enable=MC3R1.R16.3
--enable=MC3R1.R16.4
--enable=MC3R1.R16.5
--enable=MC3R1.R16.6
--enable=MC3R1.R16.7
--enable=MC3R1.R17.1
--enable=MC3R1.R17.2
--enable=MC3R1.R17.5
--enable=MC3R1.R17.7
--enable=MC3R1.R18.1
--enable=MC3R1.R18.2
--enable=MC3R1.R18.3
--enable=MC3R1.R18.6
--enable=MC3R1.R18.7
--enable=MC3R1.R18.8
--enable=MC3R1.R20.2
--enable=MC3R1.R20.3
--enable=MC3R1.R20.4
--enable=MC3R1.R20.6
--enable=MC3R1.R20.7
--enable=MC3R1.R20.8
--enable=MC3R1.R20.9
--enable=MC3R1.R20.11
--enable=MC3R1.R20.12
--enable=MC3R1.R20.13
--enable=MC3R1.R20.14
--enable=MC3R1.R21.1
--enable=MC3R1.R21.2
--enable=MC3R1.R21.3
--enable=MC3R1.R21.4
--enable=MC3R1.R21.5
--enable=MC3R1.R21.6
--enable=MC3R1.R21.7
--enable=MC3R1.R21.8
--enable=MC3R1.R21.9
--enable=MC3R1.R21.10
--enable=MC3R1.R21.12
--enable=MC3R1.R21.14
--enable=MC3R1.R21.15
--enable=MC3R1.R21.16
--enable=MC3R1.R22.1
--enable=MC3R1.R22.3
--enable=MC3R1.R22.7
--enable=MC3R1.R22.8
--enable=MC3R1.R22.9
--enable=MC3R1.R22.10
--enable=MC3R1.R2.6
--enable=MC3R1.R4.2
+-enable=MC3A2.D4.12
+-enable=MC3A2.R5.5
+-enable=MC3A2.R5.7
+-enable=MC3A2.R5.8
+-enable=MC3A2.R15.2
+-enable=MC3A2.R15.3
+-enable=MC3A2.R15.6
+-enable=MC3A2.R15.7
+-enable=MC3A2.R16.1
+-enable=MC3A2.R16.2
+-enable=MC3A2.R16.3
+-enable=MC3A2.R16.4
+-enable=MC3A2.R16.5
+-enable=MC3A2.R16.6
+-enable=MC3A2.R16.7
+-enable=MC3A2.R17.1
+-enable=MC3A2.R17.2
+-enable=MC3A2.R17.5
+-enable=MC3A2.R17.7
+-enable=MC3A2.R18.1
+-enable=MC3A2.R18.2
+-enable=MC3A2.R18.3
+-enable=MC3A2.R18.6
+-enable=MC3A2.R18.7
+-enable=MC3A2.R18.8
+-enable=MC3A2.R20.2
+-enable=MC3A2.R20.3
+-enable=MC3A2.R20.4
+-enable=MC3A2.R20.6
+-enable=MC3A2.R20.7
+-enable=MC3A2.R20.8
+-enable=MC3A2.R20.9
+-enable=MC3A2.R20.11
+-enable=MC3A2.R20.12
+-enable=MC3A2.R20.13
+-enable=MC3A2.R20.14
+-enable=MC3A2.R21.1
+-enable=MC3A2.R21.2
+-enable=MC3A2.R21.3
+-enable=MC3A2.R21.4
+-enable=MC3A2.R21.5
+-enable=MC3A2.R21.6
+-enable=MC3A2.R21.7
+-enable=MC3A2.R21.8
+-enable=MC3A2.R21.9
+-enable=MC3A2.R21.10
+-enable=MC3A2.R21.12
+-enable=MC3A2.R21.14
+-enable=MC3A2.R21.15
+-enable=MC3A2.R21.16
+-enable=MC3A2.R22.1
+-enable=MC3A2.R22.3
+-enable=MC3A2.R22.7
+-enable=MC3A2.R22.8
+-enable=MC3A2.R22.9
+-enable=MC3A2.R22.10
+-enable=MC3A2.R2.6
+-enable=MC3A2.R4.2
 -doc_end
 
 -doc_begin="Guidelines added with Xen MISRA C Task (a): Xen Coding Guidelines v1.1, June 1, 2023"
--enable=MC3R1.R21.11
--enable=MC3R1.D4.4
--enable=MC3R1.R8.9
--enable=MC3R1.R12.4
+-enable=MC3A2.R21.11
+-enable=MC3A2.D4.4
+-enable=MC3A2.R8.9
+-enable=MC3A2.R12.4
 -doc_end
index 47cdbb03cee7bf3614d360e5b7ebab1149643744..8311cdc809ce1a0b3ec5810638d324c18bb8d65b 100755 (executable)
@@ -40,7 +40,7 @@ ECLAIR_REPORT_LOG=${ECLAIR_OUTPUT_DIR}/REPORT.log
 if [[ "$1" = "X86_64" ]]; then
   export CROSS_COMPILE=
   export XEN_TARGET_ARCH=x86_64
-  EXTRA_ECLAIR_ENV_OPTIONS=-disable=MC3R1.R20.7
+  EXTRA_ECLAIR_ENV_OPTIONS=-disable=MC3A2.R20.7
 elif [[ "$1" = "ARM64" ]]; then
   export CROSS_COMPILE=aarch64-linux-gnu-
   export XEN_TARGET_ARCH=arm64
index d8170106b449e5b7a476f572bd61376e13604a3d..f9a3e5f33e0b49e12f95b8eeb6e100d0a90b4eb1 100644 (file)
@@ -6,21 +6,21 @@
 
 -doc_begin="The compiler implementation guarantees that the unreachable code is removed.
 Constant expressions and unreachable branches of if and switch statements are expected."
--config=MC3R1.R2.1,+reports={safe,"first_area(^.*has an invariantly.*$)"}
--config=MC3R1.R2.1,+reports={safe,"first_area(^.*incompatible with labeled statement$)"}
+-config=MC3A2.R2.1,+reports={safe,"first_area(^.*has an invariantly.*$)"}
+-config=MC3A2.R2.1,+reports={safe,"first_area(^.*incompatible with labeled statement$)"}
 -doc_end
 
 -doc_begin="Some functions are intended to be not referenced."
--config=MC3R1.R2.1,+reports={deliberate,"first_area(^.*is never referenced$)"}
+-config=MC3A2.R2.1,+reports={deliberate,"first_area(^.*is never referenced$)"}
 -doc_end
 
 -doc_begin="Unreachability caused by calls to the following functions or macros is deliberate and there is no risk of code being unexpectedly left out."
--config=MC3R1.R2.1,statements+={deliberate,"macro(name(BUG||assert_failed||ERROR_EXIT||ERROR_EXIT_DOM||PIN_FAIL))"}
--config=MC3R1.R2.1,statements+={deliberate, "call(decl(name(__builtin_unreachable||panic||do_unexpected_trap||machine_halt||machine_restart||maybe_reboot)))"}
+-config=MC3A2.R2.1,statements+={deliberate,"macro(name(BUG||assert_failed||ERROR_EXIT||ERROR_EXIT_DOM||PIN_FAIL))"}
+-config=MC3A2.R2.1,statements+={deliberate, "call(decl(name(__builtin_unreachable||panic||do_unexpected_trap||machine_halt||machine_restart||maybe_reboot)))"}
 -doc_end
 
 -doc_begin="Unreachability of an ASSERT_UNREACHABLE() and analogous macro calls is deliberate and safe."
--config=MC3R1.R2.1,reports+={deliberate, "any_area(any_loc(any_exp(macro(name(ASSERT_UNREACHABLE||PARSE_ERR_RET||PARSE_ERR||FAIL_MSR||FAIL_CPUID)))))"}
+-config=MC3A2.R2.1,reports+={deliberate, "any_area(any_loc(any_exp(macro(name(ASSERT_UNREACHABLE||PARSE_ERR_RET||PARSE_ERR||FAIL_MSR||FAIL_CPUID)))))"}
 -doc_end
 
 -doc_begin="Proving compliance with respect to Rule 2.2 is generally impossible:
@@ -29,7 +29,7 @@ confidence that no evidence of errors in the program's logic has been missed due
 to undetected violations of Rule 2.2, if any. Testing on time behavior gives us
 confidence on the fact that, should the program contain dead code that is not
 removed by the compiler, the resulting slowdown is negligible."
--config=MC3R1.R2.2,reports+={disapplied,"any()"}
+-config=MC3A2.R2.2,reports+={disapplied,"any()"}
 -doc_end
 
 #
@@ -38,7 +38,7 @@ removed by the compiler, the resulting slowdown is negligible."
 
 -doc_begin="Comments starting with '/*' and containing hyperlinks are safe as
 they are not instances of commented-out code."
--config=MC3R1.R3.1,reports+={safe, "first_area(text(^.*https?://.*$))"}
+-config=MC3A2.R3.1,reports+={safe, "first_area(text(^.*https?://.*$))"}
 -doc_end
 
 #
@@ -46,49 +46,49 @@ they are not instances of commented-out code."
 #
 
 -doc_begin="The directive has been accepted only for the ARM codebase."
--config=MC3R1.D4.3,reports+={disapplied,"!(any_area(any_loc(file(^xen/arch/arm/arm64/.*$))))"}
+-config=MC3A2.D4.3,reports+={disapplied,"!(any_area(any_loc(file(^xen/arch/arm/arm64/.*$))))"}
 -doc_end
 
 -doc_begin="Depending on the compiler, rewriting the following function-like
 macros as inline functions is not guaranteed to have the same effect."
--config=MC3R1.D4.9,macros+={deliberate,"name(likely)"}
--config=MC3R1.D4.9,macros+={deliberate,"name(unlikely)"}
--config=MC3R1.D4.9,macros+={deliberate,"name(unreachable)"}
+-config=MC3A2.D4.9,macros+={deliberate,"name(likely)"}
+-config=MC3A2.D4.9,macros+={deliberate,"name(unlikely)"}
+-config=MC3A2.D4.9,macros+={deliberate,"name(unreachable)"}
 -doc_end
 
 -doc_begin="These macros can be used on both pointers and unsigned long type values."
--config=MC3R1.D4.9,macros+={safe,"name(virt_to_maddr)"}
--config=MC3R1.D4.9,macros+={safe,"name(virt_to_mfn)"}
+-config=MC3A2.D4.9,macros+={safe,"name(virt_to_maddr)"}
+-config=MC3A2.D4.9,macros+={safe,"name(virt_to_mfn)"}
 -doc_end
 
 -doc_begin="Rewriting variadic macros as variadic functions might have a negative impact on safety."
--config=MC3R1.D4.9,macros+={deliberate,"variadic()"}
+-config=MC3A2.D4.9,macros+={deliberate,"variadic()"}
 -doc_end
 
 -doc_begin="Rewriting macros with arguments that are, in turn, arguments of
 __builtin_constant_p() can change the behavior depending on the optimization
 level."
--config=MC3R1.D4.9,macro_argument_context+="skip_to(class(type||expr||decl,any),
+-config=MC3A2.D4.9,macro_argument_context+="skip_to(class(type||expr||decl,any),
                                             call(name(__builtin_constant_p)))"
 -doc_end
 
 -doc_begin="Function-like macros defined in public headers are meant to be
 usable in C89 mode without any extensions. Hence they cannot be replaced by
 inline functions."
--config=MC3R1.D4.9,macros+={deliberate, "loc(file(api:public))"}
+-config=MC3A2.D4.9,macros+={deliberate, "loc(file(api:public))"}
 -doc_end
 
 -doc_begin="This header file is autogenerated or empty, therefore it poses no
 risk if included more than once."
 -file_tag+={empty_header, "^xen/arch/arm/efi/runtime\\.h$"}
 -file_tag+={autogen_headers, "^xen/include/xen/compile\\.h$||^xen/include/generated/autoconf.h$||^xen/include/xen/hypercall-defs.h$"}
--config=MC3R1.D4.10,reports+={safe, "all_area(all_loc(file(empty_header||autogen_headers)))"}
+-config=MC3A2.D4.10,reports+={safe, "all_area(all_loc(file(empty_header||autogen_headers)))"}
 -doc_end
 
 -doc_begin="Files that are intended to be included more than once do not need to
 conform to the directive."
--config=MC3R1.D4.10,reports+={safe, "first_area(text(^/\\* This file is legitimately included multiple times\\. \\*/$, begin-4))"}
--config=MC3R1.D4.10,reports+={safe, "first_area(text(^/\\* Generated file, do not edit! \\*/$, begin-3))"}
+-config=MC3A2.D4.10,reports+={safe, "first_area(text(^/\\* This file is legitimately included multiple times\\. \\*/$, begin-4))"}
+-config=MC3A2.D4.10,reports+={safe, "first_area(text(^/\\* Generated file, do not edit! \\*/$, begin-3))"}
 -doc_end
 
 #
@@ -97,35 +97,35 @@ conform to the directive."
 
 -doc_begin="The project adopted the rule with an exception listed in
 'docs/misra/rules.rst'"
--config=MC3R1.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^READ_SYSREG$))&&any_exp(macro(^WRITE_SYSREG$))))"}
--config=MC3R1.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^max(_t)?$))&&any_exp(macro(^min(_t)?$))))"}
--config=MC3R1.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^read[bwlq]$))&&any_exp(macro(^read[bwlq]_relaxed$))))"}
--config=MC3R1.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^per_cpu$))&&any_exp(macro(^this_cpu$))))"}
--config=MC3R1.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^__emulate_2op$))&&any_exp(macro(^__emulate_2op_nobyte$))))"}
--config=MC3R1.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^read_debugreg$))&&any_exp(macro(^write_debugreg$))))"}
+-config=MC3A2.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^READ_SYSREG$))&&any_exp(macro(^WRITE_SYSREG$))))"}
+-config=MC3A2.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^max(_t)?$))&&any_exp(macro(^min(_t)?$))))"}
+-config=MC3A2.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^read[bwlq]$))&&any_exp(macro(^read[bwlq]_relaxed$))))"}
+-config=MC3A2.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^per_cpu$))&&any_exp(macro(^this_cpu$))))"}
+-config=MC3A2.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^__emulate_2op$))&&any_exp(macro(^__emulate_2op_nobyte$))))"}
+-config=MC3A2.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^read_debugreg$))&&any_exp(macro(^write_debugreg$))))"}
 -doc_end
 
 -doc_begin="Function-like macros cannot be confused with identifiers that are
 neither functions nor pointers to functions."
--config=MC3R1.R5.5,reports={safe,"all_area(decl(node(enum_decl||record_decl||field_decl||param_decl||var_decl)&&!type(canonical(address((node(function||function_no_proto))))))||macro(function_like()))"}
+-config=MC3A2.R5.5,reports={safe,"all_area(decl(node(enum_decl||record_decl||field_decl||param_decl||var_decl)&&!type(canonical(address((node(function||function_no_proto))))))||macro(function_like()))"}
 -doc_end
 
 -doc_begin="The use of these identifiers for both macro names and other entities
 is deliberate and does not generate developer confusion."
--config=MC3R1.R5.5,reports+={safe, "any_area(text(^\\s*/\\*\\s+SAF-[0-9]+-safe\\s+MC3R1\\.R5\\.5.*$, begin-1))"}
+-config=MC3A2.R5.5,reports+={safe, "any_area(text(^\\s*/\\*\\s+SAF-[0-9]+-safe\\s+MC3A2\\.R5\\.5.*$, begin-1))"}
 -doc_end
 
 -doc_begin="The definition of macros and functions ending in '_bit' that use the
 same identifier in 'bitops.h' is deliberate and safe."
 -file_tag+={bitops_h, "^xen/arch/x86/include/asm/bitops\\.h$"}
--config=MC3R1.R5.5,reports+={safe, "all_area((decl(^.*_bit\\(.*$)||macro(^.*_bit$))&&all_loc(file(bitops_h)))"}
+-config=MC3A2.R5.5,reports+={safe, "all_area((decl(^.*_bit\\(.*$)||macro(^.*_bit$))&&all_loc(file(bitops_h)))"}
 -doc_end
 
 -doc_begin="The definition of macros and functions beginning in 'str' or 'mem'
 that use the same identifier in 'xen/include/xen/string.h' is deliberate and
 safe."
 -file_tag+={string_h, "^xen/include/xen/string\\.h$"}
--config=MC3R1.R5.5,reports+={safe, "any_area((decl(^(mem|str).*$)||macro(^(mem|str).*$))&&all_loc(file(string_h)))"}
+-config=MC3A2.R5.5,reports+={safe, "any_area((decl(^(mem|str).*$)||macro(^(mem|str).*$))&&all_loc(file(string_h)))"}
 -doc_end
 
 #
@@ -135,7 +135,7 @@ safe."
 -doc_begin="Usage of the following constants is safe, since they are given as-is
 in the inflate algorithm specification and there is therefore no risk of them
 being interpreted as decimal constants."
--config=MC3R1.R7.1,literals={safe, "^0(007|37|070|213|236|300|321|330|331|332|333|334|335|337|371)$"}
+-config=MC3A2.R7.1,literals={safe, "^0(007|37|070|213|236|300|321|330|331|332|333|334|335|337|371)$"}
 -doc_end
 
 -doc_begin="Violations in files that maintainers have asked to not modify in the
@@ -148,22 +148,22 @@ context of R7.2."
 -file_tag+={adopted_r7_2,"^xen/arch/x86/cpu/intel\\.c$"}
 -file_tag+={adopted_r7_2,"^xen/arch/x86/cpu/amd\\.c$"}
 -file_tag+={adopted_r7_2,"^xen/arch/x86/cpu/common\\.c$"}
--config=MC3R1.R7.2,reports+={deliberate,"any_area(any_loc(file(adopted_r7_2)))"}
+-config=MC3A2.R7.2,reports+={deliberate,"any_area(any_loc(file(adopted_r7_2)))"}
 -doc_end
 
 -doc_begin="Violations caused by __HYPERVISOR_VIRT_START are related to the
 particular use of it done in xen_mk_ulong."
--config=MC3R1.R7.2,reports+={deliberate,"any_area(any_loc(macro(name(BUILD_BUG_ON))))"}
+-config=MC3A2.R7.2,reports+={deliberate,"any_area(any_loc(macro(name(BUILD_BUG_ON))))"}
 -doc_end
 
 -doc_begin="The following string literals are assigned to pointers to non
 const-qualified char."
--config=MC3R1.R7.4,reports+={safe, "any_area(text(^\\s*/\\*\\s+SAF-[0-9]+-safe\\s+MC3R1\\.R7\\.4.*$, begin-1))"}
+-config=MC3A2.R7.4,reports+={safe, "any_area(text(^\\s*/\\*\\s+SAF-[0-9]+-safe\\s+MC3A2\\.R7\\.4.*$, begin-1))"}
 -doc_end
 
 -doc_begin="Allow pointers of non-character type as long as the pointee is
 const-qualified."
--config=MC3R1.R7.4,same_pointee=false
+-config=MC3A2.R7.4,same_pointee=false
 -doc_end
 
 #
@@ -172,11 +172,11 @@ const-qualified."
 
 -doc_begin="The following file is imported from Linux: ignore for now."
 -file_tag+={adopted_r8_2,"^xen/common/inflate\\.c$"}
--config=MC3R1.R8.2,reports+={deliberate,"any_area(any_loc(file(adopted_r8_2)))"}
+-config=MC3A2.R8.2,reports+={deliberate,"any_area(any_loc(file(adopted_r8_2)))"}
 -doc_end
 
 -doc_begin="The type ret_t is deliberately used and defined as int or long depending on the architecture."
--config=MC3R1.R8.3,reports+={deliberate,"any_area(any_loc(text(^.*ret_t.*$)))"}
+-config=MC3A2.R8.3,reports+={deliberate,"any_area(any_loc(text(^.*ret_t.*$)))"}
 -doc_end
 
 -doc_begin="The following files are imported from Linux and decompress.h defines a unique and documented interface towards all the (adopted) decompress functions."
@@ -186,36 +186,36 @@ const-qualified."
 -file_tag+={adopted_decompress_r8_3,"^xen/common/unlzo\\.c$"}
 -file_tag+={adopted_decompress_r8_3,"^xen/common/unxz\\.c$"}
 -file_tag+={adopted_decompress_r8_3,"^xen/common/unzstd\\.c$"}
--config=MC3R1.R8.3,reports+={deliberate,"any_area(any_loc(file(adopted_decompress_r8_3)))&&any_area(any_loc(file(^xen/include/xen/decompress\\.h$)))"}
+-config=MC3A2.R8.3,reports+={deliberate,"any_area(any_loc(file(adopted_decompress_r8_3)))&&any_area(any_loc(file(^xen/include/xen/decompress\\.h$)))"}
 -doc_end
 
 -doc_begin="The following file is imported from Linux: ignore for now."
 -file_tag+={adopted_time_r8_3,"^xen/arch/x86/time\\.c$"}
--config=MC3R1.R8.3,reports+={deliberate,"any_area(any_loc(file(adopted_time_r8_3)))&&(any_area(any_loc(file(^xen/include/xen/time\\.h$)))||any_area(any_loc(file(^xen/arch/x86/include/asm/setup\\.h$))))"}
+-config=MC3A2.R8.3,reports+={deliberate,"any_area(any_loc(file(adopted_time_r8_3)))&&(any_area(any_loc(file(^xen/include/xen/time\\.h$)))||any_area(any_loc(file(^xen/arch/x86/include/asm/setup\\.h$))))"}
 -doc_end
 
 -doc_begin="The following file is imported from Linux: ignore for now."
 -file_tag+={adopted_cpu_idle_r8_3,"^xen/arch/x86/acpi/cpu_idle\\.c$"}
--config=MC3R1.R8.3,reports+={deliberate,"any_area(any_loc(file(adopted_cpu_idle_r8_3)))&&any_area(any_loc(file(^xen/include/xen/pmstat\\.h$)))"}
+-config=MC3A2.R8.3,reports+={deliberate,"any_area(any_loc(file(adopted_cpu_idle_r8_3)))&&any_area(any_loc(file(^xen/include/xen/pmstat\\.h$)))"}
 -doc_end
 
 -doc_begin="The following file is imported from Linux: ignore for now."
 -file_tag+={adopted_mpparse_r8_3,"^xen/arch/x86/mpparse\\.c$"}
--config=MC3R1.R8.3,reports+={deliberate,"any_area(any_loc(file(adopted_mpparse_r8_3)))&&any_area(any_loc(file(^xen/arch/x86/include/asm/mpspec\\.h$)))"}
+-config=MC3A2.R8.3,reports+={deliberate,"any_area(any_loc(file(adopted_mpparse_r8_3)))&&any_area(any_loc(file(^xen/arch/x86/include/asm/mpspec\\.h$)))"}
 -doc_end
 
 -doc_begin="The following variables are compiled in multiple translation units
 belonging to different executables and therefore are safe."
--config=MC3R1.R8.6,declarations+={safe, "name(current_stack_pointer||bsearch||sort)"}
+-config=MC3A2.R8.6,declarations+={safe, "name(current_stack_pointer||bsearch||sort)"}
 -doc_end
 
 -doc_begin="Declarations without definitions are allowed (specifically when the
 definition is compiled-out or optimized-out by the compiler)"
--config=MC3R1.R8.6,reports+={deliberate, "first_area(^.*has no definition$)"}
+-config=MC3A2.R8.6,reports+={deliberate, "first_area(^.*has no definition$)"}
 -doc_end
 
 -doc_begin="The gnu_inline attribute without static is deliberately allowed."
--config=MC3R1.R8.10,declarations+={deliberate,"property(gnu_inline)"}
+-config=MC3A2.R8.10,declarations+={deliberate,"property(gnu_inline)"}
 -doc_end
 
 #
@@ -225,18 +225,18 @@ definition is compiled-out or optimized-out by the compiler)"
 -doc_begin="The following variables are written before being set, therefore no
 access to uninitialized memory locations happens, as explained in the deviation
 comment."
--config=MC3R1.R9.1,reports+={safe, "any_area(text(^\\s*/\\*\\s+SAF-[0-9]+-safe\\s+MC3R1\\.R9\\.1.*$, begin-1))"}
+-config=MC3A2.R9.1,reports+={safe, "any_area(text(^\\s*/\\*\\s+SAF-[0-9]+-safe\\s+MC3A2\\.R9\\.1.*$, begin-1))"}
 -doc_end
 
 -doc_begin="Violations in files that maintainers have asked to not modify in the
 context of R9.1."
 -file_tag+={adopted_r9_1,"^xen/arch/arm/arm64/lib/find_next_bit\\.c$"}
--config=MC3R1.R9.1,reports+={deliberate,"any_area(any_loc(file(adopted_r9_1)))"}
+-config=MC3A2.R9.1,reports+={deliberate,"any_area(any_loc(file(adopted_r9_1)))"}
 -doc_end
 
 -doc_begin="The possibility of committing mistakes by specifying an explicit
 dimension is higher than omitting the dimension."
--config=MC3R1.R9.5,reports+={deliberate, "any()"}
+-config=MC3A2.R9.5,reports+={deliberate, "any()"}
 -doc_end
 
 ### Set 2 ###
@@ -246,32 +246,32 @@ dimension is higher than omitting the dimension."
 #
 
 -doc_begin="The value-preserving conversions of integer constants are safe"
--config=MC3R1.R10.1,etypes={safe,"any()","preserved_integer_constant()"}
--config=MC3R1.R10.3,etypes={safe,"any()","preserved_integer_constant()"}
--config=MC3R1.R10.4,etypes={safe,"any()","preserved_integer_constant()||sibling(rhs,preserved_integer_constant())"}
+-config=MC3A2.R10.1,etypes={safe,"any()","preserved_integer_constant()"}
+-config=MC3A2.R10.3,etypes={safe,"any()","preserved_integer_constant()"}
+-config=MC3A2.R10.4,etypes={safe,"any()","preserved_integer_constant()||sibling(rhs,preserved_integer_constant())"}
 -doc_end
 
 -doc_begin="Shifting non-negative integers to the right is safe."
--config=MC3R1.R10.1,etypes+={safe,
+-config=MC3A2.R10.1,etypes+={safe,
   "stmt(node(binary_operator)&&operator(shr))",
   "src_expr(definitely_in(0..))"}
 -doc_end
 
 -doc_begin="Shifting non-negative integers to the left is safe if the result is
 still non-negative."
--config=MC3R1.R10.1,etypes+={safe,
+-config=MC3A2.R10.1,etypes+={safe,
   "stmt(node(binary_operator)&&operator(shl)&&definitely_in(0..))",
   "src_expr(definitely_in(0..))"}
 -doc_end
 
 -doc_begin="Bitwise logical operations on non-negative integers are safe."
--config=MC3R1.R10.1,etypes+={safe,
+-config=MC3A2.R10.1,etypes+={safe,
   "stmt(node(binary_operator)&&operator(and||or||xor))",
   "src_expr(definitely_in(0..))"}
 -doc_end
 
 -doc_begin="The implicit conversion to Boolean for logical operator arguments is well known to all Xen developers to be a comparison with 0"
--config=MC3R1.R10.1,etypes+={safe, "stmt(operator(logical)||node(conditional_operator||binary_conditional_operator))", "dst_type(ebool||boolean)"}
+-config=MC3A2.R10.1,etypes+={safe, "stmt(operator(logical)||node(conditional_operator||binary_conditional_operator))", "dst_type(ebool||boolean)"}
 -doc_end
 
 ### Set 3 ###
@@ -281,15 +281,15 @@ still non-negative."
 #
 
 -doc_begin="FIXME: explain why pointer differences involving this macro are safe."
--config=MC3R1.R18.2,reports+={safe,"all_area(all_loc(any_exp(macro(^ACPI_PTR_DIFF$))))"}
+-config=MC3A2.R18.2,reports+={safe,"all_area(all_loc(any_exp(macro(^ACPI_PTR_DIFF$))))"}
 -doc_end
 
 -doc_begin="FIXME: explain why pointer differences involving this macro are safe."
--config=MC3R1.R18.2,reports+={safe,"all_area(all_loc(any_exp(macro(^page_to_mfn$))))"}
+-config=MC3A2.R18.2,reports+={safe,"all_area(all_loc(any_exp(macro(^page_to_mfn$))))"}
 -doc_end
 
 -doc_begin="FIXME: explain why pointer differences involving this macro are safe."
--config=MC3R1.R18.2,reports+={safe,"all_area(all_loc(any_exp(macro(^page_to_pdx$))))"}
+-config=MC3A2.R18.2,reports+={safe,"all_area(all_loc(any_exp(macro(^page_to_pdx$))))"}
 -doc_end
 
 #
@@ -299,7 +299,7 @@ still non-negative."
 -doc_begin="Code violating Rule 20.7 is safe when macro parameters are used: (1)
 as function arguments; (2) as macro arguments; (3) as array indices; (4) as lhs
 in assignments."
--config=MC3R1.R20.7,expansion_context=
+-config=MC3A2.R20.7,expansion_context=
 {safe, "context(__call_expr_arg_contexts)"},
 {safe, "context(skip_to(__expr_non_syntactic_contexts, stmt_child(node(array_subscript_expr), subscript)))"},
 {safe, "context(skip_to(__expr_non_syntactic_contexts, stmt_child(operator(assign), lhs)))"},
@@ -317,7 +317,7 @@ in assignments."
 programmers:no developers' confusion is not possible. In addition, adopted code
 is assumed to work as is. Reports that are fully contained in adopted code are
 hidden/tagged with the 'adopted' tag."
--service_selector={developer_confusion_guidelines,"^(MC3R1\\.R2\\.1|MC3R1\\.R2\\.2|MC3R1\\.R2\\.3|MC3R1\\.R2\\.4|MC3R1\\.R2\\.5|MC3R1\\.R2\\.6|MC3R1\\.R2\\.7|MC3R1\\.R4\\.1|MC3R1\\.R5\\.3|MC3R1\\.R5\\.6|MC3R1\\.R5\\.7|MC3R1\\.R5\\.8|MC3R1\\.R5\\.9|MC3R1\\.R7\\.1|MC3R1\\.R7\\.2|MC3R1\\.R7\\.3|MC3R1\\.R8\\.7|MC3R1\\.R8\\.8|MC3R1\\.R8\\.9|MC3R1\\.R8\\.11|MC3R1\\.R8\\.12|MC3R1\\.R8\\.13|MC3R1\\.R9\\.3|MC3R1\\.R9\\.4|MC3R1\\.R9\\.5|MC3R1\\.R10\\.2|MC3R1\\.R10\\.5|MC3R1\\.R10\\.6|MC3R1\\.R10\\.7|MC3R1\\.R10\\.8|MC3R1\\.R11\\.9|MC3R1\\.R12\\.1|MC3R1\\.R12\\.3|MC3R1\\.R12\\.4|MC3R1\\.R13\\.5|MC3R1\\.R14\\.1|MC3R1\\.R14\\.2|MC3R1\\.R14\\.3|MC3R1\\.R15\\.1|MC3R1\\.R15\\.2|MC3R1\\.R15\\.3|MC3R1\\.R15\\.4|MC3R1\\.R15\\.5|MC3R1\\.R15\\.6|MC3R1\\.R15\\.7|MC3R1\\.R16\\.1|MC3R1\\.R16\\.2|MC3R1\\.R16\\.3|MC3R1\\.R16\\.4|MC3R1\\.R16\\.5|MC3R1\\.R16\\.6|MC3R1\\.R16\\.7|MC3R1\\.R17\\.7|MC3R1\\.R17\\.8|MC3R1\\.R18\\.4|MC3R1\\.R18\\.5)$"
+-service_selector={developer_confusion_guidelines,"^(MC3A2\\.R2\\.1|MC3A2\\.R2\\.2|MC3A2\\.R2\\.3|MC3A2\\.R2\\.4|MC3A2\\.R2\\.5|MC3A2\\.R2\\.6|MC3A2\\.R2\\.7|MC3A2\\.R4\\.1|MC3A2\\.R5\\.3|MC3A2\\.R5\\.6|MC3A2\\.R5\\.7|MC3A2\\.R5\\.8|MC3A2\\.R5\\.9|MC3A2\\.R7\\.1|MC3A2\\.R7\\.2|MC3A2\\.R7\\.3|MC3A2\\.R8\\.7|MC3A2\\.R8\\.8|MC3A2\\.R8\\.9|MC3A2\\.R8\\.11|MC3A2\\.R8\\.12|MC3A2\\.R8\\.13|MC3A2\\.R9\\.3|MC3A2\\.R9\\.4|MC3A2\\.R9\\.5|MC3A2\\.R10\\.2|MC3A2\\.R10\\.5|MC3A2\\.R10\\.6|MC3A2\\.R10\\.7|MC3A2\\.R10\\.8|MC3A2\\.R11\\.9|MC3A2\\.R12\\.1|MC3A2\\.R12\\.3|MC3A2\\.R12\\.4|MC3A2\\.R13\\.5|MC3A2\\.R14\\.1|MC3A2\\.R14\\.2|MC3A2\\.R14\\.3|MC3A2\\.R15\\.1|MC3A2\\.R15\\.2|MC3A2\\.R15\\.3|MC3A2\\.R15\\.4|MC3A2\\.R15\\.5|MC3A2\\.R15\\.6|MC3A2\\.R15\\.7|MC3A2\\.R16\\.1|MC3A2\\.R16\\.2|MC3A2\\.R16\\.3|MC3A2\\.R16\\.4|MC3A2\\.R16\\.5|MC3A2\\.R16\\.6|MC3A2\\.R16\\.7|MC3A2\\.R17\\.7|MC3A2\\.R17\\.8|MC3A2\\.R18\\.4|MC3A2\\.R18\\.5)$"
 }
 -config=developer_confusion_guidelines,reports+={relied,adopted_report}
 -doc_end
index 3f589fd716319c104e53a7efb5e5704482db40ad..a851127b72e7c437526892c3a11ee7a5f2dd8730 100644 (file)
@@ -18,7 +18,7 @@
 #######################
 
 -doc="Accepted guidelines as reported in XEN/docs/misra/rules.rst"
--service_selector={accepted_guidelines,"^(MC3R1\\.D1\\.1|MC3R1\\.D2\\.1|MC3R1\\.D4\\.3|MC3R1\\.D4\\.7|MC3R1\\.D4\\.10|MC3R1\\.D4\\.11|MC3R1\\.D4\\.14|MC3R1\\.R1\\.1|MC3R1\\.R1\\.3|MC3R1\\.R1\\.4|MC3R1\\.R2\\.1|MC3R1\\.R2\\.6|MC3R1\\.R2\\.2|MC3R1\\.R3\\.1|MC3R1\\.R3\\.2|MC3R1\\.R4\\.1|MC3R1\\.R4\\.2|MC3R1\\.R5\\.1|MC3R1\\.R5\\.2|MC3R1\\.R5\\.3|MC3R1\\.R5\\.4|MC3R1\\.R5\\.6|MC3R1\\.R6\\.1|MC3R1\\.R6\\.2|MC3R1\\.R7\\.1|MC3R1\\.R7\\.2|MC3R1\\.R7\\.3|MC3R1\\.R7\\.4|MC3R1\\.R8\\.1|MC3R1\\.R8\\.2|MC3R1\\.R8\\.3|MC3R1\\.R8\\.4|MC3R1\\.R8\\.5|MC3R1\\.R8\\.6|MC3R1\\.R8\\.8|MC3R1\\.R8\\.10|MC3R1\\.R8\\.12|MC3R1\\.R8\\.14|MC3R1\\.R9\\.1|MC3R1\\.R9\\.2|MC3R1\\.R9\\.3|MC3R1\\.R9\\.4|MC3R1\\.R9\\.5|MC3R1\\.R12\\.5|MC3R1\\.R13\\.6|MC3R1\\.R13\\.1|MC3R1\\.R14\\.1|MC3R1\\.R16\\.7|MC3R1\\.R17\\.3|MC3R1\\.R17\\.4|MC3R1\\.R17\\.6|MC3R1\\.R18\\.3|MC3R1\\.R19\\.1|MC3R1\\.R20\\.7|MC3R1\\.R20\\.13|MC3R1\\.R20\\.14|MC3R1\\.R21\\.13|MC3R1\\.R21\\.17|MC3R1\\.R21\\.18|MC3R1\\.R21\\.19|MC3R1\\.R21\\.20|MC3R1\\.R21\\.21|MC3R1\\.R22\\.2|MC3R1\\.R22\\.4|MC3R1\\.R22\\.5|MC3R1\\.R22\\.6)$"
+-service_selector={accepted_guidelines,"^(MC3A2\\.D1\\.1|MC3A2\\.D2\\.1|MC3A2\\.D4\\.3|MC3A2\\.D4\\.7|MC3A2\\.D4\\.10|MC3A2\\.D4\\.11|MC3A2\\.D4\\.14|MC3A2\\.R1\\.1|MC3A2\\.R1\\.3|MC3A2\\.R1\\.4|MC3A2\\.R2\\.1|MC3A2\\.R2\\.6|MC3A2\\.R2\\.2|MC3A2\\.R3\\.1|MC3A2\\.R3\\.2|MC3A2\\.R4\\.1|MC3A2\\.R4\\.2|MC3A2\\.R5\\.1|MC3A2\\.R5\\.2|MC3A2\\.R5\\.3|MC3A2\\.R5\\.4|MC3A2\\.R5\\.6|MC3A2\\.R6\\.1|MC3A2\\.R6\\.2|MC3A2\\.R7\\.1|MC3A2\\.R7\\.2|MC3A2\\.R7\\.3|MC3A2\\.R7\\.4|MC3A2\\.R8\\.1|MC3A2\\.R8\\.2|MC3A2\\.R8\\.3|MC3A2\\.R8\\.4|MC3A2\\.R8\\.5|MC3A2\\.R8\\.6|MC3A2\\.R8\\.8|MC3A2\\.R8\\.10|MC3A2\\.R8\\.12|MC3A2\\.R8\\.14|MC3A2\\.R9\\.1|MC3A2\\.R9\\.2|MC3A2\\.R9\\.3|MC3A2\\.R9\\.4|MC3A2\\.R9\\.5|MC3A2\\.R12\\.5|MC3A2\\.R13\\.6|MC3A2\\.R13\\.1|MC3A2\\.R14\\.1|MC3A2\\.R16\\.7|MC3A2\\.R17\\.3|MC3A2\\.R17\\.4|MC3A2\\.R17\\.6|MC3A2\\.R18\\.3|MC3A2\\.R19\\.1|MC3A2\\.R20\\.7|MC3A2\\.R20\\.13|MC3A2\\.R20\\.14|MC3A2\\.R21\\.13|MC3A2\\.R21\\.17|MC3A2\\.R21\\.18|MC3A2\\.R21\\.19|MC3A2\\.R21\\.20|MC3A2\\.R21\\.21|MC3A2\\.R22\\.2|MC3A2\\.R22\\.4|MC3A2\\.R22\\.5|MC3A2\\.R22\\.6)$"
 }
 -doc="All reports of accepted guidelines are tagged as accepted."
 -reports+={status:accepted,"service(accepted_guidelines)"}
 
 -doc_begin="Clean guidelines: new violations for these guidelines are not accepted."
 
--service_selector={clean_guidelines_common,"^(MC3R1\\.D1\\.1|MC3R1\\.D2\\.1|MC3R1\\.D4\\.11|MC3R1\\.D4\\.14|MC3R1\\.R1\\.1|MC3R1\\.R1\\.3|MC3R1\\.R1\\.4|MC3R1\\.R2\\.2|MC3R1\\.R3\\.1|MC3R1\\.R3\\.2|MC3R1\\.R4\\.1|MC3R1\\.R5\\.1|MC3R1\\.R5\\.2|MC3R1\\.R5\\.4|MC3R1\\.R6\\.1|MC3R1\\.R6\\.2|MC3R1\\.R7\\.1|MC3R1\\.R8\\.1|MC3R1\\.R8\\.5|MC3R1\\.R8\\.8|MC3R1\\.R8\\.10|MC3R1\\.R8\\.12|MC3R1\\.R8\\.14|MC3R1\\.R9\\.2|MC3R1\\.R9\\.4|MC3R1\\.R9\\.5|MC3R1\\.R12\\.5|MC3R1\\.R17\\.3|MC3R1\\.R17\\.4|MC3R1\\.R17\\.6|MC3R1\\.R21\\.13|MC3R1\\.R21\\.19|MC3R1\\.R21\\.21|MC3R1\\.R22\\.2|MC3R1\\.R22\\.4|MC3R1\\.R22\\.5|MC3R1\\.R22\\.6)$"
+-service_selector={clean_guidelines_common,"^(MC3A2\\.D1\\.1|MC3A2\\.D2\\.1|MC3A2\\.D4\\.11|MC3A2\\.D4\\.14|MC3A2\\.R1\\.1|MC3A2\\.R1\\.3|MC3A2\\.R1\\.4|MC3A2\\.R2\\.2|MC3A2\\.R3\\.1|MC3A2\\.R3\\.2|MC3A2\\.R4\\.1|MC3A2\\.R5\\.1|MC3A2\\.R5\\.2|MC3A2\\.R5\\.4|MC3A2\\.R6\\.1|MC3A2\\.R6\\.2|MC3A2\\.R7\\.1|MC3A2\\.R8\\.1|MC3A2\\.R8\\.5|MC3A2\\.R8\\.8|MC3A2\\.R8\\.10|MC3A2\\.R8\\.12|MC3A2\\.R8\\.14|MC3A2\\.R9\\.2|MC3A2\\.R9\\.4|MC3A2\\.R9\\.5|MC3A2\\.R12\\.5|MC3A2\\.R17\\.3|MC3A2\\.R17\\.4|MC3A2\\.R17\\.6|MC3A2\\.R21\\.13|MC3A2\\.R21\\.19|MC3A2\\.R21\\.21|MC3A2\\.R22\\.2|MC3A2\\.R22\\.4|MC3A2\\.R22\\.5|MC3A2\\.R22\\.6)$"
 }
 
 -setq=target,getenv("XEN_TARGET_ARCH")
 
 if(string_equal(target,"x86_64"),
-    service_selector({"additional_clean_guidelines","^(MC3R1\\.D4\\.3)$"})
+    service_selector({"additional_clean_guidelines","^(MC3A2\\.D4\\.3)$"})
 )
 
 if(string_equal(target,"arm64"),
-    service_selector({"additional_clean_guidelines","^(MC3R1\\.R5\\.3|MC3R1\\.R7\\.2|MC3R1\\.R8\\.6|MC3R1\\.R9\\.3)$"})
+    service_selector({"additional_clean_guidelines","^(MC3A2\\.R5\\.3|MC3A2\\.R7\\.2|MC3A2\\.R8\\.6|MC3A2\\.R9\\.3)$"})
 )
 
 -reports+={clean:added,"service(clean_guidelines_common||additional_clean_guidelines)"}
index 0d02a8e6f9058b023565bb37a3a669f45c2c4113..5b71d4e21e74bbe4d52925f5e1bac876a2085871 100644 (file)
@@ -53,7 +53,7 @@ Here is an example to add a new justification in safe.json::
 |            "analyser": {
 |                "cppcheck": "misra-c2012-20.7",
 |                "coverity": "misra_c_2012_rule_20_7_violation",
-|                "eclair": "MC3R1.R20.7"
+|                "eclair": "MC3A2.R20.7"
 |            },
 |            "name": "R20.7 C macro parameters not used as expression",
 |            "text": "The macro parameters used in this [...]"
@@ -138,7 +138,7 @@ for the Rule 8.6:
 
 Eclair reports it in its web report, file xen/include/xen/kernel.h, line 68:
 
-| MC3R1.R8.6 for program 'xen/xen-syms', variable '_start' has no definition
+| MC3A2.R8.6 for program 'xen/xen-syms', variable '_start' has no definition
 
 Also coverity reports it, here is an extract of the finding:
 
@@ -165,7 +165,7 @@ We will prepare our entry in the safe.json database::
 |        {
 |            "id": "SAF-1-safe",
 |            "analyser": {
-|                "eclair": "MC3R1.R8.6",
+|                "eclair": "MC3A2.R8.6",
 |                "coverity": "misra_c_2012_rule_8_6_violation"
 |            },
 |            "name": "Rule 8.6: linker script defined symbols",
index 39c5c056c7d4c8fd95d3ade6f2796db81001e322..773cfe26e410440fb6acb1f826fd9d77ed85ed9b 100644 (file)
@@ -4,7 +4,7 @@
         {
             "id": "SAF-0-safe",
             "analyser": {
-                "eclair": "MC3R1.R8.6",
+                "eclair": "MC3A2.R8.6",
                 "coverity": "misra_c_2012_rule_8_6_violation"
             },
             "name": "Rule 8.6: linker script defined symbols",
@@ -13,7 +13,7 @@
         {
             "id": "SAF-1-safe",
             "analyser": {
-                "eclair": "MC3R1.R8.4"
+                "eclair": "MC3A2.R8.4"
             },
             "name": "Rule 8.4: asm-only definition",
             "text": "Functions and variables used only by asm modules do not need to have a visible declaration prior to their definition."