diff options
author | Eddie Dong <eddie.dong@intel.com> | 2007-09-12 03:58:04 -0400 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2007-10-13 04:18:25 -0400 |
commit | 97222cc8316328965851ed28d23f6b64b4c912d2 (patch) | |
tree | 469b2f72e74046a7aec5061df194c3f68812a224 /include | |
parent | 7017fc3d1a12e30ea7df4992152978a188433457 (diff) |
KVM: Emulate local APIC in kernel
Because lightweight exits (exits which don't involve userspace) are many
times faster than heavyweight exits, it makes sense to emulate high usage
devices in the kernel. The local APIC is one such device, especially for
Windows and for SMP, so we add an APIC model to kvm.
It also allows in-kernel host-side drivers to inject interrupts without
going through userspace.
[compile fix on i386 from Jindrich Makovicka]
Signed-off-by: Yaozu (Eddie) Dong <Eddie.Dong@intel.com>
Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/kvm.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/kvm.h b/include/linux/kvm.h index bfe742b771f6..997bb3e46f1e 100644 --- a/include/linux/kvm.h +++ b/include/linux/kvm.h | |||
@@ -34,7 +34,7 @@ struct kvm_memory_alias { | |||
34 | __u64 target_phys_addr; | 34 | __u64 target_phys_addr; |
35 | }; | 35 | }; |
36 | 36 | ||
37 | /* for KVM_SET_IRQ_LEVEL */ | 37 | /* for KVM_IRQ_LINE */ |
38 | struct kvm_irq_level { | 38 | struct kvm_irq_level { |
39 | /* | 39 | /* |
40 | * ACPI gsi notion of irq. | 40 | * ACPI gsi notion of irq. |
@@ -297,7 +297,7 @@ struct kvm_signal_mask { | |||
297 | #define KVM_SET_MEMORY_ALIAS _IOW(KVMIO, 0x43, struct kvm_memory_alias) | 297 | #define KVM_SET_MEMORY_ALIAS _IOW(KVMIO, 0x43, struct kvm_memory_alias) |
298 | /* Device model IOC */ | 298 | /* Device model IOC */ |
299 | #define KVM_CREATE_IRQCHIP _IO(KVMIO, 0x60) | 299 | #define KVM_CREATE_IRQCHIP _IO(KVMIO, 0x60) |
300 | #define KVM_IRQ_LINE _IO(KVMIO, 0x61) | 300 | #define KVM_IRQ_LINE _IOW(KVMIO, 0x61, struct kvm_irq_level) |
301 | 301 | ||
302 | /* | 302 | /* |
303 | * ioctls for vcpu fds | 303 | * ioctls for vcpu fds |