[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