[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v4 2/2] arm/gic_v3: address violations of MISRA C Rule 2.1
MISRA C Rule 2.1 states: "A project shall not contain unreachable code". In certain build configuration the following 'gicv3_its_setup_collection()' function is defined as inline and contains the macro 'BUG()'. This resulted in violation due to the function became non-returning. To ensure compliance with MISRA C Rule 2.1 remove inline function and its 'BUG()'-based unreachable code. Provide unconditional function declaration for 'gicv3_its_setup_collection()'. Rely on the compiler's DCE to remove unused function calls, and use the 'gicv3_its_host_has_its()' predicate, which always returns false when 'CONFIG_HAS_ITS' is disabled, to statically resolve conditional branches: if ( gicv3_its_host_has_its() ) { ... ret = gicv3_its_setup_collection(smp_processor_id()); if ( ret ) return ret; } Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@xxxxxxxx> --- xen/arch/arm/include/asm/gic_v3_its.h | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/xen/arch/arm/include/asm/gic_v3_its.h b/xen/arch/arm/include/asm/gic_v3_its.h index 0737e67aa6..fc5a84892c 100644 --- a/xen/arch/arm/include/asm/gic_v3_its.h +++ b/xen/arch/arm/include/asm/gic_v3_its.h @@ -131,6 +131,8 @@ struct host_its { unsigned int flags; }; +/* Map a collection for this host CPU to each host ITS. */ +int gicv3_its_setup_collection(unsigned int cpu); #ifdef CONFIG_HAS_ITS @@ -160,9 +162,6 @@ int gicv3_its_init(void); void gicv3_set_redist_address(paddr_t address, unsigned int redist_id); uint64_t gicv3_get_redist_address(unsigned int cpu, bool use_pta); -/* Map a collection for this host CPU to each host ITS. */ -int gicv3_its_setup_collection(unsigned int cpu); - /* Initialize and destroy the per-domain parts of the virtual ITS support. */ int vgic_v3_its_init_domain(struct domain *d); void vgic_v3_its_free_domain(struct domain *d); @@ -256,12 +255,6 @@ static inline void gicv3_set_redist_address(paddr_t address, { } -static inline int gicv3_its_setup_collection(unsigned int cpu) -{ - /* We should never get here without an ITS. */ - BUG(); -} - static inline int vgic_v3_its_init_domain(struct domain *d) { return 0; -- 2.43.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |