Hi Oliver, kernel test robot noticed the following build errors: [auto build test ERROR on 6465e260f48790807eef06b583b38ca9789b6072] url: https://github.com/intel-lab-lkp/linux/commits/Oliver-Upton/KVM-arm64-Make-PMEVTYPER-n-_EL0-NSH-RES0-if-EL2-isn-t-advertised/20231020-025836 base: 6465e260f48790807eef06b583b38ca9789b6072 patch link: https://lore.kernel.org/r/20231019185618.3442949-2-oliver.upton%40linux.dev patch subject: [PATCH v3 1/2] KVM: arm64: Make PMEVTYPER<n>_EL0.NSH RES0 if EL2 isn't advertised config: arm64-randconfig-004-20231023 (https://download.01.org/0day-ci/archive/20231024/202310241025.FmLnpSTG-lkp@xxxxxxxxx/config) compiler: aarch64-linux-gcc (GCC) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231024/202310241025.FmLnpSTG-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202310241025.FmLnpSTG-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): arch/arm64/kvm/sys_regs.c: In function 'reset_pmevtyper': >> arch/arm64/kvm/sys_regs.c:754:41: error: too many arguments to function 'kvm_pmu_evtyper_mask' 754 | __vcpu_sys_reg(vcpu, r->reg) &= kvm_pmu_evtyper_mask(vcpu->kvm); | ^~~~~~~~~~~~~~~~~~~~ In file included from arch/arm64/include/asm/kvm_host.h:37, from include/linux/kvm_host.h:45, from arch/arm64/kvm/sys_regs.c:15: include/kvm/arm_pmu.h:176:19: note: declared here 176 | static inline u64 kvm_pmu_evtyper_mask(void) | ^~~~~~~~~~~~~~~~~~~~ arch/arm64/kvm/sys_regs.c: At top level: arch/arm64/kvm/sys_regs.c:2174:20: warning: initialized field overwritten [-Woverride-init] 2174 | .reset = reset_pmcr, .reg = PMCR_EL0 }, | ^~~~~~~~~~ arch/arm64/kvm/sys_regs.c:2174:20: note: (near initialization for 'sys_reg_descs[233].reset') In file included from include/uapi/linux/posix_types.h:5, from include/uapi/linux/types.h:14, from include/linux/types.h:6, from include/linux/kasan-checks.h:5, from include/asm-generic/rwonce.h:26, from arch/arm64/include/asm/rwonce.h:71, from include/linux/compiler.h:246, from include/linux/build_bug.h:5, from include/linux/bitfield.h:10, from arch/arm64/kvm/sys_regs.c:12: include/linux/stddef.h:8:14: warning: initialized field overwritten [-Woverride-init] 8 | #define NULL ((void *)0) | ^ arch/arm64/kvm/sys_regs.c:2187:46: note: in expansion of macro 'NULL' 2187 | .access = access_pmswinc, .reset = NULL }, | ^~~~ include/linux/stddef.h:8:14: note: (near initialization for 'sys_reg_descs[237].reset') 8 | #define NULL ((void *)0) | ^ arch/arm64/kvm/sys_regs.c:2187:46: note: in expansion of macro 'NULL' 2187 | .access = access_pmswinc, .reset = NULL }, | ^~~~ arch/arm64/kvm/sys_regs.c:2189:45: warning: initialized field overwritten [-Woverride-init] 2189 | .access = access_pmselr, .reset = reset_pmselr, .reg = PMSELR_EL0 }, | ^~~~~~~~~~~~ arch/arm64/kvm/sys_regs.c:2189:45: note: (near initialization for 'sys_reg_descs[238].reset') include/linux/stddef.h:8:14: warning: initialized field overwritten [-Woverride-init] 8 | #define NULL ((void *)0) | ^ arch/arm64/kvm/sys_regs.c:2191:45: note: in expansion of macro 'NULL' 2191 | .access = access_pmceid, .reset = NULL }, | ^~~~ include/linux/stddef.h:8:14: note: (near initialization for 'sys_reg_descs[239].reset') 8 | #define NULL ((void *)0) | ^ arch/arm64/kvm/sys_regs.c:2191:45: note: in expansion of macro 'NULL' 2191 | .access = access_pmceid, .reset = NULL }, | ^~~~ include/linux/stddef.h:8:14: warning: initialized field overwritten [-Woverride-init] 8 | #define NULL ((void *)0) | ^ arch/arm64/kvm/sys_regs.c:2193:45: note: in expansion of macro 'NULL' 2193 | .access = access_pmceid, .reset = NULL }, | ^~~~ include/linux/stddef.h:8:14: note: (near initialization for 'sys_reg_descs[240].reset') 8 | #define NULL ((void *)0) | ^ arch/arm64/kvm/sys_regs.c:2193:45: note: in expansion of macro 'NULL' 2193 | .access = access_pmceid, .reset = NULL }, | ^~~~ arch/arm64/kvm/sys_regs.c:2195:49: warning: initialized field overwritten [-Woverride-init] 2195 | .access = access_pmu_evcntr, .reset = reset_unknown, | ^~~~~~~~~~~~~ arch/arm64/kvm/sys_regs.c:2195:49: note: (near initialization for 'sys_reg_descs[241].reset') include/linux/stddef.h:8:14: warning: initialized field overwritten [-Woverride-init] 8 | #define NULL ((void *)0) | ^ arch/arm64/kvm/sys_regs.c:2198:50: note: in expansion of macro 'NULL' 2198 | .access = access_pmu_evtyper, .reset = NULL }, | ^~~~ include/linux/stddef.h:8:14: note: (near initialization for 'sys_reg_descs[242].reset') 8 | #define NULL ((void *)0) | ^ arch/arm64/kvm/sys_regs.c:2198:50: note: in expansion of macro 'NULL' 2198 | .access = access_pmu_evtyper, .reset = NULL }, | ^~~~ include/linux/stddef.h:8:14: warning: initialized field overwritten [-Woverride-init] 8 | #define NULL ((void *)0) | ^ arch/arm64/kvm/sys_regs.c:2200:49: note: in expansion of macro 'NULL' 2200 | .access = access_pmu_evcntr, .reset = NULL }, | ^~~~ include/linux/stddef.h:8:14: note: (near initialization for 'sys_reg_descs[243].reset') 8 | #define NULL ((void *)0) | ^ arch/arm64/kvm/sys_regs.c:2200:49: note: in expansion of macro 'NULL' 2200 | .access = access_pmu_evcntr, .reset = NULL }, | ^~~~ arch/arm64/kvm/sys_regs.c:2206:20: warning: initialized field overwritten [-Woverride-init] 2206 | .reset = reset_val, .reg = PMUSERENR_EL0, .val = 0 }, | ^~~~~~~~~ arch/arm64/kvm/sys_regs.c:2206:20: note: (near initialization for 'sys_reg_descs[244].reset') arch/arm64/kvm/sys_regs.c:1128:20: warning: initialized field overwritten [-Woverride-init] 1128 | .reset = reset_pmevcntr, .get_user = get_pmu_evcntr, \ | ^~~~~~~~~~~~~~ arch/arm64/kvm/sys_regs.c:2296:9: note: in expansion of macro 'PMU_PMEVCNTR_EL0' 2296 | PMU_PMEVCNTR_EL0(0), vim +/kvm_pmu_evtyper_mask +754 arch/arm64/kvm/sys_regs.c 746 747 static u64 reset_pmevtyper(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) 748 { 749 /* This thing will UNDEF, who cares about the reset value? */ 750 if (!kvm_vcpu_has_pmu(vcpu)) 751 return 0; 752 753 reset_unknown(vcpu, r); > 754 __vcpu_sys_reg(vcpu, r->reg) &= kvm_pmu_evtyper_mask(vcpu->kvm); 755 756 return __vcpu_sys_reg(vcpu, r->reg); 757 } 758 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki