[PATCH V2 1/4] x86/kvm: Resolve some missing-initializers warnings

Mark D Rustad
2014-07-30T21:18:52Z

Resolve some missing-initializers warnings that appear in W=2
builds. They are resolved by adding the name as a parameter to
the macros and having the macro generate all four fields of the
structure.

Signed-off-by: Mark Rustad <mark.d.rustad@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>

---
V2: Change macro to supply all four fields instead of using a
designated initializer. Also fix up the array terminator.
---
arch/x86/kvm/x86.c | 71 ++++++++++++++++++++++++++--------------------------
1 file changed, 36 insertions(+), 35 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index ef432f891d30..623aea52ceba 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -82,8 +82,9 @@ u64 __read_mostly efer_reserved_bits = ~((u64)(EFER_SCE | EFER_LME | EFER_LMA));
static u64 __read_mostly efer_reserved_bits = ~((u64)EFER_SCE);
#endif

-#define VM_STAT(x) offsetof(struct kvm, stat.x), KVM_STAT_VM
-#define VCPU_STAT(x) offsetof(struct kvm_vcpu, stat.x), KVM_STAT_VCPU
+#define VM_STAT(name, x) name, offsetof(struct kvm, stat.x), KVM_STAT_VM, NULL
+#define VCPU_STAT(name, x) name, offsetof(struct kvm_vcpu, stat.x), \
+ KVM_STAT_VCPU, NULL

static void update_cr8_intercept(struct kvm_vcpu *vcpu);
static void process_nmi(struct kvm_vcpu *vcpu);
@@ -128,39 +129,39 @@ static struct kvm_shared_msrs_global __read_mostly shared_msrs_global;
static struct kvm_shared_msrs __percpu *shared_msrs;

struct kvm_stats_debugfs_item debugfs_entries[] = {
- { "pf_fixed", VCPU_STAT(pf_fixed) },
- { "pf_guest", VCPU_STAT(pf_guest) },
- { "tlb_flush", VCPU_STAT(tlb_flush) },
- { "invlpg", VCPU_STAT(invlpg) },
- { "exits", VCPU_STAT(exits) },
- { "io_exits", VCPU_STAT(io_exits) },
- { "mmio_exits", VCPU_STAT(mmio_exits) },
- { "signal_exits", VCPU_STAT(signal_exits) },
- { "irq_window", VCPU_STAT(irq_window_exits) },
- { "nmi_window", VCPU_STAT(nmi_window_exits) },
- { "halt_exits", VCPU_STAT(halt_exits) },
- { "halt_wakeup", VCPU_STAT(halt_wakeup) },
- { "hypercalls", VCPU_STAT(hypercalls) },
- { "request_irq", VCPU_STAT(request_irq_exits) },
- { "irq_exits", VCPU_STAT(irq_exits) },
- { "host_state_reload", VCPU_STAT(host_state_reload) },
- { "efer_reload", VCPU_STAT(efer_reload) },
- { "fpu_reload", VCPU_STAT(fpu_reload) },
- { "insn_emulation", VCPU_STAT(insn_emulation) },
- { "insn_emulation_fail", VCPU_STAT(insn_emulation_fail) },
- { "irq_injections", VCPU_STAT(irq_injections) },
- { "nmi_injections", VCPU_STAT(nmi_injections) },
- { "mmu_shadow_zapped", VM_STAT(mmu_shadow_zapped) },
- { "mmu_pte_write", VM_STAT(mmu_pte_write) },
- { "mmu_pte_updated", VM_STAT(mmu_pte_updated) },
- { "mmu_pde_zapped", VM_STAT(mmu_pde_zapped) },
- { "mmu_flooded", VM_STAT(mmu_flooded) },
- { "mmu_recycled", VM_STAT(mmu_recycled) },
- { "mmu_cache_miss", VM_STAT(mmu_cache_miss) },
- { "mmu_unsync", VM_STAT(mmu_unsync) },
- { "remote_tlb_flush", VM_STAT(remote_tlb_flush) },
- { "largepages", VM_STAT(lpages) },
- { NULL }
+ { VCPU_STAT("pf_fixed", pf_fixed) },
+ { VCPU_STAT("pf_guest", pf_guest) },
+ { VCPU_STAT("tlb_flush", tlb_flush) },
+ { VCPU_STAT("invlpg", invlpg) },
+ { VCPU_STAT("exits", exits) },
+ { VCPU_STAT("io_exits", io_exits) },
+ { VCPU_STAT("mmio_exits", mmio_exits) },
+ { VCPU_STAT("signal_exits", signal_exits) },
+ { VCPU_STAT("irq_window", irq_window_exits) },
+ { VCPU_STAT("nmi_window", nmi_window_exits) },
+ { VCPU_STAT("halt_exits", halt_exits) },
+ { VCPU_STAT("halt_wakeup", halt_wakeup) },
+ { VCPU_STAT("hypercalls", hypercalls) },
+ { VCPU_STAT("request_irq", request_irq_exits) },
+ { VCPU_STAT("irq_exits", irq_exits) },
+ { VCPU_STAT("host_state_reload", host_state_reload) },
+ { VCPU_STAT("efer_reload", efer_reload) },
+ { VCPU_STAT("fpu_reload", fpu_reload) },
+ { VCPU_STAT("insn_emulation", insn_emulation) },
+ { VCPU_STAT("insn_emulation_fail", insn_emulation_fail) },
+ { VCPU_STAT("irq_injections", irq_injections) },
+ { VCPU_STAT("nmi_injections", nmi_injections) },
+ { VM_STAT("mmu_shadow_zapped", mmu_shadow_zapped) },
+ { VM_STAT("mmu_pte_write", mmu_pte_write) },
+ { VM_STAT("mmu_pte_updated", mmu_pte_updated) },
+ { VM_STAT("mmu_pde_zapped", mmu_pde_zapped) },
+ { VM_STAT("mmu_flooded", mmu_flooded) },
+ { VM_STAT("mmu_recycled", mmu_recycled) },
+ { VM_STAT("mmu_cache_miss", mmu_cache_miss) },
+ { VM_STAT("mmu_unsync", mmu_unsync) },
+ { VM_STAT("remote_tlb_flush", remote_tlb_flush) },
+ { VM_STAT("largepages", lpages) },
+ { NULL, 0, 0, NULL }
};

u64 __read_mostly host_xcr0;