KVM: x86: cleanup kvm_apic_match_*()
The majority of this patch turns result = 0; if (CODE) result = 1; return result; into return CODE; because we return bool now. Signed-off-by: Radim Krčmář <rkrcmar@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
52c233a440
commit
9368b56762
1 changed files with 16 additions and 30 deletions
|
@ -591,42 +591,34 @@ static bool kvm_apic_match_physical_addr(struct kvm_lapic *apic, u32 dest)
|
||||||
|
|
||||||
static bool kvm_apic_match_logical_addr(struct kvm_lapic *apic, u32 mda)
|
static bool kvm_apic_match_logical_addr(struct kvm_lapic *apic, u32 mda)
|
||||||
{
|
{
|
||||||
int result = 0;
|
|
||||||
u32 logical_id;
|
u32 logical_id;
|
||||||
|
|
||||||
if (kvm_apic_broadcast(apic, mda))
|
if (kvm_apic_broadcast(apic, mda))
|
||||||
return 1;
|
return true;
|
||||||
|
|
||||||
if (apic_x2apic_mode(apic)) {
|
|
||||||
logical_id = kvm_apic_get_reg(apic, APIC_LDR);
|
logical_id = kvm_apic_get_reg(apic, APIC_LDR);
|
||||||
return logical_id & mda;
|
|
||||||
}
|
|
||||||
|
|
||||||
logical_id = GET_APIC_LOGICAL_ID(kvm_apic_get_reg(apic, APIC_LDR));
|
if (apic_x2apic_mode(apic))
|
||||||
|
return (logical_id & mda) != 0;
|
||||||
|
|
||||||
|
logical_id = GET_APIC_LOGICAL_ID(logical_id);
|
||||||
|
|
||||||
switch (kvm_apic_get_reg(apic, APIC_DFR)) {
|
switch (kvm_apic_get_reg(apic, APIC_DFR)) {
|
||||||
case APIC_DFR_FLAT:
|
case APIC_DFR_FLAT:
|
||||||
if (logical_id & mda)
|
return (logical_id & mda) != 0;
|
||||||
result = 1;
|
|
||||||
break;
|
|
||||||
case APIC_DFR_CLUSTER:
|
case APIC_DFR_CLUSTER:
|
||||||
if (((logical_id >> 4) == (mda >> 0x4))
|
return ((logical_id >> 4) == (mda >> 4))
|
||||||
&& (logical_id & mda & 0xf))
|
&& (logical_id & mda & 0xf) != 0;
|
||||||
result = 1;
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
apic_debug("Bad DFR vcpu %d: %08x\n",
|
apic_debug("Bad DFR vcpu %d: %08x\n",
|
||||||
apic->vcpu->vcpu_id, kvm_apic_get_reg(apic, APIC_DFR));
|
apic->vcpu->vcpu_id, kvm_apic_get_reg(apic, APIC_DFR));
|
||||||
break;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool kvm_apic_match_dest(struct kvm_vcpu *vcpu, struct kvm_lapic *source,
|
bool kvm_apic_match_dest(struct kvm_vcpu *vcpu, struct kvm_lapic *source,
|
||||||
int short_hand, unsigned int dest, int dest_mode)
|
int short_hand, unsigned int dest, int dest_mode)
|
||||||
{
|
{
|
||||||
int result = 0;
|
|
||||||
struct kvm_lapic *target = vcpu->arch.apic;
|
struct kvm_lapic *target = vcpu->arch.apic;
|
||||||
|
|
||||||
apic_debug("target %p, source %p, dest 0x%x, "
|
apic_debug("target %p, source %p, dest 0x%x, "
|
||||||
|
@ -638,27 +630,21 @@ bool kvm_apic_match_dest(struct kvm_vcpu *vcpu, struct kvm_lapic *source,
|
||||||
case APIC_DEST_NOSHORT:
|
case APIC_DEST_NOSHORT:
|
||||||
if (dest_mode == 0)
|
if (dest_mode == 0)
|
||||||
/* Physical mode. */
|
/* Physical mode. */
|
||||||
result = kvm_apic_match_physical_addr(target, dest);
|
return kvm_apic_match_physical_addr(target, dest);
|
||||||
else
|
else
|
||||||
/* Logical mode. */
|
/* Logical mode. */
|
||||||
result = kvm_apic_match_logical_addr(target, dest);
|
return kvm_apic_match_logical_addr(target, dest);
|
||||||
break;
|
|
||||||
case APIC_DEST_SELF:
|
case APIC_DEST_SELF:
|
||||||
result = (target == source);
|
return target == source;
|
||||||
break;
|
|
||||||
case APIC_DEST_ALLINC:
|
case APIC_DEST_ALLINC:
|
||||||
result = 1;
|
return true;
|
||||||
break;
|
|
||||||
case APIC_DEST_ALLBUT:
|
case APIC_DEST_ALLBUT:
|
||||||
result = (target != source);
|
return target != source;
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
apic_debug("kvm: apic: Bad dest shorthand value %x\n",
|
apic_debug("kvm: apic: Bad dest shorthand value %x\n",
|
||||||
short_hand);
|
short_hand);
|
||||||
break;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool kvm_irq_delivery_to_apic_fast(struct kvm *kvm, struct kvm_lapic *src,
|
bool kvm_irq_delivery_to_apic_fast(struct kvm *kvm, struct kvm_lapic *src,
|
||||||
|
|
Loading…
Add table
Reference in a new issue