KVM: arm/arm64: prefer IS_ENABLED to a static variable
IS_ENABLED gives compile-time checking and keeps the code clearer. The one exception is inside kvm_vm_ioctl_check_extension, where the established idiom is to wrap the case labels with an #ifdef. Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
0f37247574
commit
69ff5c619c
|
@ -61,8 +61,6 @@ static atomic64_t kvm_vmid_gen = ATOMIC64_INIT(1);
|
||||||
static u8 kvm_next_vmid;
|
static u8 kvm_next_vmid;
|
||||||
static DEFINE_SPINLOCK(kvm_vmid_lock);
|
static DEFINE_SPINLOCK(kvm_vmid_lock);
|
||||||
|
|
||||||
static bool vgic_present;
|
|
||||||
|
|
||||||
static void kvm_arm_set_running_vcpu(struct kvm_vcpu *vcpu)
|
static void kvm_arm_set_running_vcpu(struct kvm_vcpu *vcpu)
|
||||||
{
|
{
|
||||||
BUG_ON(preemptible());
|
BUG_ON(preemptible());
|
||||||
|
@ -172,9 +170,9 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext)
|
||||||
{
|
{
|
||||||
int r;
|
int r;
|
||||||
switch (ext) {
|
switch (ext) {
|
||||||
|
#ifdef CONFIG_KVM_ARM_VGIC
|
||||||
case KVM_CAP_IRQCHIP:
|
case KVM_CAP_IRQCHIP:
|
||||||
r = vgic_present;
|
#endif
|
||||||
break;
|
|
||||||
case KVM_CAP_DEVICE_CTRL:
|
case KVM_CAP_DEVICE_CTRL:
|
||||||
case KVM_CAP_USER_MEMORY:
|
case KVM_CAP_USER_MEMORY:
|
||||||
case KVM_CAP_SYNC_MMU:
|
case KVM_CAP_SYNC_MMU:
|
||||||
|
@ -831,7 +829,7 @@ static int kvm_vm_ioctl_set_device_addr(struct kvm *kvm,
|
||||||
|
|
||||||
switch (dev_id) {
|
switch (dev_id) {
|
||||||
case KVM_ARM_DEVICE_VGIC_V2:
|
case KVM_ARM_DEVICE_VGIC_V2:
|
||||||
if (!vgic_present)
|
if (!IS_ENABLED(CONFIG_KVM_ARM_VGIC))
|
||||||
return -ENXIO;
|
return -ENXIO;
|
||||||
return kvm_vgic_addr(kvm, type, &dev_addr->addr, true);
|
return kvm_vgic_addr(kvm, type, &dev_addr->addr, true);
|
||||||
default:
|
default:
|
||||||
|
@ -847,10 +845,9 @@ long kvm_arch_vm_ioctl(struct file *filp,
|
||||||
|
|
||||||
switch (ioctl) {
|
switch (ioctl) {
|
||||||
case KVM_CREATE_IRQCHIP: {
|
case KVM_CREATE_IRQCHIP: {
|
||||||
if (vgic_present)
|
if (!IS_ENABLED(CONFIG_KVM_ARM_VGIC))
|
||||||
return kvm_vgic_create(kvm, KVM_DEV_TYPE_ARM_VGIC_V2);
|
|
||||||
else
|
|
||||||
return -ENXIO;
|
return -ENXIO;
|
||||||
|
return kvm_vgic_create(kvm, KVM_DEV_TYPE_ARM_VGIC_V2);
|
||||||
}
|
}
|
||||||
case KVM_ARM_SET_DEVICE_ADDR: {
|
case KVM_ARM_SET_DEVICE_ADDR: {
|
||||||
struct kvm_arm_device_addr dev_addr;
|
struct kvm_arm_device_addr dev_addr;
|
||||||
|
@ -1035,10 +1032,6 @@ static int init_hyp_mode(void)
|
||||||
if (err)
|
if (err)
|
||||||
goto out_free_context;
|
goto out_free_context;
|
||||||
|
|
||||||
#ifdef CONFIG_KVM_ARM_VGIC
|
|
||||||
vgic_present = true;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Init HYP architected timer support
|
* Init HYP architected timer support
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue