[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 1/4] xen/arm: traps: Fix MISRA C 2012 Rule 8.4 violations
On Tue, 5 Jul 2022, Julien Grall wrote: > Hi Xenia, > > On 05/07/2022 22:49, Xenia Ragiadakou wrote: > > On 7/6/22 00:28, Julien Grall wrote: > > > Hi Xenia, > > > > > > On 05/07/2022 22:02, Xenia Ragiadakou wrote: > > > > Add the function prototypes of the functions below in <asm/processor.h> > > > > header > > > > file so that they are visible before the function definitions in > > > > traps.c. > > > > enter_hypervisor_from_guest_preirq() > > > > enter_hypervisor_from_guest() > > > > do_trap_hyp_sync() > > > > do_trap_guest_sync() > > > > do_trap_irq() > > > > do_trap_fiq() > > > > leave_hypervisor_to_guest() > > > > > > I have actually came across those missing prototypes in the past and I > > > have refrained to add them because they are not meant to be called from C. > > > > > > While I agree this is a violation of Misra C, I am still not convinced > > > they should be added (there is no need to verify the prototype). > > > > Yes, there is no need. Here, I decided to follow the example of > > do_trap_hyp_serror() and do_trap_guest_serror() for consistency. > > do_trap_guest_serror() is called from C code (see arch/arm32/traps.c). > > do_trap_hyp_serror() is called only from assembly. I would argue that if you > want consistency, then you should drop the prototype rather than modifying 90% > of the other examples. > > Otherwise, this is not really consistency but more a design choice (you want > to be fully compliant with MISRA). Actually I am not sure that MISRA requires prototypes for assembly functions only meant to be called from assembly. I think MISRA requires detailed docs for anything assembly, but I don't think it requires C prototypes for all assembly functions. So I think we could skip them for now. At some point we'll discuss what we need to do for the assembly code but we haven't tackled that yet.
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |