[PATCH 08/12] Arm/GIC: add noreturn in a few more places
Jan Beulich <[email protected]>
| Newsgroups | gmane.comp.emulators.xen.devel |
|---|---|
| Message-ID | <[email protected]> |
LPI related functions having just BUG() in them are disliked by Misra / Eclair, as long as they don't also have a noreturn attribute. Signed-off-by: Jan Beulich <[email protected]> --- From its description "Unreachability caused by calls to the following functions or macros is deliberate and there is no risk of code being unexpectedly left out." I would have expected the respective entry in deviations.ecl to cover all of these cases, but clearly that isn't the case. Of course having noreturn on functions returning non-void is somewhat odd. --- a/xen/arch/arm/gic-v2.c +++ b/xen/arch/arm/gic-v2.c @@ -1315,7 +1315,7 @@ static int __init gicv2_init(void) return 0; } -static void gicv2_do_LPI(unsigned int lpi) +static void noreturn gicv2_do_LPI(unsigned int lpi) { /* No LPIs in a GICv2 */ BUG(); --- a/xen/arch/arm/include/asm/gic_v3_its.h +++ b/xen/arch/arm/include/asm/gic_v3_its.h @@ -229,7 +229,7 @@ static inline unsigned int vgic_v3_its_c return 0; } -static inline void gicv3_do_LPI(unsigned int lpi) +static inline void noreturn gicv3_do_LPI(unsigned int lpi) { /* We don't enable LPIs without an ITS. */ BUG(); --- a/xen/arch/arm/vgic-v2.c +++ b/xen/arch/arm/vgic-v2.c @@ -718,14 +718,15 @@ static void vgic_v2_domain_free(struct d /* Nothing to be cleanup for this driver */ } -static struct pending_irq *vgic_v2_lpi_to_pending(struct domain *d, - unsigned int vlpi) +static struct pending_irq *noreturn vgic_v2_lpi_to_pending(struct domain *d, + unsigned int vlpi) { /* Dummy function, no LPIs on a VGICv2. */ BUG(); } -static int vgic_v2_lpi_get_priority(struct domain *d, unsigned int vlpi) +static int noreturn vgic_v2_lpi_get_priority(struct domain *d, + unsigned int vlpi) { /* Dummy function, no LPIs on a VGICv2. */ BUG();