qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] target-i386: kvm: do not initialize padding fie


From: Peter Maydell
Subject: Re: [Qemu-devel] [PATCH] target-i386: kvm: do not initialize padding fields
Date: Thu, 18 Oct 2018 14:03:30 +0100

On 18 October 2018 at 13:33, Paolo Bonzini <address@hidden> wrote:
> The exception.pad field is going to be renamed to pending in an upcoming 
> header
> file update.  Remove the unnecessary initialization.
>
> Signed-off-by: Paolo Bonzini <address@hidden>
> ---
>  linux-headers/asm-x86/kvm.h | 5 +----
>  target/i386/kvm.c           | 2 --
>  2 files changed, 1 insertion(+), 6 deletions(-)
>
> diff --git a/linux-headers/asm-x86/kvm.h b/linux-headers/asm-x86/kvm.h
> index 7a7acf9e47..dabfcf7c39 100644
> --- a/linux-headers/asm-x86/kvm.h
> +++ b/linux-headers/asm-x86/kvm.h
> @@ -300,10 +300,7 @@ struct kvm_vcpu_events {
>                 __u8 injected;
>                 __u8 nr;
>                 __u8 has_error_code;
> -               union {
> -                       __u8 pad;
> -                       __u8 pending;
> -               }
> +               __u8 pending;
>                 __u32 error_code;
>         } exception;
>         struct {

Do we need to include this hand-edited update to the linux-headers/
in this patch, or could we just drop the initializations, and leave
the header itself to be changed by some future update ?

> diff --git a/target/i386/kvm.c b/target/i386/kvm.c
> index 6e5f951f4f..74193b1b9d 100644
> --- a/target/i386/kvm.c
> +++ b/target/i386/kvm.c
> @@ -2696,7 +2696,6 @@ static int kvm_put_vcpu_events(X86CPU *cpu, int level)
>      events.exception.nr = env->exception_injected;
>      events.exception.has_error_code = env->has_error_code;
>      events.exception.error_code = env->error_code;
> -    events.exception.pad = 0;
>
>      events.interrupt.injected = (env->interrupt_injected >= 0);
>      events.interrupt.nr = env->interrupt_injected;
> @@ -2705,7 +2704,6 @@ static int kvm_put_vcpu_events(X86CPU *cpu, int level)
>      events.nmi.injected = env->nmi_injected;
>      events.nmi.pending = env->nmi_pending;
>      events.nmi.masked = !!(env->hflags2 & HF2_NMI_MASK);
> -    events.nmi.pad = 0;
>
>      events.sipi_vector = env->sipi_vector;
>      events.flags = 0;

You could also mention in the commit message:
 * these initializers were added by commit 7e680753cfa2
   in order to suppress a valgrind warning
 * they were rendered unnecessary by the later commit 076796f8fd27f4d,
   which added the "= {}" initializer to the declaration of "events",
   thus zero-initializing the whole struct (and so this patch does
   not change behaviour at all)

thanks
-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]