Hi Eric, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on kvmarm/next] [also build test WARNING on v4.17-rc6 next-20180517] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Eric-Auger/KVM-arm-arm64-Allow-multiple-GICv3-redistributor-regions/20180522-004717 base: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm Note: it may well be a FALSE warning. FWIW you are at least aware of it now. http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings All warnings (new ones prefixed by >>): arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-init.c: In function 'kvm_vgic_vcpu_init': >> arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-init.c:199:9: warning: 'ret' may be used uninitialized in this function [-Wmaybe-uninitialized] int i, ret; ^~~ vim +/ret +199 arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-init.c 185 186 /** 187 * kvm_vgic_vcpu_init() - Initialize static VGIC VCPU data 188 * structures and register VCPU-specific KVM iodevs 189 * 190 * @vcpu: pointer to the VCPU being created and initialized 191 * 192 * Only do initialization, but do not actually enable the 193 * VGIC CPU interface 194 */ 195 int kvm_vgic_vcpu_init(struct kvm_vcpu *vcpu) 196 { 197 struct vgic_cpu *vgic_cpu = &vcpu->arch.vgic_cpu; 198 struct vgic_dist *dist = &vcpu->kvm->arch.vgic; > 199 int i, ret; 200 201 INIT_LIST_HEAD(&vgic_cpu->ap_list_head); 202 spin_lock_init(&vgic_cpu->ap_list_lock); 203 204 /* 205 * Enable and configure all SGIs to be edge-triggered and 206 * configure all PPIs as level-triggered. 207 */ 208 for (i = 0; i < VGIC_NR_PRIVATE_IRQS; i++) { 209 struct vgic_irq *irq = &vgic_cpu->private_irqs[i]; 210 211 INIT_LIST_HEAD(&irq->ap_list); 212 spin_lock_init(&irq->irq_lock); 213 irq->intid = i; 214 irq->vcpu = NULL; 215 irq->target_vcpu = vcpu; 216 irq->targets = 1U << vcpu->vcpu_id; 217 kref_init(&irq->refcount); 218 if (vgic_irq_is_sgi(i)) { 219 /* SGIs */ 220 irq->enabled = 1; 221 irq->config = VGIC_CONFIG_EDGE; 222 } else { 223 /* PPIs */ 224 irq->config = VGIC_CONFIG_LEVEL; 225 } 226 } 227 228 if (!irqchip_in_kernel(vcpu->kvm)) 229 return 0; 230 231 /* 232 * If we are creating a VCPU with a GICv3 we must also register the 233 * KVM io device for the redistributor that belongs to this VCPU. 234 */ 235 if (dist->vgic_model == KVM_DEV_TYPE_ARM_VGIC_V3) { 236 mutex_lock(&vcpu->kvm->lock); 237 ret = vgic_register_redist_iodev(vcpu); 238 mutex_unlock(&vcpu->kvm->lock); 239 } 240 return ret; 241 } 242 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip