lkml.org 
[lkml]   [2009]   [Aug]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 25/48] KVM: do not register i8254 PIO regions until we are initialized
    Date
    From: Gregory Haskins <ghaskins@novell.com>

    We currently publish the i8254 resources to the pio_bus before the devices
    are fully initialized. Since we hold the pit_lock, its probably not
    a real issue. But lets clean this up anyway.

    Reported-by: Avi Kivity <avi@redhat.com>
    Signed-off-by: Gregory Haskins <ghaskins@novell.com>
    Acked-by: Chris Wright <chrisw@sous-sol.org>
    Signed-off-by: Avi Kivity <avi@redhat.com>
    ---
    arch/x86/kvm/i8254.c | 17 ++++++++---------
    1 files changed, 8 insertions(+), 9 deletions(-)

    diff --git a/arch/x86/kvm/i8254.c b/arch/x86/kvm/i8254.c
    index e800d2d..977af7a 100644
    --- a/arch/x86/kvm/i8254.c
    +++ b/arch/x86/kvm/i8254.c
    @@ -604,15 +604,6 @@ struct kvm_pit *kvm_create_pit(struct kvm *kvm, u32 flags)
    mutex_lock(&pit->pit_state.lock);
    spin_lock_init(&pit->pit_state.inject_lock);

    - /* Initialize PIO device */
    - kvm_iodevice_init(&pit->dev, &pit_dev_ops);
    - kvm_io_bus_register_dev(&kvm->pio_bus, &pit->dev);
    -
    - if (flags & KVM_PIT_SPEAKER_DUMMY) {
    - kvm_iodevice_init(&pit->speaker_dev, &speaker_dev_ops);
    - kvm_io_bus_register_dev(&kvm->pio_bus, &pit->speaker_dev);
    - }
    -
    kvm->arch.vpit = pit;
    pit->kvm = kvm;

    @@ -631,6 +622,14 @@ struct kvm_pit *kvm_create_pit(struct kvm *kvm, u32 flags)
    pit->mask_notifier.func = pit_mask_notifer;
    kvm_register_irq_mask_notifier(kvm, 0, &pit->mask_notifier);

    + kvm_iodevice_init(&pit->dev, &pit_dev_ops);
    + kvm_io_bus_register_dev(&kvm->pio_bus, &pit->dev);
    +
    + if (flags & KVM_PIT_SPEAKER_DUMMY) {
    + kvm_iodevice_init(&pit->speaker_dev, &speaker_dev_ops);
    + kvm_io_bus_register_dev(&kvm->pio_bus, &pit->speaker_dev);
    + }
    +
    return pit;
    }

    --
    1.6.3.3


    \
     
     \ /
      Last update: 2009-08-16 11:57    [W:0.024 / U:60.540 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site