diff options
author | Jan Kiszka <jan.kiszka@siemens.com> | 2011-12-14 19:25:33 +0100 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2011-12-27 11:22:30 +0200 |
commit | a647795efbedeedf8a1dc6deded26defa23562bd (patch) | |
tree | c3682c3068ef23d8bbbc394f47ab1650a86808fc /arch/x86/kvm/i8254.c | |
parent | bb5a798ad58996e4d666ead1016705854d5ca616 (diff) | |
download | linux-a647795efbedeedf8a1dc6deded26defa23562bd.tar.gz linux-a647795efbedeedf8a1dc6deded26defa23562bd.tar.bz2 linux-a647795efbedeedf8a1dc6deded26defa23562bd.zip |
KVM: x86: Consolidate PIT legacy test
Move the test for KVM_PIT_FLAGS_HPET_LEGACY into create_pit_timer
instead of replicating it on the caller site.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'arch/x86/kvm/i8254.c')
-rw-r--r-- | arch/x86/kvm/i8254.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/arch/x86/kvm/i8254.c b/arch/x86/kvm/i8254.c index 405f2620392f..d68f99df690c 100644 --- a/arch/x86/kvm/i8254.c +++ b/arch/x86/kvm/i8254.c @@ -344,7 +344,7 @@ static void create_pit_timer(struct kvm *kvm, u32 val, int is_period) struct kvm_timer *pt = &ps->pit_timer; s64 interval; - if (!irqchip_in_kernel(kvm)) + if (!irqchip_in_kernel(kvm) || ps->flags & KVM_PIT_FLAGS_HPET_LEGACY) return; interval = muldiv64(val, NSEC_PER_SEC, KVM_PIT_FREQ); @@ -397,15 +397,11 @@ static void pit_load_count(struct kvm *kvm, int channel, u32 val) case 1: /* FIXME: enhance mode 4 precision */ case 4: - if (!(ps->flags & KVM_PIT_FLAGS_HPET_LEGACY)) { - create_pit_timer(kvm, val, 0); - } + create_pit_timer(kvm, val, 0); break; case 2: case 3: - if (!(ps->flags & KVM_PIT_FLAGS_HPET_LEGACY)){ - create_pit_timer(kvm, val, 1); - } + create_pit_timer(kvm, val, 1); break; default: destroy_pit_timer(kvm->arch.vpit); |