diff options
author | Jan Kiszka <jan.kiszka@siemens.com> | 2011-12-14 13:25:33 -0500 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2011-12-27 04:22:30 -0500 |
commit | a647795efbedeedf8a1dc6deded26defa23562bd (patch) | |
tree | c3682c3068ef23d8bbbc394f47ab1650a86808fc /arch | |
parent | bb5a798ad58996e4d666ead1016705854d5ca616 (diff) |
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')
-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) | |||
344 | struct kvm_timer *pt = &ps->pit_timer; | 344 | struct kvm_timer *pt = &ps->pit_timer; |
345 | s64 interval; | 345 | s64 interval; |
346 | 346 | ||
347 | if (!irqchip_in_kernel(kvm)) | 347 | if (!irqchip_in_kernel(kvm) || ps->flags & KVM_PIT_FLAGS_HPET_LEGACY) |
348 | return; | 348 | return; |
349 | 349 | ||
350 | interval = muldiv64(val, NSEC_PER_SEC, KVM_PIT_FREQ); | 350 | 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) | |||
397 | case 1: | 397 | case 1: |
398 | /* FIXME: enhance mode 4 precision */ | 398 | /* FIXME: enhance mode 4 precision */ |
399 | case 4: | 399 | case 4: |
400 | if (!(ps->flags & KVM_PIT_FLAGS_HPET_LEGACY)) { | 400 | create_pit_timer(kvm, val, 0); |
401 | create_pit_timer(kvm, val, 0); | ||
402 | } | ||
403 | break; | 401 | break; |
404 | case 2: | 402 | case 2: |
405 | case 3: | 403 | case 3: |
406 | if (!(ps->flags & KVM_PIT_FLAGS_HPET_LEGACY)){ | 404 | create_pit_timer(kvm, val, 1); |
407 | create_pit_timer(kvm, val, 1); | ||
408 | } | ||
409 | break; | 405 | break; |
410 | default: | 406 | default: |
411 | destroy_pit_timer(kvm->arch.vpit); | 407 | destroy_pit_timer(kvm->arch.vpit); |