|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XEN PATCH v3 05/16] xen/x86: address violations of MISRA C:2012 Directive 4.10
On 11.03.2024 09:59, Simone Ballarin wrote:
> --- a/xen/arch/x86/Makefile
> +++ b/xen/arch/x86/Makefile
> @@ -258,18 +258,20 @@ $(obj)/asm-macros.i: CFLAGS-y += -P
> $(objtree)/arch/x86/include/asm/asm-macros.h: $(obj)/asm-macros.i
> $(src)/Makefile
> $(call filechk,asm-macros.h)
>
> +ARCHDIR = $(shell echo $(SRCARCH) | tr a-z A-Z)
This wants to use :=, I think - there's no reason to invoke the shell ...
> define filechk_asm-macros.h
> + echo '#ifndef ASM_$(ARCHDIR)_ASM_MACROS_H'; \
> + echo '#define ASM_$(ARCHDIR)_ASM_MACROS_H'; \
> 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 /* ASM_$(ARCHDIR)_ASM_MACROS_H */'
> endef
... three times while expanding this macro. Alternatively (to avoid
an unnecessary shell invocation when this macro is never expanded at
all) a shell variable inside the "define" above would want introducing.
Whether this 2nd approach is better depends on whether we anticipate
further uses of ARCHDIR.
> --- a/xen/arch/x86/cpu/cpu.h
> +++ b/xen/arch/x86/cpu/cpu.h
> @@ -1,3 +1,6 @@
> +#ifndef XEN_ARCH_X86_CPU_CPU_H
> +#define XEN_ARCH_X86_CPU_CPU_H
> +
> /* attempt to consolidate cpu attributes */
> struct cpu_dev {
> void (*c_early_init)(struct cpuinfo_x86 *c);
> @@ -24,3 +27,5 @@ void amd_init_lfence(struct cpuinfo_x86 *c);
> void amd_init_ssbd(const struct cpuinfo_x86 *c);
> void amd_init_spectral_chicken(void);
> void detect_zen2_null_seg_behaviour(void);
> +
> +#endif /* XEN_ARCH_X86_CPU_CPU_H */
Leaving aside the earlier voiced request to get rid of the XEN_ prefixes
here, ...
> --- a/xen/arch/x86/x86_64/mmconfig.h
> +++ b/xen/arch/x86/x86_64/mmconfig.h
> @@ -5,6 +5,9 @@
> * Author: Allen Kay <allen.m.kay@xxxxxxxxx> - adapted from linux
> */
>
> +#ifndef XEN_ARCH_X86_X86_64_MMCONFIG_H
> +#define XEN_ARCH_X86_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 /* XEN_ARCH_X86_X86_64_MMCONFIG_H */
... in a case like this and maybe even ...
> --- 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 XEN_ARCH_X86_X86_EMULATE_PRIVATE_H
> +#define XEN_ARCH_X86_X86_EMULATE_PRIVATE_H
> +
> #ifdef __XEN__
>
> # include <xen/bug.h>
> @@ -836,3 +839,5 @@ static inline int read_ulong(enum x86_segment seg,
> *val = 0;
> return ops->read(seg, offset, val, bytes, ctxt);
> }
> +
> +#endif /* XEN_ARCH_X86_X86_EMULATE_PRIVATE_H */
... this I wonder whether they are too strictly sticking to the base
scheme (or whether the base scheme itself isn't flexible enough): I'm
not overly happy with the "_X86_X86_" in there. Especially in the
former case, where it's the sub-arch path, like for arm/arm<NN> I'd
like to see that folded to just "_X86_64_" here as well.
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |