[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [XEN PATCH v3 13/15] x86/viridian: fix violations of MISRA C:2012 Rule 7.2



On Wed, 12 Jul 2023, Simone Ballarin wrote:
> From: Gianluca Luparini <gianluca.luparini@xxxxxxxxxxx>
> 
> The xen sources contains violations of MISRA C:2012 Rule 7.2 whose
> headline states:
> "A 'u' or 'U' suffix shall be applied to all integer constants
> that are represented in an unsigned type".
> 
> Add the 'U' suffix to integers literals with unsigned type and also to other
> literals used in the same contexts or near violations, when their positive
> nature is immediately clear. The latter changes are done for the sake of
> uniformity.
> 
> Signed-off-by: Gianluca Luparini <gianluca.luparini@xxxxxxxxxxx>
> Signed-off-by: Simone Ballarin <simone.ballarin@xxxxxxxxxxx>

Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>


> ---
> Changes in v3:
> - create this commit for 'viridian.c' and 'hyperv-tlfs.h'
> ---
>  xen/arch/x86/hvm/viridian/viridian.c         |  2 +-
>  xen/arch/x86/include/asm/guest/hyperv-tlfs.h | 28 ++++++++++----------
>  2 files changed, 15 insertions(+), 15 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/viridian/viridian.c 
> b/xen/arch/x86/hvm/viridian/viridian.c
> index 7405c117bc..61171e3363 100644
> --- a/xen/arch/x86/hvm/viridian/viridian.c
> +++ b/xen/arch/x86/hvm/viridian/viridian.c
> @@ -291,7 +291,7 @@ static void enable_hypercall_page(struct domain *d)
>       * calling convention) to differentiate Xen and Viridian hypercalls.
>       */
>      *(u8  *)(p + 0) = 0x0d; /* orl $0x80000000, %eax */
> -    *(u32 *)(p + 1) = 0x80000000;
> +    *(u32 *)(p + 1) = 0x80000000U;
>      *(u8  *)(p + 5) = 0x0f; /* vmcall/vmmcall */
>      *(u8  *)(p + 6) = 0x01;
>      *(u8  *)(p + 7) = (cpu_has_vmx ? 0xc1 : 0xd9);
> diff --git a/xen/arch/x86/include/asm/guest/hyperv-tlfs.h 
> b/xen/arch/x86/include/asm/guest/hyperv-tlfs.h
> index 38f997a0c8..a6915ad731 100644
> --- a/xen/arch/x86/include/asm/guest/hyperv-tlfs.h
> +++ b/xen/arch/x86/include/asm/guest/hyperv-tlfs.h
> @@ -471,30 +471,30 @@ typedef struct _HV_REFERENCE_TSC_PAGE {
>  
>  /* Define hypervisor message types. */
>  enum hv_message_type {
> -     HVMSG_NONE                      = 0x00000000,
> +     HVMSG_NONE                      = 0x00000000U,
>  
>       /* Memory access messages. */
> -     HVMSG_UNMAPPED_GPA              = 0x80000000,
> -     HVMSG_GPA_INTERCEPT             = 0x80000001,
> +     HVMSG_UNMAPPED_GPA              = 0x80000000U,
> +     HVMSG_GPA_INTERCEPT             = 0x80000001U,
>  
>       /* Timer notification messages. */
> -     HVMSG_TIMER_EXPIRED                     = 0x80000010,
> +     HVMSG_TIMER_EXPIRED                     = 0x80000010U,
>  
>       /* Error messages. */
> -     HVMSG_INVALID_VP_REGISTER_VALUE = 0x80000020,
> -     HVMSG_UNRECOVERABLE_EXCEPTION   = 0x80000021,
> -     HVMSG_UNSUPPORTED_FEATURE               = 0x80000022,
> +     HVMSG_INVALID_VP_REGISTER_VALUE = 0x80000020U,
> +     HVMSG_UNRECOVERABLE_EXCEPTION   = 0x80000021U,
> +     HVMSG_UNSUPPORTED_FEATURE               = 0x80000022U,
>  
>       /* Trace buffer complete messages. */
> -     HVMSG_EVENTLOG_BUFFERCOMPLETE   = 0x80000040,
> +     HVMSG_EVENTLOG_BUFFERCOMPLETE   = 0x80000040U,
>  
>       /* Platform-specific processor intercept messages. */
> -     HVMSG_X64_IOPORT_INTERCEPT              = 0x80010000,
> -     HVMSG_X64_MSR_INTERCEPT         = 0x80010001,
> -     HVMSG_X64_CPUID_INTERCEPT               = 0x80010002,
> -     HVMSG_X64_EXCEPTION_INTERCEPT   = 0x80010003,
> -     HVMSG_X64_APIC_EOI                      = 0x80010004,
> -     HVMSG_X64_LEGACY_FP_ERROR               = 0x80010005
> +     HVMSG_X64_IOPORT_INTERCEPT              = 0x80010000U,
> +     HVMSG_X64_MSR_INTERCEPT         = 0x80010001U,
> +     HVMSG_X64_CPUID_INTERCEPT               = 0x80010002U,
> +     HVMSG_X64_EXCEPTION_INTERCEPT   = 0x80010003U,
> +     HVMSG_X64_APIC_EOI                      = 0x80010004U,
> +     HVMSG_X64_LEGACY_FP_ERROR               = 0x80010005U
>  };
>  
>  /* Define synthetic interrupt controller message flags. */
> -- 
> 2.41.0
> 



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.