diff options
author | Steve Rutherford <srutherford@google.com> | 2015-07-30 02:21:40 -0400 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2015-10-01 09:06:26 -0400 |
commit | 49df6397edfc5a8ba8ca813b51fb9729d8e94b40 (patch) | |
tree | b5cb29a28fff01c9c85c4f02961164532fa241b2 /arch/x86/kvm/i8254.c | |
parent | 4ca7dd8ce4b24e18f94eed90e80c6eb80fb48c9a (diff) |
KVM: x86: Split the APIC from the rest of IRQCHIP.
First patch in a series which enables the relocation of the
PIC/IOAPIC to userspace.
Adds capability KVM_CAP_SPLIT_IRQCHIP;
KVM_CAP_SPLIT_IRQCHIP enables the construction of LAPICs without the
rest of the irqchip.
Compile tested for x86.
Signed-off-by: Steve Rutherford <srutherford@google.com>
Suggested-by: Andrew Honig <ahonig@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/x86/kvm/i8254.c')
-rw-r--r-- | arch/x86/kvm/i8254.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/x86/kvm/i8254.c b/arch/x86/kvm/i8254.c index f90952f64e79..08116ff227cc 100644 --- a/arch/x86/kvm/i8254.c +++ b/arch/x86/kvm/i8254.c | |||
@@ -35,6 +35,7 @@ | |||
35 | #include <linux/kvm_host.h> | 35 | #include <linux/kvm_host.h> |
36 | #include <linux/slab.h> | 36 | #include <linux/slab.h> |
37 | 37 | ||
38 | #include "ioapic.h" | ||
38 | #include "irq.h" | 39 | #include "irq.h" |
39 | #include "i8254.h" | 40 | #include "i8254.h" |
40 | #include "x86.h" | 41 | #include "x86.h" |
@@ -333,7 +334,8 @@ static void create_pit_timer(struct kvm *kvm, u32 val, int is_period) | |||
333 | struct kvm_kpit_state *ps = &kvm->arch.vpit->pit_state; | 334 | struct kvm_kpit_state *ps = &kvm->arch.vpit->pit_state; |
334 | s64 interval; | 335 | s64 interval; |
335 | 336 | ||
336 | if (!irqchip_in_kernel(kvm) || ps->flags & KVM_PIT_FLAGS_HPET_LEGACY) | 337 | if (!ioapic_in_kernel(kvm) || |
338 | ps->flags & KVM_PIT_FLAGS_HPET_LEGACY) | ||
337 | return; | 339 | return; |
338 | 340 | ||
339 | interval = muldiv64(val, NSEC_PER_SEC, KVM_PIT_FREQ); | 341 | interval = muldiv64(val, NSEC_PER_SEC, KVM_PIT_FREQ); |