From patchwork Mon Jul 1 11:10:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alessandro Zucchelli X-Patchwork-Id: 13717907 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A8F4EC2BD09 for ; Mon, 1 Jul 2024 11:11:22 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.751472.1159447 (Exim 4.92) (envelope-from ) id 1sOEwB-0002Yd-8X; Mon, 01 Jul 2024 11:11:11 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 751472.1159447; Mon, 01 Jul 2024 11:11:11 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOEwB-0002YW-5l; Mon, 01 Jul 2024 11:11:11 +0000 Received: by outflank-mailman (input) for mailman id 751472; Mon, 01 Jul 2024 11:11:10 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOEwA-0002K1-E4 for xen-devel@lists.xenproject.org; Mon, 01 Jul 2024 11:11:10 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 9e1091ed-379a-11ef-b4bb-af5377834399; Mon, 01 Jul 2024 13:11:08 +0200 (CEST) Received: from delta.bugseng.com.homenet.telecomitalia.it (host-79-60-221-62.business.telecomitalia.it [79.60.221.62]) by support.bugseng.com (Postfix) with ESMTPSA id D8DF14EE0749; Mon, 1 Jul 2024 13:11:05 +0200 (CEST) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 9e1091ed-379a-11ef-b4bb-af5377834399 From: Alessandro Zucchelli To: xen-devel@lists.xenproject.org Cc: consulting@bugseng.com, Simone Ballarin , Andrew Cooper , Jan Beulich , Julien Grall , Stefano Stabellini , =?utf-8?q?Roger_Pau_Monn=C3=A9?= , Nicola Vetrini , Alessandro Zucchelli Subject: [PATCH 01/17] misra: add deviation for headers that explicitly avoid guards Date: Mon, 1 Jul 2024 13:10:19 +0200 Message-Id: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 From: Simone Ballarin Some headers, under specific circumstances (documented in a comment at the beginning of the file), explicitly avoid inclusion guards: the caller is responsible for including them correctly. These files are not supposed to comply with Directive 4.10: "Precautions shall be taken in order to prevent the contents of a header file being included more than once" This patch adds deviation cooments for headers that avoid guards. Signed-off-by: Simone Ballarin Signed-off-by: Nicola Vetrini Signed-off-by: Alessandro Zucchelli --- Changes in v4: - rebased against current staging tree Changes in v3: - fix inconsistent deviation ID - change comment-based deviation text Changes in v2: - use the format introduced with doc/misra/safe.json instead of a generic text-based deviation --- docs/misra/safe.json | 8 ++++++++ xen/include/public/arch-x86/cpufeatureset.h | 1 + xen/include/public/errno.h | 1 + 3 files changed, 10 insertions(+) diff --git a/docs/misra/safe.json b/docs/misra/safe.json index 3f18ef401c..b865caac73 100644 --- a/docs/misra/safe.json +++ b/docs/misra/safe.json @@ -68,6 +68,14 @@ }, { "id": "SAF-8-safe", + "analyser": { + "eclair": "MC3R1.D4.10" + }, + "name": "Dir 4.10: headers that leave it up to the caller to include them correctly", + "text": "Headers that deliberatively avoid inclusion guards explicitly leaving responsibility to the caller are allowed." + }, + { + "id": "SAF-9-safe", "analyser": {}, "name": "Sentinel", "text": "Next ID to be used" diff --git a/xen/include/public/arch-x86/cpufeatureset.h b/xen/include/public/arch-x86/cpufeatureset.h index d9eba5e9a7..0d2adfdc3a 100644 --- a/xen/include/public/arch-x86/cpufeatureset.h +++ b/xen/include/public/arch-x86/cpufeatureset.h @@ -23,6 +23,7 @@ * their XEN_CPUFEATURE() being appropriate in the included context. */ +/* SAF-8-safe omitted inclusion guard */ #ifndef XEN_CPUFEATURE /* diff --git a/xen/include/public/errno.h b/xen/include/public/errno.h index 5a78a7607c..ccd5023c3a 100644 --- a/xen/include/public/errno.h +++ b/xen/include/public/errno.h @@ -17,6 +17,7 @@ * will unilaterally #undef XEN_ERRNO(). */ +/* SAF-8-safe omitted inclusion guard */ #ifndef XEN_ERRNO /* From patchwork Mon Jul 1 11:10:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alessandro Zucchelli X-Patchwork-Id: 13717908 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 59758C30653 for ; Mon, 1 Jul 2024 11:11:24 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.751473.1159457 (Exim 4.92) (envelope-from ) id 1sOEwF-0002pw-Ja; Mon, 01 Jul 2024 11:11:15 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 751473.1159457; Mon, 01 Jul 2024 11:11:15 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOEwF-0002po-FT; Mon, 01 Jul 2024 11:11:15 +0000 Received: by outflank-mailman (input) for mailman id 751473; Mon, 01 Jul 2024 11:11:14 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOEwE-0002K1-84 for xen-devel@lists.xenproject.org; Mon, 01 Jul 2024 11:11:14 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id a043f2b6-379a-11ef-b4bb-af5377834399; Mon, 01 Jul 2024 13:11:12 +0200 (CEST) Received: from delta.bugseng.com.homenet.telecomitalia.it (host-79-60-221-62.business.telecomitalia.it [79.60.221.62]) by support.bugseng.com (Postfix) with ESMTPSA id 792724EE0747; Mon, 1 Jul 2024 13:11:09 +0200 (CEST) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: a043f2b6-379a-11ef-b4bb-af5377834399 From: Alessandro Zucchelli To: xen-devel@lists.xenproject.org Cc: consulting@bugseng.com, Simone Ballarin , Doug Goldstein , Stefano Stabellini , Andrew Cooper , Jan Beulich , Julien Grall , Bertrand Marquis , Michal Orzel , Volodymyr Babchuk , Nicola Vetrini , Alessandro Zucchelli Subject: [PATCH 02/17] misra: modify deviations for empty and generated headers Date: Mon, 1 Jul 2024 13:10:20 +0200 Message-Id: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 From: Simone Ballarin This patch modifies deviations for Directive 4.10: "Precautions shall be taken in order to prevent the contents of a header file being included more than once" This patch avoids the file-based deviation for empty headers, and replaces it with a comment-based one using the format specified in docs/misra/safe.json. Generated headers are not generally safe against multi-inclusions, whether a header is safe depends on the nature of the generated code in the header. For that reason, this patch drops the deviation for generated headers. Signed-off-by: Simone Ballarin Reviewed-by: Stefano Stabellini Signed-off-by: Nicola Vetrini Signed-off-by: Alessandro Zucchelli --- Changes in v4: - rebased against current staging tree Changes in v2: - use the format introduced with doc/misra/safe.json instead of a file-based deviation for empty headers - remove deviation for generated headers The reason of moving the comment-based deviation in "runtime.h" is that it should appear immediatly before the violation and, for files with no tokens, the location is the the last line of the file. --- automation/eclair_analysis/ECLAIR/deviations.ecl | 7 ------- docs/misra/safe.json | 8 ++++++++ xen/arch/arm/efi/runtime.h | 1 + xen/include/Makefile | 2 +- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl index 0af1cb93d1..1c39a9a16d 100644 --- a/automation/eclair_analysis/ECLAIR/deviations.ecl +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl @@ -72,13 +72,6 @@ they are not instances of commented-out code." -config=MC3R1.D4.3,reports+={deliberate, "any_area(any_loc(file(arm64_bitops))&&context(name(int_clear_mask16)))"} -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)))"} --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))"} diff --git a/docs/misra/safe.json b/docs/misra/safe.json index b865caac73..282013aa4e 100644 --- a/docs/misra/safe.json +++ b/docs/misra/safe.json @@ -76,6 +76,14 @@ }, { "id": "SAF-9-safe", + "analyser": { + "eclair": "MC3R1.D4.10" + }, + "name": "Dir 4.10: empty headers", + "text": "Empty headers pose no risk if included more than once." + }, + { + "id": "SAF-10-safe", "analyser": {}, "name": "Sentinel", "text": "Next ID to be used" diff --git a/xen/arch/arm/efi/runtime.h b/xen/arch/arm/efi/runtime.h index 25afcebed1..4d2d40bf3c 100644 --- a/xen/arch/arm/efi/runtime.h +++ b/xen/arch/arm/efi/runtime.h @@ -1 +1,2 @@ /* Placeholder for ARM-specific runtime include/declarations */ +/* SAF-9-safe empty header */ diff --git a/xen/include/Makefile b/xen/include/Makefile index 2e61b50139..058b0a566b 100644 --- a/xen/include/Makefile +++ b/xen/include/Makefile @@ -53,7 +53,7 @@ cmd_compat_h = \ mv -f $@.new $@ quiet_cmd_stub_h = GEN $@ -cmd_stub_h = echo '/* empty */' >$@ +cmd_stub_h = echo '/* SAF-9-safe empty header */' >$@ quiet_cmd_compat_i = CPP $@ cmd_compat_i = $(CPP) $(filter-out -Wa$(comma)% -include %/include/xen/config.h,$(XEN_CFLAGS)) $(cppflags-y) -o $@ $< From patchwork Mon Jul 1 11:10:21 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alessandro Zucchelli X-Patchwork-Id: 13717910 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D796BC2BD09 for ; Mon, 1 Jul 2024 11:11:26 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.751476.1159468 (Exim 4.92) (envelope-from ) id 1sOEwJ-00038Y-RU; Mon, 01 Jul 2024 11:11:19 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 751476.1159468; Mon, 01 Jul 2024 11:11:19 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOEwJ-00038R-Mu; Mon, 01 Jul 2024 11:11:19 +0000 Received: by outflank-mailman (input) for mailman id 751476; Mon, 01 Jul 2024 11:11:18 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOEwI-0002K1-CX for xen-devel@lists.xenproject.org; Mon, 01 Jul 2024 11:11:18 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id a2d06428-379a-11ef-b4bb-af5377834399; Mon, 01 Jul 2024 13:11:16 +0200 (CEST) Received: from delta.bugseng.com.homenet.telecomitalia.it (host-79-60-221-62.business.telecomitalia.it [79.60.221.62]) by support.bugseng.com (Postfix) with ESMTPSA id 2BCA94EE0746; Mon, 1 Jul 2024 13:11:12 +0200 (CEST) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: a2d06428-379a-11ef-b4bb-af5377834399 From: Alessandro Zucchelli To: xen-devel@lists.xenproject.org Cc: consulting@bugseng.com, Simone Ballarin , Andrew Cooper , Jan Beulich , Julien Grall , Stefano Stabellini , Bertrand Marquis , Michal Orzel , Volodymyr Babchuk , =?utf-8?q?Roger_Pau_Monn?= =?utf-8?q?=C3=A9?= , Nicola Vetrini , Alessandro Zucchelli Subject: [PATCH 03/17] misra: add deviations for direct inclusion guards Date: Mon, 1 Jul 2024 13:10:21 +0200 Message-Id: <64e80abfaa68d87e8cb4fee67bc2624eda4f466a.1719829101.git.alessandro.zucchelli@bugseng.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 From: Simone Ballarin Add deviation comments to address violations of MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order to prevent the contents of a header file being included more than once"). Inclusion guards must appear at the beginning of the headers (comments are permitted anywhere). This patch adds deviation comments using the format specified in docs/misra/safe.json for headers with just the direct inclusion guard before the inclusion guard since they are safe and not supposed to comply with the directive. Note that with SAF-9-safe in place, failures to have proper guards later in the header files will not be reported Signed-off-by: Simone Ballarin Signed-off-by: Nicola Vetrini Signed-off-by: Alessandro Zucchelli --- Changes in v4: - Added comment clarifying that no further checks will be performed on a file that has a SAF-9-safe deviation against missing inclusion guards. - rebased against the current staging tree Changes in v3: - fix inconsistent deviation ID The patch has been introduced in v2. --- docs/misra/safe.json | 8 ++++++++ xen/arch/arm/include/asm/hypercall.h | 1 + xen/arch/x86/include/asm/hypercall.h | 1 + 3 files changed, 10 insertions(+) diff --git a/docs/misra/safe.json b/docs/misra/safe.json index 282013aa4e..3e9ebff8fe 100644 --- a/docs/misra/safe.json +++ b/docs/misra/safe.json @@ -84,6 +84,14 @@ }, { "id": "SAF-10-safe", + "analyser": { + "eclair": "MC3R1.D4.10" + }, + "name": "Dir 4.10: direct inclusion guard before", + "text": "Headers with just the direct inclusion guard before the inclusion guard are safe." + }, + { + "id": "SAF-11-safe", "analyser": {}, "name": "Sentinel", "text": "Next ID to be used" diff --git a/xen/arch/arm/include/asm/hypercall.h b/xen/arch/arm/include/asm/hypercall.h index ccd26c5184..07e231f8b5 100644 --- a/xen/arch/arm/include/asm/hypercall.h +++ b/xen/arch/arm/include/asm/hypercall.h @@ -1,3 +1,4 @@ +/* SAF-10-safe direct inclusion guard before */ #ifndef __XEN_HYPERCALL_H__ #error "asm/hypercall.h should not be included directly - include xen/hypercall.h instead" #endif diff --git a/xen/arch/x86/include/asm/hypercall.h b/xen/arch/x86/include/asm/hypercall.h index ec2edc771e..389fa62af2 100644 --- a/xen/arch/x86/include/asm/hypercall.h +++ b/xen/arch/x86/include/asm/hypercall.h @@ -2,6 +2,7 @@ * asm-x86/hypercall.h */ +/* SAF-10-safe direct inclusion guard before */ #ifndef __XEN_HYPERCALL_H__ #error "asm/hypercall.h should not be included directly - include xen/hypercall.h instead" #endif From patchwork Mon Jul 1 13:35:59 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alessandro Zucchelli X-Patchwork-Id: 13718107 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B6C53C30659 for ; Mon, 1 Jul 2024 13:36:43 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.751592.1159580 (Exim 4.92) (envelope-from ) id 1sOHCq-0001bZ-UZ; Mon, 01 Jul 2024 13:36:32 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 751592.1159580; Mon, 01 Jul 2024 13:36:32 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHCq-0001bS-S3; Mon, 01 Jul 2024 13:36:32 +0000 Received: by outflank-mailman (input) for mailman id 751592; Mon, 01 Jul 2024 13:36:31 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHCp-0001bF-SC for xen-devel@lists.xenproject.org; Mon, 01 Jul 2024 13:36:31 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id ec461882-37ae-11ef-b4bb-af5377834399; Mon, 01 Jul 2024 15:36:30 +0200 (CEST) Received: from delta.bugseng.com.homenet.telecomitalia.it (host-79-60-221-62.business.telecomitalia.it [79.60.221.62]) by support.bugseng.com (Postfix) with ESMTPSA id ECA6B4EE0738; Mon, 1 Jul 2024 15:36:26 +0200 (CEST) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: ec461882-37ae-11ef-b4bb-af5377834399 From: Alessandro Zucchelli To: xen-devel@lists.xenproject.org Cc: nicola.vetrini@bugseng.com, consulting@bugseng.com, Simone Ballarin , Stefano Stabellini , Julien Grall , Bertrand Marquis , Michal Orzel , Volodymyr Babchuk , Alessandro Zucchelli Subject: [PATCH 04/17] xen/arm: address violations of MISRA C:2012 Directive 4.10 Date: Mon, 1 Jul 2024 15:35:59 +0200 Message-Id: <5646033a5e15c44fa6eb441690f36254d068ddee.1719829101.git.alessandro.zucchelli@bugseng.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 From: Simone Ballarin Add inclusion guard to address violations of MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order to prevent the contents of a header file being included more than once"). Mechanical change. Signed-off-by: Simone Ballarin Signed-off-by: Maria Celeste Cesario Signed-off-by: Nicola Vetrini Signed-off-by: Alessandro Zucchelli --- Changes in v4: - Drop ARCH_ string from the guard, according to the feedback received Changes in v3: - remove trailing underscores - change inclusion guard name to adhere to the new standard Changes in v2: - drop changes in xen/arch/arm/include/asm/hypercall.h - drop changes in xen/arch/arm/include/asm/iocap.h since they are not related with the directive --- xen/arch/arm/efi/efi-boot.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h index 199f526022..947166905f 100644 --- a/xen/arch/arm/efi/efi-boot.h +++ b/xen/arch/arm/efi/efi-boot.h @@ -3,6 +3,10 @@ * is intended to be included by common/efi/boot.c _only_, and * therefore can define arch specific global variables. */ + +#ifndef ARM_EFI_EFI_BOOT_H +#define ARM_EFI_EFI_BOOT_H + #include #include #include @@ -992,6 +996,8 @@ static void __init efi_arch_flush_dcache_area(const void *vaddr, UINTN size) __flush_dcache_area(vaddr, size); } +#endif /* ARM_EFI_EFI_BOOT_H */ + /* * Local variables: * mode: C From patchwork Mon Jul 1 13:36:00 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alessandro Zucchelli X-Patchwork-Id: 13718108 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 251AFC2BD09 for ; Mon, 1 Jul 2024 13:36:45 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.751593.1159590 (Exim 4.92) (envelope-from ) id 1sOHCs-0001po-59; Mon, 01 Jul 2024 13:36:34 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 751593.1159590; Mon, 01 Jul 2024 13:36:34 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHCs-0001ph-2H; Mon, 01 Jul 2024 13:36:34 +0000 Received: by outflank-mailman (input) for mailman id 751593; Mon, 01 Jul 2024 13:36:33 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHCr-0001b4-Dn for xen-devel@lists.xenproject.org; Mon, 01 Jul 2024 13:36:33 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id ede646af-37ae-11ef-90a5-e314d9c70b13; Mon, 01 Jul 2024 15:36:32 +0200 (CEST) Received: from delta.bugseng.com.homenet.telecomitalia.it (host-79-60-221-62.business.telecomitalia.it [79.60.221.62]) by support.bugseng.com (Postfix) with ESMTPSA id DF3A54EE0747; Mon, 1 Jul 2024 15:36:29 +0200 (CEST) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: ede646af-37ae-11ef-90a5-e314d9c70b13 From: Alessandro Zucchelli To: xen-devel@lists.xenproject.org Cc: nicola.vetrini@bugseng.com, consulting@bugseng.com, Simone Ballarin , Jan Beulich , Andrew Cooper , =?utf-8?q?Roger_Pau_Monn=C3=A9?= , Alessandro Zucchelli Subject: [PATCH 05/17] xen/x86: address violations of MISRA C:2012 Directive 4.10 Date: Mon, 1 Jul 2024 15:36:00 +0200 Message-Id: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 From: Simone Ballarin Add or move inclusion guards to address violations of MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order to prevent the contents of a header file being included more than once"). Inclusion guards must appear at the beginning of the headers (comments are permitted anywhere). Note that in x86_64/mmconfig.h we slightly deviate from the naming convention in place: instead of having the inclusion guard as X86_X86_64_MMCONFIG_H we shortened the directory prefix as X86_64 for the sake of readability. Mechanical change. Signed-off-by: Simone Ballarin Signed-off-by: Maria Celeste Cesario Signed-off-by: Nicola Vetrini Signed-off-by: Alessandro Zucchelli --- Changes in v4: - modified inclusion guards and makefile. Changes in v3: - remove trailing underscores - change inclusion guard name to adhere to the new standard Changes in v2: - remove extra blanks - drop changes in C files Note: Changes in Makefile were not strictly necessary in v1 and a maintainer asked to removing them since there was a deviation for generated headers. Now, in v2, they are required since the deviation has been removed by another patch of this series. --- xen/arch/x86/Makefile | 9 +++++---- xen/arch/x86/cpu/cpu.h | 5 +++++ xen/arch/x86/x86_64/mmconfig.h | 5 +++++ xen/arch/x86/x86_emulate/private.h | 5 +++++ 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile index d902fb7acc..06d1bab43c 100644 --- a/xen/arch/x86/Makefile +++ b/xen/arch/x86/Makefile @@ -260,17 +260,18 @@ $(objtree)/arch/x86/include/asm/asm-macros.h: $(obj)/asm-macros.i $(src)/Makefil $(call filechk,asm-macros.h) define filechk_asm-macros.h + guard=$$(echo ASM_${SRCARCH}_ASM_MACROS_H | tr a-z A-Z); \ + echo '#ifndef $$guard'; \ + echo '#define $$guard'; \ echo '#if 0'; \ echo '.if 0'; \ echo '#endif'; \ - echo '#ifndef __ASM_MACROS_H__'; \ - echo '#define __ASM_MACROS_H__'; \ echo 'asm ( ".include \"$@\"" );'; \ - echo '#endif /* __ASM_MACROS_H__ */'; \ echo '#if 0'; \ echo '.endif'; \ cat $<; \ - echo '#endif' + echo '#endif'; \ + echo '#endif /* $$guard */' endef $(obj)/efi.lds: AFLAGS-y += -DEFI diff --git a/xen/arch/x86/cpu/cpu.h b/xen/arch/x86/cpu/cpu.h index 8be65e975a..ee1c176ca4 100644 --- a/xen/arch/x86/cpu/cpu.h +++ b/xen/arch/x86/cpu/cpu.h @@ -1,3 +1,6 @@ +#ifndef X86_CPU_CPU_H +#define X86_CPU_CPU_H + /* attempt to consolidate cpu attributes */ struct cpu_dev { void (*c_early_init)(struct cpuinfo_x86 *c); @@ -26,3 +29,5 @@ void amd_init_spectral_chicken(void); void detect_zen2_null_seg_behaviour(void); void intel_unlock_cpuid_leaves(struct cpuinfo_x86 *c); + +#endif /* X86_CPU_CPU_H */ diff --git a/xen/arch/x86/x86_64/mmconfig.h b/xen/arch/x86/x86_64/mmconfig.h index 3da4b21e9b..722bf67975 100644 --- a/xen/arch/x86/x86_64/mmconfig.h +++ b/xen/arch/x86/x86_64/mmconfig.h @@ -5,6 +5,9 @@ * Author: Allen Kay - adapted from linux */ +#ifndef X86_64_MMCONFIG_H +#define X86_64_MMCONFIG_H + #define PCI_DEVICE_ID_INTEL_E7520_MCH 0x3590 #define PCI_DEVICE_ID_INTEL_82945G_HB 0x2770 @@ -72,3 +75,5 @@ int pci_mmcfg_reserved(uint64_t address, unsigned int segment, int pci_mmcfg_arch_init(void); int pci_mmcfg_arch_enable(unsigned int idx); void pci_mmcfg_arch_disable(unsigned int idx); + +#endif /* X86_64_MMCONFIG_H */ diff --git a/xen/arch/x86/x86_emulate/private.h b/xen/arch/x86/x86_emulate/private.h index 0fa26ba00a..8429b30b5e 100644 --- a/xen/arch/x86/x86_emulate/private.h +++ b/xen/arch/x86/x86_emulate/private.h @@ -6,6 +6,9 @@ * Copyright (c) 2005-2007 XenSource Inc. */ +#ifndef X86_X86_EMULATE_PRIVATE_H +#define X86_X86_EMULATE_PRIVATE_H + #ifdef __XEN__ # include @@ -836,3 +839,5 @@ static inline int read_ulong(enum x86_segment seg, *val = 0; return ops->read(seg, offset, val, bytes, ctxt); } + +#endif /* X86_X86_EMULATE_PRIVATE_H */ From patchwork Mon Jul 1 13:36:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alessandro Zucchelli X-Patchwork-Id: 13718109 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C824BC30653 for ; Mon, 1 Jul 2024 13:36:46 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.751594.1159601 (Exim 4.92) (envelope-from ) id 1sOHCx-00027Z-Bp; Mon, 01 Jul 2024 13:36:39 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 751594.1159601; Mon, 01 Jul 2024 13:36:39 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHCx-00027S-93; Mon, 01 Jul 2024 13:36:39 +0000 Received: by outflank-mailman (input) for mailman id 751594; Mon, 01 Jul 2024 13:36:38 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHCv-0001bF-V3 for xen-devel@lists.xenproject.org; Mon, 01 Jul 2024 13:36:37 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id f01c384e-37ae-11ef-b4bb-af5377834399; Mon, 01 Jul 2024 15:36:36 +0200 (CEST) Received: from delta.bugseng.com.homenet.telecomitalia.it (host-79-60-221-62.business.telecomitalia.it [79.60.221.62]) by support.bugseng.com (Postfix) with ESMTPSA id D773C4EE0748; Mon, 1 Jul 2024 15:36:32 +0200 (CEST) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: f01c384e-37ae-11ef-b4bb-af5377834399 From: Alessandro Zucchelli To: xen-devel@lists.xenproject.org Cc: nicola.vetrini@bugseng.com, consulting@bugseng.com, Simone Ballarin , "Daniel P. Smith" , =?utf-8?q?Marek_Marczykow?= =?utf-8?q?ski-G=C3=B3recki?= , Jan Beulich , Andrew Cooper , =?utf-8?q?Roger_Pau_Monn=C3=A9?= , Alessandro Zucchelli Subject: [PATCH 06/17] x86/EFI: address violations of MISRA C:2012 Directive 4.10 Date: Mon, 1 Jul 2024 15:36:01 +0200 Message-Id: <0267af93ae969b67a77c3a9aca9f4ad6525de1b9.1719829101.git.alessandro.zucchelli@bugseng.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 From: Simone Ballarin Add inclusion guard to address violations of MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order to prevent the contents of a header file being included more than once"). Mechanical change. Signed-off-by: Simone Ballarin Signed-off-by: Maria Celeste Cesario Signed-off-by: Nicola Vetrini Signed-off-by: Alessandro Zucchelli --- Changes in v4: - Modified inclusion guard. Changes in v3: - remove trailing underscores - change inclusion guard name to adhere to the new standard Changes in v2: - remove changes in "xen/arch/x86/efi/efi-boot.h" Note: Changes in efi-boot.h have been removed since the file is intenteded to be included by common/efi/boot.c only. This motivation is not enough to raise a deviation record, so the violation is still present. --- xen/arch/x86/efi/efi-boot.h | 7 +++++++ xen/arch/x86/efi/runtime.h | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h index f282358435..c6be744f2b 100644 --- a/xen/arch/x86/efi/efi-boot.h +++ b/xen/arch/x86/efi/efi-boot.h @@ -3,6 +3,11 @@ * is intended to be included by common/efi/boot.c _only_, and * therefore can define arch specific global variables. */ + +#ifndef X86_EFI_EFI_BOOT_H +#define X86_EFI_EFI_BOOT_H + + #include #include #include @@ -912,6 +917,8 @@ void asmlinkage __init efi_multiboot2(EFI_HANDLE ImageHandle, efi_exit_boot(ImageHandle, SystemTable); } +#endif /* X86_EFI_EFI_BOOT_H */ + /* * Local variables: * mode: C diff --git a/xen/arch/x86/efi/runtime.h b/xen/arch/x86/efi/runtime.h index 77866c5f21..88ab5651e9 100644 --- a/xen/arch/x86/efi/runtime.h +++ b/xen/arch/x86/efi/runtime.h @@ -1,3 +1,6 @@ +#ifndef X86_EFI_RUNTIME_H +#define X86_EFI_RUNTIME_H + #include #include #include @@ -17,3 +20,5 @@ void efi_update_l4_pgtable(unsigned int l4idx, l4_pgentry_t l4e) } } #endif + +#endif /* X86_EFI_RUNTIME_H */ From patchwork Mon Jul 1 13:36:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alessandro Zucchelli X-Patchwork-Id: 13718110 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 37AB6C30653 for ; Mon, 1 Jul 2024 13:36:51 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.751597.1159611 (Exim 4.92) (envelope-from ) id 1sOHD0-0002QP-Q6; Mon, 01 Jul 2024 13:36:42 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 751597.1159611; Mon, 01 Jul 2024 13:36:42 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHD0-0002QE-ML; Mon, 01 Jul 2024 13:36:42 +0000 Received: by outflank-mailman (input) for mailman id 751597; Mon, 01 Jul 2024 13:36:41 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHCz-0001bF-HB for xen-devel@lists.xenproject.org; Mon, 01 Jul 2024 13:36:41 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id f22be3b9-37ae-11ef-b4bb-af5377834399; Mon, 01 Jul 2024 15:36:40 +0200 (CEST) Received: from delta.bugseng.com.homenet.telecomitalia.it (host-79-60-221-62.business.telecomitalia.it [79.60.221.62]) by support.bugseng.com (Postfix) with ESMTPSA id 133A84EE0738; Mon, 1 Jul 2024 15:36:36 +0200 (CEST) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: f22be3b9-37ae-11ef-b4bb-af5377834399 From: Alessandro Zucchelli To: xen-devel@lists.xenproject.org Cc: nicola.vetrini@bugseng.com, consulting@bugseng.com, Simone Ballarin , Andrew Cooper , Jan Beulich , Julien Grall , Stefano Stabellini , Alessandro Zucchelli Subject: [PATCH 07/17] xen/common: address violations of MISRA C:2012 Directive 4.10 Date: Mon, 1 Jul 2024 15:36:02 +0200 Message-Id: <431bb9460df122ffa9f34c5f5ea4d13d6ca00963.1719829101.git.alessandro.zucchelli@bugseng.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 From: Simone Ballarin Add inclusion guards to address violations of MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order to prevent the contents of a header file being included more than once"). Mechanical change. Signed-off-by: Simone Ballarin Signed-off-by: Maria Celeste Cesario Reviewed-by: Stefano Stabellini Signed-off-by: Nicola Vetrini Signed-off-by: Alessandro Zucchelli --- Changes in v4: - drop XEN_ prefix from inclusion guard, according to the feedback received Changes in v3: - remove trailing underscores - change inclusion guard name to adhere to the new standard Changes in v2: - drop changes in C files --- xen/common/decompress.h | 5 +++++ xen/common/event_channel.h | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/xen/common/decompress.h b/xen/common/decompress.h index e8195b353a..9bf20e6a2d 100644 --- a/xen/common/decompress.h +++ b/xen/common/decompress.h @@ -1,3 +1,6 @@ +#ifndef COMMON_DECOMPRESS_H +#define COMMON_DECOMPRESS_H + #ifdef __XEN__ #include @@ -23,3 +26,5 @@ #define large_free free #endif + +#endif /* COMMON_DECOMPRESS_H */ diff --git a/xen/common/event_channel.h b/xen/common/event_channel.h index 45219ca67c..502ac39a48 100644 --- a/xen/common/event_channel.h +++ b/xen/common/event_channel.h @@ -1,5 +1,8 @@ /* Event channel handling private header. */ +#ifndef COMMON_EVENT_CHANNEL_H +#define COMMON_EVENT_CHANNEL_H + #include static inline unsigned int max_evtchns(const struct domain *d) @@ -52,6 +55,8 @@ int evtchn_fifo_init_control(struct evtchn_init_control *init_control); int evtchn_fifo_expand_array(const struct evtchn_expand_array *expand_array); void evtchn_fifo_destroy(struct domain *d); +#endif /* COMMON_EVENT_CHANNEL_H */ + /* * Local variables: * mode: C From patchwork Mon Jul 1 13:36:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alessandro Zucchelli X-Patchwork-Id: 13718111 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 482E0C2BD09 for ; Mon, 1 Jul 2024 13:36:52 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.751598.1159621 (Exim 4.92) (envelope-from ) id 1sOHD3-0002jM-2o; Mon, 01 Jul 2024 13:36:45 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 751598.1159621; Mon, 01 Jul 2024 13:36:45 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHD2-0002jE-Ub; Mon, 01 Jul 2024 13:36:44 +0000 Received: by outflank-mailman (input) for mailman id 751598; Mon, 01 Jul 2024 13:36:43 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHD0-0001b4-V9 for xen-devel@lists.xenproject.org; Mon, 01 Jul 2024 13:36:42 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id f3a04365-37ae-11ef-90a5-e314d9c70b13; Mon, 01 Jul 2024 15:36:42 +0200 (CEST) Received: from delta.bugseng.com.homenet.telecomitalia.it (host-79-60-221-62.business.telecomitalia.it [79.60.221.62]) by support.bugseng.com (Postfix) with ESMTPSA id 260C84EE0747; Mon, 1 Jul 2024 15:36:39 +0200 (CEST) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: f3a04365-37ae-11ef-90a5-e314d9c70b13 From: Alessandro Zucchelli To: xen-devel@lists.xenproject.org Cc: nicola.vetrini@bugseng.com, consulting@bugseng.com, Simone Ballarin , "Daniel P. Smith" , =?utf-8?q?Marek_Marczykow?= =?utf-8?q?ski-G=C3=B3recki?= , Jan Beulich , Stefano Stabellini , Alessandro Zucchelli Subject: [PATCH 08/17] xen/efi: address violations of MISRA C:2012 Directive 4.10 Date: Mon, 1 Jul 2024 15:36:03 +0200 Message-Id: <01f9273031e37d8e4621ca509a83c61ae4725822.1719829101.git.alessandro.zucchelli@bugseng.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 From: Simone Ballarin Add inclusion guards to address violations of MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order to prevent the contents of a header file being included more than once"). Mechanical change. Signed-off-by: Simone Ballarin Signed-off-by: Maria Celeste Cesario Reviewed-by: Stefano Stabellini Signed-off-by: Nicola Vetrini Signed-off-by: Alessandro Zucchelli --- Changes in v4: - drop XEN_ prefix from inclusion guard, according to the feedback received Changes in v3: - remove trailing underscores - change inclusion guard name to adhere to the new standard Changes in v2: - drop changes in C files --- xen/common/efi/efi.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/xen/common/efi/efi.h b/xen/common/efi/efi.h index c02fbb7b69..e5eae8f78a 100644 --- a/xen/common/efi/efi.h +++ b/xen/common/efi/efi.h @@ -1,3 +1,6 @@ +#ifndef COMMON_EFI_EFI_H +#define COMMON_EFI_EFI_H + #include #include #include @@ -51,3 +54,5 @@ void free_ebmalloc_unused_mem(void); const void *pe_find_section(const void *image, const UINTN image_size, const CHAR16 *section_name, UINTN *size_out); + +#endif /* COMMON_EFI_EFI_H */ From patchwork Mon Jul 1 13:36:04 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alessandro Zucchelli X-Patchwork-Id: 13718112 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 93C32C2BD09 for ; Mon, 1 Jul 2024 13:36:55 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.751600.1159631 (Exim 4.92) (envelope-from ) id 1sOHD5-00034K-B7; Mon, 01 Jul 2024 13:36:47 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 751600.1159631; Mon, 01 Jul 2024 13:36:47 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHD5-00034D-5i; Mon, 01 Jul 2024 13:36:47 +0000 Received: by outflank-mailman (input) for mailman id 751600; Mon, 01 Jul 2024 13:36:46 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHD4-0001bF-KZ for xen-devel@lists.xenproject.org; Mon, 01 Jul 2024 13:36:46 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id f53efcd7-37ae-11ef-b4bb-af5377834399; Mon, 01 Jul 2024 15:36:45 +0200 (CEST) Received: from delta.bugseng.com.homenet.telecomitalia.it (host-79-60-221-62.business.telecomitalia.it [79.60.221.62]) by support.bugseng.com (Postfix) with ESMTPSA id A91854EE0748; Mon, 1 Jul 2024 15:36:42 +0200 (CEST) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: f53efcd7-37ae-11ef-b4bb-af5377834399 From: Alessandro Zucchelli To: xen-devel@lists.xenproject.org Cc: nicola.vetrini@bugseng.com, consulting@bugseng.com, Simone Ballarin , Andrew Cooper , Jan Beulich , Julien Grall , Stefano Stabellini , Julien Grall , Alessandro Zucchelli Subject: [PATCH 09/17] xen: address violations of MISRA C:2012 Directive 4.10 Date: Mon, 1 Jul 2024 15:36:04 +0200 Message-Id: <76caa62c49a7aa02e43892f9edd72d90e9f39243.1719829101.git.alessandro.zucchelli@bugseng.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 From: Simone Ballarin Amend inclusion guards to address violations of MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order to prevent the contents of a header file being included more than once"). Inclusion guards must appear at the beginning of the headers (comments are permitted anywhere) and the #if directive cannot be used for other checks. Mechanical change. Signed-off-by: Simone Ballarin Signed-off-by: Maria Celeste Cesario Acked-by: Julien Grall Reviewed-by: Stefano Stabellini Signed-off-by: Nicola Vetrini Signed-off-by: Alessandro Zucchelli --- Changes in v4: - drop XEN_ prefix from inclusion guard, according to the feedback received Changes in v3: - remove trailing underscores - change inclusion guard name to adhere to the new standard Changes in v2: - drop changes in xen/include/xen/unaligned.h since this second series adds a comment-based deviation in a separate patch - use #ifndef instead of #if !defined() --- xen/include/xen/err.h | 8 +++++--- xen/include/xen/pci_ids.h | 5 +++++ xen/include/xen/softirq.h | 8 +++++--- xen/include/xen/vmap.h | 8 +++++--- 4 files changed, 20 insertions(+), 9 deletions(-) diff --git a/xen/include/xen/err.h b/xen/include/xen/err.h index cbdd1bf7f8..65549caac2 100644 --- a/xen/include/xen/err.h +++ b/xen/include/xen/err.h @@ -1,5 +1,6 @@ -#if !defined(__XEN_ERR_H__) && !defined(__ASSEMBLY__) -#define __XEN_ERR_H__ +#ifndef INCLUDE_XEN_ERR_H +#define INCLUDE_XEN_ERR_H +#ifndef __ASSEMBLY__ #include #include @@ -41,4 +42,5 @@ static inline int __must_check PTR_RET(const void *ptr) return IS_ERR(ptr) ? PTR_ERR(ptr) : 0; } -#endif /* __XEN_ERR_H__ */ +#endif /* __ASSEMBLY__ */ +#endif /* INCLUDE_XEN_ERR_H */ diff --git a/xen/include/xen/pci_ids.h b/xen/include/xen/pci_ids.h index e798477a7e..8e40c78db7 100644 --- a/xen/include/xen/pci_ids.h +++ b/xen/include/xen/pci_ids.h @@ -1,3 +1,6 @@ +#ifndef INCLUDE_XEN_PCI_IDS_H +#define INCLUDE_XEN_PCI_IDS_H + #define PCI_VENDOR_ID_AMD 0x1022 #define PCI_VENDOR_ID_NVIDIA 0x10de @@ -11,3 +14,5 @@ #define PCI_VENDOR_ID_BROADCOM 0x14e4 #define PCI_VENDOR_ID_INTEL 0x8086 + +#endif /* INCLUDE_XEN_PCI_IDS_H */ diff --git a/xen/include/xen/softirq.h b/xen/include/xen/softirq.h index 33d6f2ecd2..90d4875df7 100644 --- a/xen/include/xen/softirq.h +++ b/xen/include/xen/softirq.h @@ -1,5 +1,6 @@ -#if !defined(__XEN_SOFTIRQ_H__) && !defined(__ASSEMBLY__) -#define __XEN_SOFTIRQ_H__ +#ifndef INCLUDE_XEN_SOFTIRQ_H +#define INCLUDE_XEN_SOFTIRQ_H +#ifndef __ASSEMBLY__ /* Low-latency softirqs come first in the following list. */ enum { @@ -40,4 +41,5 @@ void cpu_raise_softirq_batch_finish(void); */ void process_pending_softirqs(void); -#endif /* __XEN_SOFTIRQ_H__ */ +#endif /* __ASSEMBLY__ */ +#endif /* INCLUDE_XEN_SOFTIRQ_H */ diff --git a/xen/include/xen/vmap.h b/xen/include/xen/vmap.h index 0c16baa85f..ec1b6b05e9 100644 --- a/xen/include/xen/vmap.h +++ b/xen/include/xen/vmap.h @@ -1,5 +1,6 @@ -#if !defined(__XEN_VMAP_H__) && defined(VMAP_VIRT_START) -#define __XEN_VMAP_H__ +#ifndef INCLUDE_XEN_VMAP_H +#define INCLUDE_XEN_VMAP_H +#ifdef VMAP_VIRT_START #include #include @@ -42,4 +43,5 @@ static inline void vm_init(void) vm_init_type(VMAP_DEFAULT, (void *)VMAP_VIRT_START, arch_vmap_virt_end()); } -#endif /* __XEN_VMAP_H__ */ +#endif /* VMAP_VIRT_START */ +#endif /* INCLUDE_XEN_VMAP_H */ From patchwork Mon Jul 1 13:36:05 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alessandro Zucchelli X-Patchwork-Id: 13718113 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A3C48C2BD09 for ; Mon, 1 Jul 2024 13:36:58 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.751605.1159641 (Exim 4.92) (envelope-from ) id 1sOHD9-0003Z5-JO; Mon, 01 Jul 2024 13:36:51 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 751605.1159641; Mon, 01 Jul 2024 13:36:51 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHD9-0003Yu-Fu; Mon, 01 Jul 2024 13:36:51 +0000 Received: by outflank-mailman (input) for mailman id 751605; Mon, 01 Jul 2024 13:36:50 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHD8-0001bF-L7 for xen-devel@lists.xenproject.org; Mon, 01 Jul 2024 13:36:50 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id f78958ec-37ae-11ef-b4bb-af5377834399; Mon, 01 Jul 2024 15:36:49 +0200 (CEST) Received: from delta.bugseng.com.homenet.telecomitalia.it (host-79-60-221-62.business.telecomitalia.it [79.60.221.62]) by support.bugseng.com (Postfix) with ESMTPSA id 5B9064EE0749; Mon, 1 Jul 2024 15:36:45 +0200 (CEST) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: f78958ec-37ae-11ef-b4bb-af5377834399 From: Alessandro Zucchelli To: xen-devel@lists.xenproject.org Cc: nicola.vetrini@bugseng.com, consulting@bugseng.com, Simone Ballarin , Andrew Cooper , Jan Beulich , Julien Grall , Stefano Stabellini , =?utf-8?q?Roger_Pau_Monn=C3=A9?= , "Daniel P. Smith" , =?utf-8?q?Marek_Marczykow?= =?utf-8?q?ski-G=C3=B3recki?= , Alessandro Zucchelli Subject: [PATCH 10/17] x86/asm: address violations of MISRA C:2012 Directive 4.10 Date: Mon, 1 Jul 2024 15:36:05 +0200 Message-Id: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 From: Simone Ballarin Amend generation script, add inclusion guards to address violations of MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order to prevent the contents of a header file being included more than once"). This patch amends the Makefile adding the required inclusion guards for xlat.h. Add deviation comment for files intended for multiple inclusion. Signed-off-by: Simone Ballarin Signed-off-by: Maria Celeste Cesario Signed-off-by: Nicola Vetrini Signed-off-by: Alessandro Zucchelli --- Changes in v4: - changed guard creation for autogenerated headers in Makefile Changes in v3: - fix inconsistent deviation ID - remove trailing underscores Changes in v2: - merge patches 7/13 and 13/13 of v1 as they had the same commit message - amend the Makefile to produce the required inclusion guard - use the format introduced with doc/misra/safe.json instead of a generic text-based deviation --- docs/misra/safe.json | 8 ++++++++ xen/arch/x86/include/asm/compat.h | 5 +++++ xen/arch/x86/include/asm/cpufeatures.h | 5 +---- xen/arch/x86/include/asm/efibind.h | 5 +++++ xen/include/Makefile | 11 +++++++++-- 5 files changed, 28 insertions(+), 6 deletions(-) diff --git a/docs/misra/safe.json b/docs/misra/safe.json index 3e9ebff8fe..0739eac806 100644 --- a/docs/misra/safe.json +++ b/docs/misra/safe.json @@ -90,6 +90,14 @@ "name": "Dir 4.10: direct inclusion guard before", "text": "Headers with just the direct inclusion guard before the inclusion guard are safe." }, + { + "id": "SAF-11-safe", + "analyser": { + "eclair": "MC3R1.D4.10" + }, + "name": "Dir 4.10: file intended for multiple inclusion", + "text": "Files intended for multiple inclusion are not supposed to comply with D4.10." + }, { "id": "SAF-11-safe", "analyser": {}, diff --git a/xen/arch/x86/include/asm/compat.h b/xen/arch/x86/include/asm/compat.h index 818cad87db..36e7750843 100644 --- a/xen/arch/x86/include/asm/compat.h +++ b/xen/arch/x86/include/asm/compat.h @@ -2,6 +2,9 @@ * compat.h */ +#ifndef ASM_X86_COMPAT_H +#define ASM_X86_COMPAT_H + #ifdef CONFIG_COMPAT #define COMPAT_BITS_PER_LONG 32 @@ -18,3 +21,5 @@ int switch_compat(struct domain *); #include static inline int switch_compat(struct domain *d) { return -EOPNOTSUPP; } #endif + +#endif /* ASM_X86_COMPAT_H */ diff --git a/xen/arch/x86/include/asm/cpufeatures.h b/xen/arch/x86/include/asm/cpufeatures.h index ba3df174b7..d590fe31ea 100644 --- a/xen/arch/x86/include/asm/cpufeatures.h +++ b/xen/arch/x86/include/asm/cpufeatures.h @@ -1,7 +1,4 @@ -/* - * Explicitly intended for multiple inclusion. - */ - +/* SAF-11-safe file intended for multiple inclusion */ #include /* Number of capability words covered by the featureset words. */ diff --git a/xen/arch/x86/include/asm/efibind.h b/xen/arch/x86/include/asm/efibind.h index bce02f3707..75684742be 100644 --- a/xen/arch/x86/include/asm/efibind.h +++ b/xen/arch/x86/include/asm/efibind.h @@ -1,2 +1,7 @@ +#ifndef ASM_X86_EFIBIND_H +#define ASM_X86_EFIBIND_H + #include #include + +#endif /* ASM_X86_EFIBIND_H */ diff --git a/xen/include/Makefile b/xen/include/Makefile index 058b0a566b..eccc2e017a 100644 --- a/xen/include/Makefile +++ b/xen/include/Makefile @@ -104,10 +104,17 @@ $(obj)/compat/.xlat/%.lst: $(srcdir)/xlat.lst FORCE xlat-y := $(shell sed -ne 's,@arch@,$(compat-arch-y),g' -re 's,^[?!][[:blank:]]+[^[:blank:]]+[[:blank:]]+,,p' $(srcdir)/xlat.lst | uniq) xlat-y := $(filter $(patsubst compat/%,%,$(headers-y)),$(xlat-y)) +ARCHDIR = $(shell echo $(SRCARCH) | tr a-z A-Z) + quiet_cmd_xlat_h = GEN $@ -cmd_xlat_h = \ - cat $(filter %.h,$^) >$@.new; \ +define cmd_xlat_h + guard=$$(echo ASM_${SRCARCH}_COMPAT_XLAT_H | tr a-z A-Z); \ + echo "#ifndef $$guard" > $@.new; \ + echo "#define $$guard" >> $@.new; \ + cat $(filter %.h,$^) >> $@.new; \ + echo "#endif /* $$guard */" >> $@.new; \ mv -f $@.new $@ +endef $(obj)/compat/xlat.h: $(addprefix $(obj)/compat/.xlat/,$(xlat-y)) FORCE $(call if_changed,xlat_h) From patchwork Mon Jul 1 13:43:00 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alessandro Zucchelli X-Patchwork-Id: 13718116 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2DFC7C2BD09 for ; Mon, 1 Jul 2024 13:43:33 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.751637.1159651 (Exim 4.92) (envelope-from ) id 1sOHJR-0006bg-B9; Mon, 01 Jul 2024 13:43:21 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 751637.1159651; Mon, 01 Jul 2024 13:43:21 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHJR-0006bZ-6r; Mon, 01 Jul 2024 13:43:21 +0000 Received: by outflank-mailman (input) for mailman id 751637; Mon, 01 Jul 2024 13:43:19 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHJP-0006bT-Kz for xen-devel@lists.xenproject.org; Mon, 01 Jul 2024 13:43:19 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id df458d27-37af-11ef-b4bb-af5377834399; Mon, 01 Jul 2024 15:43:17 +0200 (CEST) Received: from delta.bugseng.com.homenet.telecomitalia.it (host-79-60-221-62.business.telecomitalia.it [79.60.221.62]) by support.bugseng.com (Postfix) with ESMTPSA id E353F4EE0738; Mon, 1 Jul 2024 15:43:14 +0200 (CEST) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: df458d27-37af-11ef-b4bb-af5377834399 From: Alessandro Zucchelli To: xen-devel@lists.xenproject.org Cc: nicola.vetrini@bugseng.com, consulting@bugseng.com, Maria Celeste Cesario , Stefano Stabellini , Julien Grall , Bertrand Marquis , Michal Orzel , Volodymyr Babchuk Subject: [PATCH 11/17] xen/arm: address violations of MISRA C:2012 Directive 4.10 Date: Mon, 1 Jul 2024 15:43:00 +0200 Message-Id: <8e9fee0a3dac64c0c7e49489f55256a37cab7a76.1719829101.git.alessandro.zucchelli@bugseng.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 From: Maria Celeste Cesario Add or modify inclusion guards to address violations of MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order to prevent the contents of a header file being included more than once"). Mechanical change. Signed-off-by: Maria Celeste Cesario Signed-off-by: Simone Ballarin Signed-off-by: Nicola Vetrini Signed-off-by: Alessandro Zucchelli --- Changes in v4: - fix typo in include guard for arm efibind. Commit introduced in v3 --- xen/arch/arm/include/asm/domain.h | 6 +++--- xen/arch/arm/include/asm/efibind.h | 5 +++++ xen/arch/arm/include/asm/event.h | 6 +++--- xen/arch/arm/include/asm/grant_table.h | 6 +++--- xen/arch/arm/include/asm/io.h | 6 +++--- xen/arch/arm/include/asm/irq.h | 6 +++--- xen/arch/arm/include/asm/smp.h | 6 +++--- xen/arch/arm/include/asm/spinlock.h | 6 +++--- xen/arch/arm/include/asm/system.h | 6 +++--- 9 files changed, 29 insertions(+), 24 deletions(-) diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h index f1d72c6e48..e5f011c2fa 100644 --- a/xen/arch/arm/include/asm/domain.h +++ b/xen/arch/arm/include/asm/domain.h @@ -1,5 +1,5 @@ -#ifndef __ASM_DOMAIN_H__ -#define __ASM_DOMAIN_H__ +#ifndef ASM_ARM_DOMAIN_H +#define ASM_ARM_DOMAIN_H #include #include @@ -310,7 +310,7 @@ static inline void update_guest_memory_policy(struct vcpu *v, struct guest_memory_policy *gmp) {} -#endif /* __ASM_DOMAIN_H__ */ +#endif /* ASM_ARM_DOMAIN_H */ /* * Local variables: diff --git a/xen/arch/arm/include/asm/efibind.h b/xen/arch/arm/include/asm/efibind.h index 09dca7a8c9..61e23c6510 100644 --- a/xen/arch/arm/include/asm/efibind.h +++ b/xen/arch/arm/include/asm/efibind.h @@ -1,2 +1,7 @@ +#ifndef ASM_ARM_EFIBIND_H +#define ASM_ARM_EFIBIND_H + #include #include + +#endif /* ASM_ARM_EFIBIND_H */ diff --git a/xen/arch/arm/include/asm/event.h b/xen/arch/arm/include/asm/event.h index b14c166ad6..db5d5ea37a 100644 --- a/xen/arch/arm/include/asm/event.h +++ b/xen/arch/arm/include/asm/event.h @@ -1,5 +1,5 @@ -#ifndef __ASM_EVENT_H__ -#define __ASM_EVENT_H__ +#ifndef ASM_ARM_EVENT_H +#define ASM_ARM_EVENT_H #include @@ -52,7 +52,7 @@ static inline bool arch_virq_is_global(unsigned int virq) return true; } -#endif +#endif /* ASM_ARM_EVENT_H */ /* * Local variables: * mode: C diff --git a/xen/arch/arm/include/asm/grant_table.h b/xen/arch/arm/include/asm/grant_table.h index d3c518a926..0363c6aa1e 100644 --- a/xen/arch/arm/include/asm/grant_table.h +++ b/xen/arch/arm/include/asm/grant_table.h @@ -1,5 +1,5 @@ -#ifndef __ASM_GRANT_TABLE_H__ -#define __ASM_GRANT_TABLE_H__ +#ifndef ASM_ARM_GRANT_TABLE_H +#define ASM_ARM_GRANT_TABLE_H #include #include @@ -76,7 +76,7 @@ int replace_grant_host_mapping(uint64_t gpaddr, mfn_t frame, #define gnttab_need_iommu_mapping(d) \ (is_domain_direct_mapped(d) && is_iommu_enabled(d)) -#endif /* __ASM_GRANT_TABLE_H__ */ +#endif /* ASM_ARM_GRANT_TABLE_H */ /* * Local variables: * mode: C diff --git a/xen/arch/arm/include/asm/io.h b/xen/arch/arm/include/asm/io.h index e426804424..8b5f811ec8 100644 --- a/xen/arch/arm/include/asm/io.h +++ b/xen/arch/arm/include/asm/io.h @@ -1,5 +1,5 @@ -#ifndef _ASM_IO_H -#define _ASM_IO_H +#ifndef ASM_ARM_IO_H +#define ASM_ARM_IO_H #if defined(CONFIG_ARM_32) # include @@ -9,7 +9,7 @@ # error "unknown ARM variant" #endif -#endif +#endif /* ASM_ARM_IO_H */ /* * Local variables: * mode: C diff --git a/xen/arch/arm/include/asm/irq.h b/xen/arch/arm/include/asm/irq.h index ec437add09..5a1b2cd5ba 100644 --- a/xen/arch/arm/include/asm/irq.h +++ b/xen/arch/arm/include/asm/irq.h @@ -1,5 +1,5 @@ -#ifndef _ASM_HW_IRQ_H -#define _ASM_HW_IRQ_H +#ifndef ASM_ARM_IRQ_H +#define ASM_ARM_IRQ_H #include #include @@ -101,7 +101,7 @@ bool irq_type_set_by_domain(const struct domain *d); void irq_end_none(struct irq_desc *irq); #define irq_end_none irq_end_none -#endif /* _ASM_HW_IRQ_H */ +#endif /* ASM_ARM_IRQ_H */ /* * Local variables: * mode: C diff --git a/xen/arch/arm/include/asm/smp.h b/xen/arch/arm/include/asm/smp.h index e99a3a3f53..44e4183470 100644 --- a/xen/arch/arm/include/asm/smp.h +++ b/xen/arch/arm/include/asm/smp.h @@ -1,5 +1,5 @@ -#ifndef __ASM_SMP_H -#define __ASM_SMP_H +#ifndef ASM_ARM_SMP_H +#define ASM_ARM_SMP_H #ifndef __ASSEMBLY__ #include @@ -39,7 +39,7 @@ extern unsigned int smp_get_max_cpus(void); #define cpu_physical_id(cpu) cpu_logical_map(cpu) -#endif +#endif /* ASM_ARM_SMP_H */ /* * Local variables: diff --git a/xen/arch/arm/include/asm/spinlock.h b/xen/arch/arm/include/asm/spinlock.h index 42b0f584fe..326005c39a 100644 --- a/xen/arch/arm/include/asm/spinlock.h +++ b/xen/arch/arm/include/asm/spinlock.h @@ -1,5 +1,5 @@ -#ifndef __ASM_SPINLOCK_H -#define __ASM_SPINLOCK_H +#ifndef ASM_ARM_SPINLOCK_H +#define ASM_ARM_SPINLOCK_H #define arch_lock_acquire_barrier() smp_mb() #define arch_lock_release_barrier() smp_mb() @@ -12,4 +12,4 @@ #define arch_lock_signal_wmb() arch_lock_signal() -#endif /* __ASM_SPINLOCK_H */ +#endif /* ASM_ARM_SPINLOCK_H */ diff --git a/xen/arch/arm/include/asm/system.h b/xen/arch/arm/include/asm/system.h index 65d5c8e423..faf9227f53 100644 --- a/xen/arch/arm/include/asm/system.h +++ b/xen/arch/arm/include/asm/system.h @@ -1,6 +1,6 @@ /* Portions taken from Linux arch arm */ -#ifndef __ASM_SYSTEM_H -#define __ASM_SYSTEM_H +#ifndef ASM_ARM_SYSTEM_H +#define ASM_ARM_SYSTEM_H #include #include @@ -62,7 +62,7 @@ static inline int local_abort_is_enabled(void) extern struct vcpu *__context_switch(struct vcpu *prev, struct vcpu *next); -#endif +#endif /* ASM_ARM_SYSTEM_H */ /* * Local variables: * mode: C From patchwork Mon Jul 1 13:43:59 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alessandro Zucchelli X-Patchwork-Id: 13718117 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2910FC2BD09 for ; Mon, 1 Jul 2024 13:44:15 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.751642.1159661 (Exim 4.92) (envelope-from ) id 1sOHKC-000770-Ik; Mon, 01 Jul 2024 13:44:08 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 751642.1159661; Mon, 01 Jul 2024 13:44:08 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHKC-00076t-G2; Mon, 01 Jul 2024 13:44:08 +0000 Received: by outflank-mailman (input) for mailman id 751642; Mon, 01 Jul 2024 13:44:06 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHKA-0006bT-OL for xen-devel@lists.xenproject.org; Mon, 01 Jul 2024 13:44:06 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id fb967457-37af-11ef-b4bb-af5377834399; Mon, 01 Jul 2024 15:44:05 +0200 (CEST) Received: from delta.bugseng.com.homenet.telecomitalia.it (host-79-60-221-62.business.telecomitalia.it [79.60.221.62]) by support.bugseng.com (Postfix) with ESMTPSA id 6CDC44EE0738; Mon, 1 Jul 2024 15:44:03 +0200 (CEST) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: fb967457-37af-11ef-b4bb-af5377834399 From: Alessandro Zucchelli To: xen-devel@lists.xenproject.org Cc: nicola.vetrini@bugseng.com, consulting@bugseng.com, Maria Celeste Cesario , Andrew Cooper , Jan Beulich , Julien Grall , Stefano Stabellini Subject: [PATCH 12/17] xen: address violations of MISRA C:2012 Directive 4.10 Date: Mon, 1 Jul 2024 15:43:59 +0200 Message-Id: <8305a914d1f1ee01d1b0b83cb86c2a48a2a2be0b.1719829101.git.alessandro.zucchelli@bugseng.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 From: Maria Celeste Cesario Modify creation rule for asm-offsets.h to conform to the new standard and to not generate conflicting guards between architectures (which is a violation of the directive). Modify generic-y creation rule to generate code without violations and to conform to the new standard. Mechanical change. --- Changes in v4: - improve inclusion guard generation Signed-off-by: Maria Celeste Cesario Signed-off-by: Simone Ballarin Signed-off-by: Nicola Vetrini Signed-off-by: Alessandro Zucchelli --- xen/build.mk | 7 ++++--- xen/scripts/Makefile.asm-generic | 8 +++++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/xen/build.mk b/xen/build.mk index 0f490ca71b..bbd4c2970f 100644 --- a/xen/build.mk +++ b/xen/build.mk @@ -47,6 +47,7 @@ asm-offsets.s: arch/$(SRCARCH)/$(ARCH)/asm-offsets.c arch/$(SRCARCH)/include/asm/asm-offsets.h: asm-offsets.s @(set -e; \ + guard=$$(echo ASM_${SRCARCH}_ASM_OFFSETS_H | tr a-z A-Z); \ echo "/*"; \ echo " * DO NOT MODIFY."; \ echo " *"; \ @@ -54,12 +55,12 @@ arch/$(SRCARCH)/include/asm/asm-offsets.h: asm-offsets.s echo " *"; \ echo " */"; \ echo ""; \ - echo "#ifndef __ASM_OFFSETS_H__"; \ - echo "#define __ASM_OFFSETS_H__"; \ + echo "#ifndef $$guard"; \ + echo "#define $$guard"; \ echo ""; \ sed -rne "/^[^#].*==>/{s:.*==>(.*)<==.*:\1:; s: [\$$#]: :; p;}"; \ echo ""; \ - echo "#endif") <$< >$@ + echo "#endif /* $$guard */") <$< >$@ build-dirs := $(patsubst %/built_in.o,%,$(filter %/built_in.o,$(ALL_OBJS) $(ALL_LIBS))) diff --git a/xen/scripts/Makefile.asm-generic b/xen/scripts/Makefile.asm-generic index b0d356bfa3..5775acf44b 100644 --- a/xen/scripts/Makefile.asm-generic +++ b/xen/scripts/Makefile.asm-generic @@ -32,7 +32,13 @@ old-headers := $(wildcard $(obj)/*.h) unwanted := $(filter-out $(generic-y) $(generated-y),$(old-headers)) quiet_cmd_wrap = WRAP $@ - cmd_wrap = echo "\#include " > $@ +cmd_wrap = \ + guard=$$(echo ASM_GENERIC_${SRCARCH}_$*_H | tr a-z A-Z); \ + echo "\#ifndef $$guard" >$@.new; \ + echo "\#define $$guard" >>$@.new; \ + echo "\#include " >>$@.new; \ + echo "\#endif /* $$guard */" >>$@.new; \ + mv -f $@.new $@ quiet_cmd_remove = REMOVE $(unwanted) cmd_remove = rm -f $(unwanted) From patchwork Mon Jul 1 13:45:14 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alessandro Zucchelli X-Patchwork-Id: 13718118 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AAD56C30653 for ; Mon, 1 Jul 2024 13:45:34 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.751651.1159670 (Exim 4.92) (envelope-from ) id 1sOHLP-0007iz-0M; Mon, 01 Jul 2024 13:45:23 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 751651.1159670; Mon, 01 Jul 2024 13:45:22 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHLO-0007is-U5; Mon, 01 Jul 2024 13:45:22 +0000 Received: by outflank-mailman (input) for mailman id 751651; Mon, 01 Jul 2024 13:45:21 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHLN-0007ig-Ic for xen-devel@lists.xenproject.org; Mon, 01 Jul 2024 13:45:21 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 28897f44-37b0-11ef-90a5-e314d9c70b13; Mon, 01 Jul 2024 15:45:20 +0200 (CEST) Received: from delta.bugseng.com.homenet.telecomitalia.it (host-79-60-221-62.business.telecomitalia.it [79.60.221.62]) by support.bugseng.com (Postfix) with ESMTPSA id CCD434EE0738; Mon, 1 Jul 2024 15:45:17 +0200 (CEST) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 28897f44-37b0-11ef-90a5-e314d9c70b13 From: Alessandro Zucchelli To: xen-devel@lists.xenproject.org Cc: consulting@bugseng.com, Nicola Vetrini , Simone Ballarin , Doug Goldstein , Stefano Stabellini , Andrew Cooper , Jan Beulich , Julien Grall , Alessandro Zucchelli Subject: [PATCH 13/17] xen: add deviations for MISRA C 2012 Dir D4.10 Date: Mon, 1 Jul 2024 15:45:14 +0200 Message-Id: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 From: Nicola Vetrini Add safe deviation for *.c files, as estabilished in past discussion. Signed-off-by: Maria Celeste Cesario Signed-off-by: Simone Ballarin Signed-off-by: Nicola Vetrini Signed-off-by: Alessandro Zucchelli --- Changes in v4: - split the commit from the unrelated SAF deviation Link to the discussion thread: https://lists.xenproject.org/archives/html/xen-devel/2023-09/msg00239.html --- automation/eclair_analysis/ECLAIR/deviations.ecl | 5 +++++ docs/misra/deviations.rst | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl index 1c39a9a16d..c6b1a10bcf 100644 --- a/automation/eclair_analysis/ECLAIR/deviations.ecl +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl @@ -78,6 +78,11 @@ conform to the directive." -config=MC3R1.D4.10,reports+={safe, "first_area(text(^/\\* Generated file, do not edit! \\*/$, begin-3))"} -doc_end +-doc_begin="Including multiple times a .c file is safe because every function or data item +it defines would (in the common case) be already defined. Peer reviewed by the community." +-config=MC3R1.D4.10,reports+={safe, "all_area(all_loc(^.*\\.c$))"} +-doc_end + # # Series 5. # diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst index 1ecce1469a..a5dac38bb3 100644 --- a/docs/misra/deviations.rst +++ b/docs/misra/deviations.rst @@ -30,6 +30,13 @@ Deviations related to MISRA C:2012 Directives: not to add an additional encapsulation layer. - Tagged as `deliberate` for ECLAIR. + * - D4.10 + - Including multiple times a .c file is safe because every function or data item + it defines would in (the common case) be already defined. + Peer reviewed by the community. + - Tagged as `safe` for ECLAIR. + + Deviations related to MISRA C:2012 Rules: ----------------------------------------- From patchwork Mon Jul 1 13:45:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alessandro Zucchelli X-Patchwork-Id: 13718119 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 86823C2BD09 for ; Mon, 1 Jul 2024 13:46:01 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.751655.1159680 (Exim 4.92) (envelope-from ) id 1sOHLt-0008Bf-7H; Mon, 01 Jul 2024 13:45:53 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 751655.1159680; Mon, 01 Jul 2024 13:45:53 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHLt-0008BY-4h; Mon, 01 Jul 2024 13:45:53 +0000 Received: by outflank-mailman (input) for mailman id 751655; Mon, 01 Jul 2024 13:45:52 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHLs-0007ig-IC for xen-devel@lists.xenproject.org; Mon, 01 Jul 2024 13:45:52 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 3b36b6b0-37b0-11ef-90a5-e314d9c70b13; Mon, 01 Jul 2024 15:45:52 +0200 (CEST) Received: from delta.bugseng.com.homenet.telecomitalia.it (host-79-60-221-62.business.telecomitalia.it [79.60.221.62]) by support.bugseng.com (Postfix) with ESMTPSA id 641124EE0738; Mon, 1 Jul 2024 15:45:48 +0200 (CEST) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 3b36b6b0-37b0-11ef-90a5-e314d9c70b13 From: Alessandro Zucchelli To: xen-devel@lists.xenproject.org Cc: consulting@bugseng.com, Nicola Vetrini , Andrew Cooper , Jan Beulich , Julien Grall , Stefano Stabellini , =?utf-8?q?Roger_Pau_Monn=C3=A9?= , Alessandro Zucchelli Subject: [PATCH 14/17] xen: add SAF deviation for MISRA C Dir 4.10 Date: Mon, 1 Jul 2024 15:45:30 +0200 Message-Id: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 From: Nicola Vetrini Signed-off-by: Nicola Vetrini Signed-off-by: Alessandro Zucchelli Reported-by: Nicola Vetrini Signed-off-by: Jan Beulich --- docs/misra/safe.json | 10 +++++++++- xen/include/public/arch-x86/xen.h | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/misra/safe.json b/docs/misra/safe.json index 0739eac806..a1cd821aea 100644 --- a/docs/misra/safe.json +++ b/docs/misra/safe.json @@ -99,7 +99,15 @@ "text": "Files intended for multiple inclusion are not supposed to comply with D4.10." }, { - "id": "SAF-11-safe", + "id": "SAF-12-safe", + "analyser": { + "eclair": "MC3R1.D4.10" + }, + "name": "Dir 4.10: arch-x86/xen.h include before guard", + "text": "This file needs to start with #include ../xen.h to generate preprocessed code in the correct order." + }, + { + "id": "SAF-13-safe", "analyser": {}, "name": "Sentinel", "text": "Next ID to be used" diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch-x86/xen.h index a9a87d9b50..d8ad935af3 100644 --- a/xen/include/public/arch-x86/xen.h +++ b/xen/include/public/arch-x86/xen.h @@ -7,6 +7,7 @@ * Copyright (c) 2004-2006, K A Fraser */ +/* SAF-12-safe include before guard needed for correct code generation */ #include "../xen.h" #ifndef __XEN_PUBLIC_ARCH_X86_XEN_H__ From patchwork Mon Jul 1 13:46:04 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alessandro Zucchelli X-Patchwork-Id: 13718120 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 05D15C30653 for ; Mon, 1 Jul 2024 13:46:24 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.751659.1159690 (Exim 4.92) (envelope-from ) id 1sOHME-0000C5-Di; Mon, 01 Jul 2024 13:46:14 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 751659.1159690; Mon, 01 Jul 2024 13:46:14 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHME-0000Bw-BD; Mon, 01 Jul 2024 13:46:14 +0000 Received: by outflank-mailman (input) for mailman id 751659; Mon, 01 Jul 2024 13:46:13 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHMD-0007ig-Gn for xen-devel@lists.xenproject.org; Mon, 01 Jul 2024 13:46:13 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 479c5417-37b0-11ef-90a5-e314d9c70b13; Mon, 01 Jul 2024 15:46:12 +0200 (CEST) Received: from delta.bugseng.com.homenet.telecomitalia.it (host-79-60-221-62.business.telecomitalia.it [79.60.221.62]) by support.bugseng.com (Postfix) with ESMTPSA id 3ECFB4EE0738; Mon, 1 Jul 2024 15:46:10 +0200 (CEST) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 479c5417-37b0-11ef-90a5-e314d9c70b13 From: Alessandro Zucchelli To: xen-devel@lists.xenproject.org Cc: nicola.vetrini@bugseng.com, consulting@bugseng.com, Maria Celeste Cesario , Jan Beulich , Andrew Cooper , =?utf-8?q?Roger_Pau_Monn=C3=A9?= , Stefano Stabellini Subject: [PATCH 15/17] xen/x86: rename inclusion guards for consistency Date: Mon, 1 Jul 2024 15:46:04 +0200 Message-Id: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 From: Maria Celeste Cesario Edit inclusion guards in order to make them consistent with the estabilished naming conventions. No functional change. Signed-off-by: Maria Celeste Cesario Signed-off-by: Simone Ballarin Reviewed-by: Stefano Stabellini Signed-off-by: Alessandro Zucchelli --- Changes in v4: - improved commit message - change inclusion guards names Commit introduced in v3 --- xen/arch/x86/include/asm/domain.h | 6 +++--- xen/arch/x86/include/asm/event.h | 6 +++--- xen/arch/x86/include/asm/grant_table.h | 6 +++--- xen/arch/x86/include/asm/io.h | 6 +++--- xen/arch/x86/include/asm/irq.h | 6 +++--- xen/arch/x86/include/asm/smp.h | 6 +++--- xen/arch/x86/include/asm/spinlock.h | 6 +++--- xen/arch/x86/include/asm/system.h | 6 +++--- 8 files changed, 24 insertions(+), 24 deletions(-) diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h index f5daeb182b..ddf0a28f48 100644 --- a/xen/arch/x86/include/asm/domain.h +++ b/xen/arch/x86/include/asm/domain.h @@ -1,5 +1,5 @@ -#ifndef __ASM_DOMAIN_H__ -#define __ASM_DOMAIN_H__ +#ifndef ASM_X86_DOMAIN_H +#define ASM_X86_DOMAIN_H #include #include @@ -779,7 +779,7 @@ struct arch_vcpu_io { /* Maxphysaddr supportable by the paging infrastructure. */ unsigned int domain_max_paddr_bits(const struct domain *d); -#endif /* __ASM_DOMAIN_H__ */ +#endif /* ASM_X86_DOMAIN_H */ /* * Local variables: diff --git a/xen/arch/x86/include/asm/event.h b/xen/arch/x86/include/asm/event.h index 5e09ede6d7..c0b6088c91 100644 --- a/xen/arch/x86/include/asm/event.h +++ b/xen/arch/x86/include/asm/event.h @@ -6,8 +6,8 @@ * */ -#ifndef __ASM_EVENT_H__ -#define __ASM_EVENT_H__ +#ifndef ASM_X86_EVENT_H +#define ASM_X86_EVENT_H #include @@ -53,4 +53,4 @@ static inline bool arch_virq_is_global(unsigned int virq) (pv_shim && (chn)->port && (chn)->state == ECS_RESERVED) #endif -#endif +#endif /* ASM_X86_EVENT_H */ diff --git a/xen/arch/x86/include/asm/grant_table.h b/xen/arch/x86/include/asm/grant_table.h index 5c23cec90c..2468f21ad6 100644 --- a/xen/arch/x86/include/asm/grant_table.h +++ b/xen/arch/x86/include/asm/grant_table.h @@ -4,8 +4,8 @@ * Copyright (c) 2004-2005 K A Fraser */ -#ifndef __ASM_GRANT_TABLE_H__ -#define __ASM_GRANT_TABLE_H__ +#ifndef ASM_X86_GRANT_TABLE_H +#define ASM_X86_GRANT_TABLE_H #include @@ -72,4 +72,4 @@ static inline void gnttab_clear_flags(struct domain *d, #define gnttab_need_iommu_mapping(d) \ (!paging_mode_translate(d) && need_iommu_pt_sync(d)) -#endif /* __ASM_GRANT_TABLE_H__ */ +#endif /* ASM_X86_GRANT_TABLE_H */ diff --git a/xen/arch/x86/include/asm/io.h b/xen/arch/x86/include/asm/io.h index 1cb4217cff..afa1a9e69d 100644 --- a/xen/arch/x86/include/asm/io.h +++ b/xen/arch/x86/include/asm/io.h @@ -1,5 +1,5 @@ -#ifndef _ASM_IO_H -#define _ASM_IO_H +#ifndef ASM_X86_IO_H +#define ASM_X86_IO_H #include #include @@ -57,4 +57,4 @@ struct cpu_user_regs; unsigned int ioemul_handle_proliant_quirk( uint8_t opcode, char *io_emul_stub, const struct cpu_user_regs *regs); -#endif +#endif /* ASM_X86_IO_H */ diff --git a/xen/arch/x86/include/asm/irq.h b/xen/arch/x86/include/asm/irq.h index 5f445299be..aa8e4f3900 100644 --- a/xen/arch/x86/include/asm/irq.h +++ b/xen/arch/x86/include/asm/irq.h @@ -1,5 +1,5 @@ -#ifndef _ASM_HW_IRQ_H -#define _ASM_HW_IRQ_H +#ifndef ASM_X86_IRQ_H +#define ASM_X86_IRQ_H /* (C) 1992, 1993 Linus Torvalds, (C) 1997 Ingo Molnar */ @@ -231,4 +231,4 @@ int allocate_and_map_gsi_pirq(struct domain *d, int index, int *pirq_p); int allocate_and_map_msi_pirq(struct domain *d, int index, int *pirq_p, int type, struct msi_info *msi); -#endif /* _ASM_HW_IRQ_H */ +#endif /* ASM_X86_IRQ_H */ diff --git a/xen/arch/x86/include/asm/smp.h b/xen/arch/x86/include/asm/smp.h index c8c7960134..cdfe9ea96f 100644 --- a/xen/arch/x86/include/asm/smp.h +++ b/xen/arch/x86/include/asm/smp.h @@ -1,5 +1,5 @@ -#ifndef __ASM_SMP_H -#define __ASM_SMP_H +#ifndef ASM_X86_SMP_H +#define ASM_X86_SMP_H /* * We need the APIC definitions automatically as part of 'smp.h' @@ -81,4 +81,4 @@ void *cpu_alloc_stack(unsigned int cpu); #endif /* !__ASSEMBLY__ */ -#endif +#endif /* ASM_X86_SMP_H */ diff --git a/xen/arch/x86/include/asm/spinlock.h b/xen/arch/x86/include/asm/spinlock.h index 56f6095752..2a86560343 100644 --- a/xen/arch/x86/include/asm/spinlock.h +++ b/xen/arch/x86/include/asm/spinlock.h @@ -1,5 +1,5 @@ -#ifndef __ASM_SPINLOCK_H -#define __ASM_SPINLOCK_H +#ifndef ASM_X86_SPINLOCK_H +#define ASM_X86_SPINLOCK_H #define _raw_read_unlock(l) \ BUILD_BUG_ON(sizeof((l)->lock) != 4); /* Clang doesn't support %z in asm. */ \ @@ -24,4 +24,4 @@ arch_lock_signal(); \ }) -#endif /* __ASM_SPINLOCK_H */ +#endif /* ASM_X86_SPINLOCK_H */ diff --git a/xen/arch/x86/include/asm/system.h b/xen/arch/x86/include/asm/system.h index 73cb16ca68..12e8b974b1 100644 --- a/xen/arch/x86/include/asm/system.h +++ b/xen/arch/x86/include/asm/system.h @@ -1,5 +1,5 @@ -#ifndef __ASM_SYSTEM_H -#define __ASM_SYSTEM_H +#ifndef ASM_X86_SYSTEM_H +#define ASM_X86_SYSTEM_H #include #include @@ -269,4 +269,4 @@ void load_system_tables(void); void percpu_traps_init(void); void subarch_percpu_traps_init(void); -#endif +#endif /* ASM_X86_SYSTEM_H */ From patchwork Mon Jul 1 13:46:34 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alessandro Zucchelli X-Patchwork-Id: 13718121 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C06F9C2BD09 for ; Mon, 1 Jul 2024 13:47:49 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.751676.1159700 (Exim 4.92) (envelope-from ) id 1sOHNd-0000wP-Mr; Mon, 01 Jul 2024 13:47:41 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 751676.1159700; Mon, 01 Jul 2024 13:47:41 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHNd-0000wI-KF; Mon, 01 Jul 2024 13:47:41 +0000 Received: by outflank-mailman (input) for mailman id 751676; Mon, 01 Jul 2024 13:47:40 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHMg-0007ig-H7 for xen-devel@lists.xenproject.org; Mon, 01 Jul 2024 13:46:42 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 58efca8a-37b0-11ef-90a5-e314d9c70b13; Mon, 01 Jul 2024 15:46:41 +0200 (CEST) Received: from delta.bugseng.com.homenet.telecomitalia.it (host-79-60-221-62.business.telecomitalia.it [79.60.221.62]) by support.bugseng.com (Postfix) with ESMTPSA id 947DA4EE0738; Mon, 1 Jul 2024 15:46:39 +0200 (CEST) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 58efca8a-37b0-11ef-90a5-e314d9c70b13 From: Alessandro Zucchelli To: xen-devel@lists.xenproject.org Cc: consulting@bugseng.com, Alessandro Zucchelli , Andrew Cooper , Jan Beulich , Julien Grall , Stefano Stabellini Subject: [PATCH 16/17] xen/build: address violation of MISRA C Directive 4.10 Date: Mon, 1 Jul 2024 15:46:34 +0200 Message-Id: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 This addresses violations of MISRA C:2012 Rule 4.10 which states as following: Precautions shall be taken in order to prevent the contents of a header file being included more than once. Added inclusion guards for autogenerated header files: include/xen/compile.h and include/xen/hypercall-defs.h. No functional change. Signed-off-by: Alessandro Zucchelli --- xen/build.mk | 6 +++++- xen/include/Makefile | 5 ++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/xen/build.mk b/xen/build.mk index bbd4c2970f..c83882c949 100644 --- a/xen/build.mk +++ b/xen/build.mk @@ -18,6 +18,8 @@ quiet_cmd_compile.h = UPD $@ define cmd_compile.h if [ ! -r $@ -o -O $@ ]; then \ cat .banner; \ + echo '#ifndef INCLUDE_XEN_COMPILE_H' >> $(dot-target).tmp; \ + echo '#define INCLUDE_XEN_COMPILE_H' >> $(dot-target).tmp; \ sed -e 's/@@date@@/$(XEN_BUILD_DATE)/g' \ -e 's/@@time@@/$(XEN_BUILD_TIME)/g' \ -e 's/@@whoami@@/$(XEN_WHOAMI)/g' \ @@ -28,8 +30,9 @@ define cmd_compile.h -e 's/@@subversion@@/$(XEN_SUBVERSION)/g' \ -e 's/@@extraversion@@/$(XEN_EXTRAVERSION)/g' \ -e 's!@@changeset@@!$(shell $(srctree)/tools/scmversion $(XEN_ROOT) || echo "unavailable")!g' \ - < $< > $(dot-target).tmp; \ + < $< >> $(dot-target).tmp; \ sed -rf $(srctree)/tools/process-banner.sed < .banner >> $(dot-target).tmp; \ + echo '#endif /* INCLUDE_XEN_COMPILE_H */' >> $(dot-target).tmp; \ mv -f $(dot-target).tmp $@; \ fi endef @@ -40,6 +43,7 @@ include/xen/compile.h: include/xen/compile.h.in .banner FORCE targets += include/xen/compile.h + -include $(wildcard .asm-offsets.s.d) asm-offsets.s: arch/$(SRCARCH)/$(ARCH)/asm-offsets.c $(CC) $(call cpp_flags,$(c_flags)) -S -g0 -o $@.new -MQ $@ $< diff --git a/xen/include/Makefile b/xen/include/Makefile index eccc2e017a..34e133949c 100644 --- a/xen/include/Makefile +++ b/xen/include/Makefile @@ -121,7 +121,10 @@ $(obj)/compat/xlat.h: $(addprefix $(obj)/compat/.xlat/,$(xlat-y)) FORCE quiet_cmd_genhyp = GEN $@ define cmd_genhyp - awk -f $(srctree)/scripts/gen_hypercall.awk <$< >$@ + echo "#ifndef XEN_HYPERCALL_DEFS_H" >$@; \ + echo "#define XEN_HYPERCALL_DEFS_H" >>$@; \ + awk -f $(srctree)/scripts/gen_hypercall.awk <$< >>$@; \ + echo "#endif /* XEN_HYPERCALL_DEFS_H */" >>$@ endef all: $(obj)/xen/hypercall-defs.h From patchwork Mon Jul 1 13:46:35 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alessandro Zucchelli X-Patchwork-Id: 13718122 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5AF17C30653 for ; Mon, 1 Jul 2024 13:48:08 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.751680.1159710 (Exim 4.92) (envelope-from ) id 1sOHNw-0001OU-TG; Mon, 01 Jul 2024 13:48:00 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 751680.1159710; Mon, 01 Jul 2024 13:48:00 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHNw-0001ON-Qo; Mon, 01 Jul 2024 13:48:00 +0000 Received: by outflank-mailman (input) for mailman id 751680; Mon, 01 Jul 2024 13:47:58 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sOHMi-0007ig-ES for xen-devel@lists.xenproject.org; Mon, 01 Jul 2024 13:46:44 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 5a14d170-37b0-11ef-90a5-e314d9c70b13; Mon, 01 Jul 2024 15:46:43 +0200 (CEST) Received: from delta.bugseng.com.homenet.telecomitalia.it (host-79-60-221-62.business.telecomitalia.it [79.60.221.62]) by support.bugseng.com (Postfix) with ESMTPSA id 19E4F4EE0746; Mon, 1 Jul 2024 15:46:41 +0200 (CEST) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 5a14d170-37b0-11ef-90a5-e314d9c70b13 From: Alessandro Zucchelli To: xen-devel@lists.xenproject.org Cc: consulting@bugseng.com, Alessandro Zucchelli , Andrew Cooper , Jan Beulich , Julien Grall , Stefano Stabellini Subject: [RFC PATCH 17/17] CODING_STYLE: Add a section on header guards naming conventions Date: Mon, 1 Jul 2024 15:46:35 +0200 Message-Id: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 This section explains which format should be followed by header inclusion guards via a drop-down list of rules. No functional change. Signed-off-by: Alessandro Zucchelli --- CODING_STYLE | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/CODING_STYLE b/CODING_STYLE index 7f6e9ad065..87836c97d4 100644 --- a/CODING_STYLE +++ b/CODING_STYLE @@ -167,3 +167,22 @@ the end of files. It should be: * indent-tabs-mode: nil * End: */ + +Header inclusion guards +----------------------- + +Unless differently specified all header files should have proper inclusion +guards in order to avoid being included multiple times. +The following naming conventions have been devised: +- private headers -> __H +- asm-generic headers -> ASM_GENERIC__H + - #ifndef ASM_GENERIC_X86_PERCPU_H + #define ASM_GENERIC_X86_PERCPU_H + //... + #endif /* ASM_GENERIC_X86_PERCPU_H */ +- arch//include/asm//.h -> ASM____H + - #ifndef ASM_X86_DOMAIN_H + #define ASM_X86_DOMAIN_H + //... + #endif /* ASM_X86_DOMAIN_H */ +