[arm-platforms:kvm-arm64/pmu-chained 11/12] arch/arm64/kvm/sys_regs.c:657:14: error: implicit declaration of function 'kvm_pmu_is_3p5'
kernel test robot
lkp at intel.com
Thu Aug 4 09:33:08 PDT 2022
tree: https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git kvm-arm64/pmu-chained
head: 25e7e43793084f1e12b6d2af4b88e5aed1e3cc38
commit: 8f19cbf8bf872b305553565193ffd1f995226356 [11/12] Implement long counter support
config: arm64-buildonly-randconfig-r005-20220804 (https://download.01.org/0day-ci/archive/20220805/202208050057.DLMqWhpP-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git/commit/?id=8f19cbf8bf872b305553565193ffd1f995226356
git remote add arm-platforms https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git
git fetch --no-tags arm-platforms kvm-arm64/pmu-chained
git checkout 8f19cbf8bf872b305553565193ffd1f995226356
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash arch/arm64/kvm/
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp at intel.com>
All errors (new ones prefixed by >>):
arch/arm64/kvm/sys_regs.c: In function 'reset_pmcr':
>> arch/arm64/kvm/sys_regs.c:657:14: error: implicit declaration of function 'kvm_pmu_is_3p5' [-Werror=implicit-function-declaration]
657 | if (!kvm_pmu_is_3p5(vcpu))
| ^~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c: At top level:
arch/arm64/kvm/sys_regs.c:1678:20: warning: initialized field overwritten [-Woverride-init]
1678 | .reset = reset_pmcr, .reg = PMCR_EL0 },
| ^~~~~~~~~~
arch/arm64/kvm/sys_regs.c:1678:20: note: (near initialization for 'sys_reg_descs[220].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:248,
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:1691:46: note: in expansion of macro 'NULL'
1691 | .access = access_pmswinc, .reset = NULL },
| ^~~~
include/linux/stddef.h:8:14: note: (near initialization for 'sys_reg_descs[224].reset')
8 | #define NULL ((void *)0)
| ^
arch/arm64/kvm/sys_regs.c:1691:46: note: in expansion of macro 'NULL'
1691 | .access = access_pmswinc, .reset = NULL },
| ^~~~
arch/arm64/kvm/sys_regs.c:1693:45: warning: initialized field overwritten [-Woverride-init]
1693 | .access = access_pmselr, .reset = reset_pmselr, .reg = PMSELR_EL0 },
| ^~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:1693:45: note: (near initialization for 'sys_reg_descs[225].reset')
include/linux/stddef.h:8:14: warning: initialized field overwritten [-Woverride-init]
8 | #define NULL ((void *)0)
| ^
arch/arm64/kvm/sys_regs.c:1695:45: note: in expansion of macro 'NULL'
1695 | .access = access_pmceid, .reset = NULL },
| ^~~~
include/linux/stddef.h:8:14: note: (near initialization for 'sys_reg_descs[226].reset')
8 | #define NULL ((void *)0)
| ^
arch/arm64/kvm/sys_regs.c:1695:45: note: in expansion of macro 'NULL'
1695 | .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:1697:45: note: in expansion of macro 'NULL'
1697 | .access = access_pmceid, .reset = NULL },
| ^~~~
include/linux/stddef.h:8:14: note: (near initialization for 'sys_reg_descs[227].reset')
8 | #define NULL ((void *)0)
| ^
arch/arm64/kvm/sys_regs.c:1697:45: note: in expansion of macro 'NULL'
1697 | .access = access_pmceid, .reset = NULL },
| ^~~~
arch/arm64/kvm/sys_regs.c:1699:49: warning: initialized field overwritten [-Woverride-init]
1699 | .access = access_pmu_evcntr, .reset = reset_unknown, .reg = PMCCNTR_EL0 },
| ^~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:1699:49: note: (near initialization for 'sys_reg_descs[228].reset')
include/linux/stddef.h:8:14: warning: initialized field overwritten [-Woverride-init]
8 | #define NULL ((void *)0)
| ^
arch/arm64/kvm/sys_regs.c:1701:50: note: in expansion of macro 'NULL'
1701 | .access = access_pmu_evtyper, .reset = NULL },
| ^~~~
include/linux/stddef.h:8:14: note: (near initialization for 'sys_reg_descs[229].reset')
8 | #define NULL ((void *)0)
| ^
arch/arm64/kvm/sys_regs.c:1701:50: note: in expansion of macro 'NULL'
1701 | .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:1703:49: note: in expansion of macro 'NULL'
1703 | .access = access_pmu_evcntr, .reset = NULL },
| ^~~~
include/linux/stddef.h:8:14: note: (near initialization for 'sys_reg_descs[230].reset')
8 | #define NULL ((void *)0)
| ^
arch/arm64/kvm/sys_regs.c:1703:49: note: in expansion of macro 'NULL'
1703 | .access = access_pmu_evcntr, .reset = NULL },
| ^~~~
arch/arm64/kvm/sys_regs.c:1709:20: warning: initialized field overwritten [-Woverride-init]
1709 | .reset = reset_val, .reg = PMUSERENR_EL0, .val = 0 },
| ^~~~~~~~~
arch/arm64/kvm/sys_regs.c:1709:20: note: (near initialization for 'sys_reg_descs[231].reset')
arch/arm64/kvm/sys_regs.c:990:20: warning: initialized field overwritten [-Woverride-init]
990 | .reset = reset_pmevcntr, \
| ^~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:1797:9: note: in expansion of macro 'PMU_PMEVCNTR_EL0'
1797 | PMU_PMEVCNTR_EL0(0),
| ^~~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:990:20: note: (near initialization for 'sys_reg_descs[312].reset')
990 | .reset = reset_pmevcntr, \
| ^~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:1797:9: note: in expansion of macro 'PMU_PMEVCNTR_EL0'
1797 | PMU_PMEVCNTR_EL0(0),
vim +/kvm_pmu_is_3p5 +657 arch/arm64/kvm/sys_regs.c
639
640 static void reset_pmcr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r)
641 {
642 u64 pmcr, val;
643
644 /* No PMU available, PMCR_EL0 may UNDEF... */
645 if (!kvm_arm_support_pmu_v3())
646 return;
647
648 pmcr = read_sysreg(pmcr_el0);
649 /*
650 * Writable bits of PMCR_EL0 (ARMV8_PMU_PMCR_MASK) are reset to UNKNOWN
651 * except PMCR.E resetting to zero.
652 */
653 val = ((pmcr & ~ARMV8_PMU_PMCR_MASK)
654 | (ARMV8_PMU_PMCR_MASK & 0xdecafbad)) & (~ARMV8_PMU_PMCR_E);
655 if (!system_supports_32bit_el0())
656 val |= ARMV8_PMU_PMCR_LC;
> 657 if (!kvm_pmu_is_3p5(vcpu))
658 val &= ~ARMV8_PMU_PMCR_LP;
659 __vcpu_sys_reg(vcpu, r->reg) = val;
660 }
661
--
0-DAY CI Kernel Test Service
https://01.org/lkp
More information about the linux-arm-kernel
mailing list