[arm-platforms:kvm-arm64/nv-gic 4/11] arch/arm64/kvm/vgic/vgic-init.c:207: warning: expecting prototype for kvm_vgic_vcpu_init(). Prototype was for vgic_allocate_private_irqs_locked() instead
kernel test robot
lkp at intel.com
Sun Nov 24 11:41:56 PST 2024
tree: https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git kvm-arm64/nv-gic
head: f02c94e64607418b939b5660440a826b405e383d
commit: 05a6e17890c506952c27f53d3dd8ebabc83ab0ad [4/11] KVM: arm64: nv: Nested GICv3 Support
config: arm64-randconfig-003-20241124 (https://download.01.org/0day-ci/archive/20241125/202411250324.1ah9afGm-lkp@intel.com/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241125/202411250324.1ah9afGm-lkp@intel.com/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 at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202411250324.1ah9afGm-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> arch/arm64/kvm/vgic/vgic-init.c:207: warning: expecting prototype for kvm_vgic_vcpu_init(). Prototype was for vgic_allocate_private_irqs_locked() instead
vim +207 arch/arm64/kvm/vgic/vgic-init.c
05a6e17890c5069 arch/arm64/kvm/vgic/vgic-init.c Marc Zyngier 2016-12-02 196
05a6e17890c5069 arch/arm64/kvm/vgic/vgic-init.c Marc Zyngier 2016-12-02 197 /**
05a6e17890c5069 arch/arm64/kvm/vgic/vgic-init.c Marc Zyngier 2016-12-02 198 * kvm_vgic_vcpu_init() - Initialize static VGIC VCPU data
05a6e17890c5069 arch/arm64/kvm/vgic/vgic-init.c Marc Zyngier 2016-12-02 199 * structures and register VCPU-specific KVM iodevs
05a6e17890c5069 arch/arm64/kvm/vgic/vgic-init.c Marc Zyngier 2016-12-02 200 *
05a6e17890c5069 arch/arm64/kvm/vgic/vgic-init.c Marc Zyngier 2016-12-02 201 * @vcpu: pointer to the VCPU being created and initialized
05a6e17890c5069 arch/arm64/kvm/vgic/vgic-init.c Marc Zyngier 2016-12-02 202 *
05a6e17890c5069 arch/arm64/kvm/vgic/vgic-init.c Marc Zyngier 2016-12-02 203 * Only do initialization, but do not actually enable the
05a6e17890c5069 arch/arm64/kvm/vgic/vgic-init.c Marc Zyngier 2016-12-02 204 * VGIC CPU interface
05a6e17890c5069 arch/arm64/kvm/vgic/vgic-init.c Marc Zyngier 2016-12-02 205 */
03b3d00a70b5585 arch/arm64/kvm/vgic/vgic-init.c Marc Zyngier 2024-05-02 206 static int vgic_allocate_private_irqs_locked(struct kvm_vcpu *vcpu)
1aab6f468c10a1e virt/kvm/arm/vgic/vgic-init.c Christoffer Dall 2017-05-08 @207 {
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 208 struct vgic_cpu *vgic_cpu = &vcpu->arch.vgic_cpu;
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 209 int i;
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 210
03b3d00a70b5585 arch/arm64/kvm/vgic/vgic-init.c Marc Zyngier 2024-05-02 211 lockdep_assert_held(&vcpu->kvm->arch.config_lock);
c011f4ea106b94e virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 212
03b3d00a70b5585 arch/arm64/kvm/vgic/vgic-init.c Marc Zyngier 2024-05-02 213 if (vgic_cpu->private_irqs)
03b3d00a70b5585 arch/arm64/kvm/vgic/vgic-init.c Marc Zyngier 2024-05-02 214 return 0;
03b3d00a70b5585 arch/arm64/kvm/vgic/vgic-init.c Marc Zyngier 2024-05-02 215
03b3d00a70b5585 arch/arm64/kvm/vgic/vgic-init.c Marc Zyngier 2024-05-02 216 vgic_cpu->private_irqs = kcalloc(VGIC_NR_PRIVATE_IRQS,
03b3d00a70b5585 arch/arm64/kvm/vgic/vgic-init.c Marc Zyngier 2024-05-02 217 sizeof(struct vgic_irq),
03b3d00a70b5585 arch/arm64/kvm/vgic/vgic-init.c Marc Zyngier 2024-05-02 218 GFP_KERNEL_ACCOUNT);
03b3d00a70b5585 arch/arm64/kvm/vgic/vgic-init.c Marc Zyngier 2024-05-02 219
03b3d00a70b5585 arch/arm64/kvm/vgic/vgic-init.c Marc Zyngier 2024-05-02 220 if (!vgic_cpu->private_irqs)
03b3d00a70b5585 arch/arm64/kvm/vgic/vgic-init.c Marc Zyngier 2024-05-02 221 return -ENOMEM;
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 222
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 223 /*
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 224 * Enable and configure all SGIs to be edge-triggered and
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 225 * configure all PPIs as level-triggered.
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 226 */
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 227 for (i = 0; i < VGIC_NR_PRIVATE_IRQS; i++) {
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 228 struct vgic_irq *irq = &vgic_cpu->private_irqs[i];
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 229
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 230 INIT_LIST_HEAD(&irq->ap_list);
8fa3adb8c6beee4 virt/kvm/arm/vgic/vgic-init.c Julien Thierry 2019-01-07 231 raw_spin_lock_init(&irq->irq_lock);
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 232 irq->intid = i;
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 233 irq->vcpu = NULL;
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 234 irq->target_vcpu = vcpu;
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 235 kref_init(&irq->refcount);
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 236 if (vgic_irq_is_sgi(i)) {
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 237 /* SGIs */
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 238 irq->enabled = 1;
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 239 irq->config = VGIC_CONFIG_EDGE;
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 240 } else {
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 241 /* PPIs */
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 242 irq->config = VGIC_CONFIG_LEVEL;
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 243 }
5ec17fbac6713be virt/kvm/arm/vgic/vgic-init.c Eric Auger 2018-05-22 244 }
1aab6f468c10a1e virt/kvm/arm/vgic/vgic-init.c Christoffer Dall 2017-05-08 245
03b3d00a70b5585 arch/arm64/kvm/vgic/vgic-init.c Marc Zyngier 2024-05-02 246 return 0;
03b3d00a70b5585 arch/arm64/kvm/vgic/vgic-init.c Marc Zyngier 2024-05-02 247 }
03b3d00a70b5585 arch/arm64/kvm/vgic/vgic-init.c Marc Zyngier 2024-05-02 248
:::::: The code at line 207 was first introduced by commit
:::::: 1aab6f468c10a1ec3977fb6f7bc12869174d516e KVM: arm/arm64: Register iodevs when setting redist base and creating VCPUs
:::::: TO: Christoffer Dall <cdall at linaro.org>
:::::: CC: Christoffer Dall <cdall at linaro.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
More information about the linux-arm-kernel
mailing list