[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XEN PATCH 02/11] x86: move declarations to address MISRA C:2012 Rule 2.1
On Wed, 2 Aug 2023, Nicola Vetrini wrote: > Variable declarations between a switch statement guard and before > any case label are unreachable code, and hence violate Rule 2.1: > "A project shall not contain unreachable code". > > Therefore the declarations are moved in the smallest enclosing > scope, near other variable definitions. > > Signed-off-by: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx> > --- > xen/arch/x86/cpuid.c | 3 +-- > xen/arch/x86/domain.c | 23 +++++++++++------------ > xen/arch/x86/irq.c | 3 +-- > xen/arch/x86/msr.c | 3 +-- > 4 files changed, 14 insertions(+), 18 deletions(-) > > diff --git a/xen/arch/x86/cpuid.c b/xen/arch/x86/cpuid.c > index 455a09b2dd..90e1370e90 100644 > --- a/xen/arch/x86/cpuid.c > +++ b/xen/arch/x86/cpuid.c > @@ -37,6 +37,7 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf, > { > const struct domain *d = v->domain; > const struct cpu_policy *p = d->arch.cpu_policy; > + const struct cpu_user_regs *regs; > > *res = EMPTY_LEAF; > > @@ -136,8 +137,6 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf, > */ > switch ( leaf ) > { > - const struct cpu_user_regs *regs; > - > case 0x1: > /* TODO: Rework topology logic. */ > res->b &= 0x00ffffffu; > diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c > index 5f66c2ae33..015f7b14ab 100644 > --- a/xen/arch/x86/domain.c > +++ b/xen/arch/x86/domain.c > @@ -2268,6 +2268,17 @@ int domain_relinquish_resources(struct domain *d) > { > int ret; > struct vcpu *v; > + enum { > + PROG_iommu_pagetables = 1, > + PROG_shared, > + PROG_paging, > + PROG_vcpu_pagetables, > + PROG_xen, > + PROG_l4, > + PROG_l3, > + PROG_l2, > + PROG_done, > + }; > > BUG_ON(!cpumask_empty(d->dirty_cpumask)); > > @@ -2291,18 +2302,6 @@ int domain_relinquish_resources(struct domain *d) > #define PROGRESS(x) \ > d->arch.rel_priv = PROG_ ## x; /* Fallthrough */ case PROG_ ## x > > - enum { > - PROG_iommu_pagetables = 1, > - PROG_shared, > - PROG_paging, > - PROG_vcpu_pagetables, > - PROG_xen, > - PROG_l4, > - PROG_l3, > - PROG_l2, > - PROG_done, > - }; > - > case 0: > ret = pci_release_devices(d); > if ( ret ) > diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c > index 6abfd81621..4fd0cc163d 100644 > --- a/xen/arch/x86/irq.c > +++ b/xen/arch/x86/irq.c > @@ -1135,6 +1135,7 @@ static void cf_check irq_guest_eoi_timer_fn(void *data) > struct irq_desc *desc = data; > unsigned int i, irq = desc - irq_desc; > irq_guest_action_t *action; > + cpumask_t *cpu_eoi_map; > > spin_lock_irq(&desc->lock); > > @@ -1169,8 +1170,6 @@ static void cf_check irq_guest_eoi_timer_fn(void *data) > > switch ( action->ack_type ) > { > - cpumask_t *cpu_eoi_map; It is only used by case ACKTYPE_EOI so it can be moved there (with a new block): case ACKTYPE_EOI: { cpumask_t *cpu_eoi_map = this_cpu(scratch_cpumask); cpumask_copy(cpu_eoi_map, action->cpu_eoi_map); spin_unlock_irq(&desc->lock); on_selected_cpus(cpu_eoi_map, set_eoi_ready, desc, 0); return; } } > case ACKTYPE_UNMASK: > if ( desc->handler->end ) > desc->handler->end(desc, 0); > diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c > index ecf126566d..0e61e0fe4e 100644 > --- a/xen/arch/x86/msr.c > +++ b/xen/arch/x86/msr.c > @@ -335,11 +335,10 @@ int guest_wrmsr(struct vcpu *v, uint32_t msr, uint64_t > val) > const struct cpu_policy *cp = d->arch.cpu_policy; > struct vcpu_msrs *msrs = v->arch.msrs; > int ret = X86EMUL_OKAY; > + uint64_t rsvd; > > switch ( msr ) > { > - uint64_t rsvd; > - It is only used by case MSR_INTEL_MISC_FEATURES_ENABLES so it can be moved there > /* Read-only */ > case MSR_IA32_PLATFORM_ID: > case MSR_CORE_CAPABILITIES: > -- > 2.34.1 >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |