#include <linux/export.h>
#include <linux/kvm_host.h>
#include "irq.h"
#include "i8254.h"
#include "x86.h"
#include "xen.h"
Go to the source code of this file.
|
#define | pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
|
◆ pr_fmt
#define pr_fmt |
( |
|
fmt | ) |
KBUILD_MODNAME ": " fmt |
Definition at line 10 of file irq.c.
◆ __kvm_migrate_timers()
void __kvm_migrate_timers |
( |
struct kvm_vcpu * |
vcpu | ) |
|
Definition at line 156 of file irq.c.
160 static_call_cond(kvm_x86_migrate_timers)(vcpu);
void __kvm_migrate_pit_timer(struct kvm_vcpu *vcpu)
void __kvm_migrate_apic_timer(struct kvm_vcpu *vcpu)
◆ EXPORT_SYMBOL_GPL() [1/3]
◆ EXPORT_SYMBOL_GPL() [2/3]
◆ EXPORT_SYMBOL_GPL() [3/3]
◆ kvm_arch_irqchip_in_kernel()
bool kvm_arch_irqchip_in_kernel |
( |
struct kvm * |
kvm | ) |
|
Definition at line 170 of file irq.c.
#define irqchip_in_kernel(k)
◆ kvm_arch_irqfd_allowed()
bool kvm_arch_irqfd_allowed |
( |
struct kvm * |
kvm, |
|
|
struct kvm_irqfd * |
args |
|
) |
| |
Definition at line 163 of file irq.c.
165 bool resample = args->flags & KVM_IRQFD_FLAG_RESAMPLE;
static int irqchip_kernel(struct kvm *kvm)
◆ kvm_cpu_get_extint()
static int kvm_cpu_get_extint |
( |
struct kvm_vcpu * |
v | ) |
|
|
static |
Definition at line 111 of file irq.c.
119 return v->arch.interrupt.nr;
121 #ifdef CONFIG_KVM_XEN
123 return v->kvm->arch.xen.upcall_vector;
127 int vector = v->arch.pending_external_vector;
129 v->arch.pending_external_vector = -1;
int kvm_pic_read_irq(struct kvm *kvm)
int kvm_cpu_has_extint(struct kvm_vcpu *v)
static int irqchip_split(struct kvm *kvm)
static bool lapic_in_kernel(struct kvm_vcpu *vcpu)
static int kvm_xen_has_interrupt(struct kvm_vcpu *vcpu)
◆ kvm_cpu_get_interrupt()
int kvm_cpu_get_interrupt |
( |
struct kvm_vcpu * |
v | ) |
|
Definition at line 138 of file irq.c.
static int kvm_cpu_get_extint(struct kvm_vcpu *v)
int kvm_get_apic_interrupt(struct kvm_vcpu *vcpu)
◆ kvm_cpu_has_extint()
int kvm_cpu_has_extint |
( |
struct kvm_vcpu * |
v | ) |
|
Definition at line 48 of file irq.c.
62 return v->arch.interrupt.injected;
73 return v->kvm->arch.vpic->output;
static int pending_userspace_extint(struct kvm_vcpu *v)
int kvm_apic_accept_pic_intr(struct kvm_vcpu *vcpu)
◆ kvm_cpu_has_injectable_intr()
int kvm_cpu_has_injectable_intr |
( |
struct kvm_vcpu * |
v | ) |
|
Definition at line 82 of file irq.c.
static bool is_guest_mode(struct kvm_vcpu *vcpu)
int kvm_apic_has_interrupt(struct kvm_vcpu *vcpu)
static bool kvm_vcpu_apicv_active(struct kvm_vcpu *vcpu)
◆ kvm_cpu_has_interrupt()
int kvm_cpu_has_interrupt |
( |
struct kvm_vcpu * |
v | ) |
|
Definition at line 98 of file irq.c.
◆ kvm_cpu_has_pending_timer()
int kvm_cpu_has_pending_timer |
( |
struct kvm_vcpu * |
vcpu | ) |
|
Definition at line 24 of file irq.c.
int apic_has_pending_timer(struct kvm_vcpu *vcpu)
static bool kvm_xen_timer_enabled(struct kvm_vcpu *vcpu)
static int kvm_xen_has_pending_timer(struct kvm_vcpu *vcpu)
◆ kvm_inject_pending_timer_irqs()
void kvm_inject_pending_timer_irqs |
( |
struct kvm_vcpu * |
vcpu | ) |
|
Definition at line 148 of file irq.c.
void kvm_inject_apic_timer_irqs(struct kvm_vcpu *vcpu)
void kvm_xen_inject_timer_irqs(struct kvm_vcpu *vcpu)
◆ pending_userspace_extint()
static int pending_userspace_extint |
( |
struct kvm_vcpu * |
v | ) |
|
|
static |
Definition at line 39 of file irq.c.
41 return v->arch.pending_external_vector != -1;