Lines Matching defs:kvm
8 #include <linux/kvm.h>
21 #include <kvm/arm_vgic.h>
22 #include <kvm/arm_arch_timer.h>
207 static inline bool userspace_irqchip(struct kvm *kvm)
210 unlikely(!irqchip_in_kernel(kvm));
249 if (userspace_irqchip(vcpu->kvm) &&
455 if (!userspace_irqchip(vcpu->kvm)) {
456 ret = kvm_vgic_inject_irq(vcpu->kvm, vcpu->vcpu_id,
669 if (irqchip_in_kernel(vcpu->kvm))
719 if (!irqchip_in_kernel(vcpu->kvm))
868 if (likely(irqchip_in_kernel(vcpu->kvm)))
935 if (unlikely(!irqchip_in_kernel(vcpu->kvm)))
964 offs->vm_offset = &vcpu->kvm->arch.timer_data.poffset;
972 if (irqchip_in_kernel(vcpu->kvm)) {
990 struct kvm *kvm = vcpu->kvm;
995 ctxt->offset.vm_offset = &kvm->arch.timer_data.voffset;
997 ctxt->offset.vm_offset = &kvm->arch.timer_data.poffset;
1022 if (!test_bit(KVM_ARCH_FLAG_VM_COUNTER_OFFSET, &vcpu->kvm->arch.flags)) {
1031 void kvm_timer_init_vm(struct kvm *kvm)
1034 kvm->arch.timer_data.ppi[i] = default_ppi[i];
1062 &vcpu->kvm->arch.flags)) {
1077 &vcpu->kvm->arch.flags)) {
1339 fwnode = irq_domain_alloc_named_fwnode("kvm-timer");
1390 "kvm guest vtimer", kvm_get_running_vcpus());
1414 "kvm guest ptimer", kvm_get_running_vcpus());
1460 mutex_lock(&vcpu->kvm->arch.config_lock);
1481 set_bit(KVM_ARCH_FLAG_TIMER_PPIS_IMMUTABLE, &vcpu->kvm->arch.flags);
1483 mutex_unlock(&vcpu->kvm->arch.config_lock);
1519 if (!irqchip_in_kernel(vcpu->kvm))
1567 if (!irqchip_in_kernel(vcpu->kvm))
1576 mutex_lock(&vcpu->kvm->arch.config_lock);
1579 &vcpu->kvm->arch.flags)) {
1607 vcpu->kvm->arch.timer_data.ppi[idx] = irq;
1610 mutex_unlock(&vcpu->kvm->arch.config_lock);
1654 int kvm_vm_ioctl_set_counter_offset(struct kvm *kvm,
1662 mutex_lock(&kvm->lock);
1664 if (lock_all_vcpus(kvm)) {
1665 set_bit(KVM_ARCH_FLAG_VM_COUNTER_OFFSET, &kvm->arch.flags);
1673 kvm->arch.timer_data.voffset = offset->counter_offset;
1674 kvm->arch.timer_data.poffset = offset->counter_offset;
1676 unlock_all_vcpus(kvm);
1681 mutex_unlock(&kvm->lock);