1. 22 2月, 2012 22 次提交
  2. 21 2月, 2012 13 次提交
  3. 18 2月, 2012 1 次提交
  4. 17 2月, 2012 4 次提交
    • J
      i8259: Do not clear level-triggered lines in IRR on init · aa24822b
      Jan Kiszka 提交于
      When an input line is handled as level-triggered, it will immediately
      raise an IRQ on the output of a PIC again that goes through an init
      reset. So only clear the edge-triggered inputs from IRR in that
      scenario.
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      aa24822b
    • J
      i8254: Factor out pit_get_channel_info · 4aa5d285
      Jan Kiszka 提交于
      Instead of providing 4 individual query functions for mode, gate, output
      and initial counter state, introduce a service that queries all
      information at once. This comes with tiny additional costs for
      pcspk_callback but with a much cleaner interface. Also, it will simplify
      the implementation of the KVM in-kernel PIT model.
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      4aa5d285
    • J
      pcspk: Convert to qdev · 302fe51b
      Jan Kiszka 提交于
      Convert the PC speaker device to a qdev ISA model. Move the public
      interface to a dedicated header file at this chance.
      
      CC: Paolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      302fe51b
    • J
      i8254: Rework & fix interaction with HPET in legacy mode · ce967e2f
      Jan Kiszka 提交于
      When the HPET enters legacy mode, the IRQ output of the PIT is
      suppressed and replaced by the HPET timer 0. But the current code to
      emulate this was broken in many ways. It reset the PIT state after
      re-enabling, it worked against a stale static PIT structure, and it did
      not properly saved/restored the IRQ output mask in the PIT vmstate.
      
      This patch solves the PIT IRQ control in a different way. On x86, it
      both redirects the PIT IRQ to the HPET, just like the RTC. But it also
      keeps the control line from the HPET to the PIT. This allows to disable
      the PIT QEMU timer when it is not needed. The PIT's view on the control
      line state is now saved in the same format that qemu-kvm is already
      using.
      
      Note that, in contrast to the suppressed RTC IRQ line, we do not need to
      save/restore the PIT line state in the HPET. As we trigger a PIT IRQ
      update via the control line, the line state is reconstructed on mode
      switch.
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      ce967e2f