Skip to content

Commit

Permalink
arm/arm64: KVM: vgic: kill VGIC_MAX_CPUS
Browse files Browse the repository at this point in the history
We now have the information about the number of CPU interfaces in
the distributor itself. Let's get rid of VGIC_MAX_CPUS, and just
rely on KVM_MAX_VCPUS where we don't have the choice. Yet.

Reviewed-by: Christoffer Dall <[email protected]>
Signed-off-by: Marc Zyngier <[email protected]>
  • Loading branch information
Marc Zyngier authored and chazy committed Sep 19, 2014
1 parent fb65ab6 commit fc675e3
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 5 deletions.
3 changes: 1 addition & 2 deletions include/kvm/arm_vgic.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,12 @@
#define VGIC_NR_SGIS 16
#define VGIC_NR_PPIS 16
#define VGIC_NR_PRIVATE_IRQS (VGIC_NR_SGIS + VGIC_NR_PPIS)
#define VGIC_MAX_CPUS KVM_MAX_VCPUS

#define VGIC_V2_MAX_LRS (1 << 6)
#define VGIC_V3_MAX_LRS 16

/* Sanity checks... */
#if (VGIC_MAX_CPUS > 8)
#if (KVM_MAX_VCPUS > 8)
#error Invalid number of CPU interfaces
#endif

Expand Down
6 changes: 3 additions & 3 deletions virt/kvm/arm/vgic.c
Original file line number Diff line number Diff line change
Expand Up @@ -1297,7 +1297,7 @@ static bool vgic_queue_sgi(struct kvm_vcpu *vcpu, int irq)

sources = *vgic_get_sgi_sources(dist, vcpu_id, irq);

for_each_set_bit(c, &sources, VGIC_MAX_CPUS) {
for_each_set_bit(c, &sources, dist->nr_cpus) {
if (vgic_queue_irq(vcpu, c, irq))
clear_bit(c, &sources);
}
Expand Down Expand Up @@ -1700,7 +1700,7 @@ int kvm_vgic_vcpu_init(struct kvm_vcpu *vcpu)
struct vgic_dist *dist = &vcpu->kvm->arch.vgic;
int i;

if (vcpu->vcpu_id >= VGIC_MAX_CPUS)
if (vcpu->vcpu_id >= dist->nr_cpus)
return -EBUSY;

for (i = 0; i < VGIC_NR_IRQS; i++) {
Expand Down Expand Up @@ -1767,7 +1767,7 @@ static int vgic_init_maps(struct kvm *kvm)
int nr_cpus, nr_irqs;
int ret, i;

nr_cpus = dist->nr_cpus = VGIC_MAX_CPUS;
nr_cpus = dist->nr_cpus = KVM_MAX_VCPUS;
nr_irqs = dist->nr_irqs = VGIC_NR_IRQS;

ret = vgic_init_bitmap(&dist->irq_enabled, nr_cpus, nr_irqs);
Expand Down

0 comments on commit fc675e3

Please sign in to comment.