1. 04 12月, 2012 1 次提交
  2. 29 10月, 2012 1 次提交
  3. 23 10月, 2012 3 次提交
  4. 02 4月, 2012 2 次提交
    • A
      serial: clear LSR.TEMT when populating the TSR · dfe844c9
      Anthony Liguori 提交于
      We never actually clear the TEMT (transmit sending register empty) flag when
      populating the TSR.  We set the flag, but since it's never cleared, setting it
      is sort of pointless..
      
      I found this with a unit test case.
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      dfe844c9
    • A
      serial: fix retry logic · 67c5322d
      Anthony Liguori 提交于
      I'm not sure if the retry logic has ever worked when not using FIFO mode.  I
      found this while writing a test case although code inspection confirms it is
      definitely broken.
      
      The TSR retry logic will never actually happen because it is guarded by an
      'if (s->tsr_rety > 0)' but this is the only place that can ever make the
      variable greater than zero.  That effectively makes the retry logic an 'if (0)'.
      
      I believe this is a typo and the intention was >= 0.  Once this is fixed though,
      I see double transmits with my test case.  This is because in the non FIFO
      case, serial_xmit may get invoked while LSR.THRE is still high because the
      character was processed but the retransmit timer was still active.
      
      We can handle this by simply checking for LSR.THRE and returning early.  It's
      possible that the FIFO paths also need some attention.
      
      Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      67c5322d
  5. 25 2月, 2012 1 次提交
  6. 15 2月, 2012 1 次提交
  7. 04 2月, 2012 1 次提交
    • A
      qdev: register all types natively through QEMU Object Model · 39bffca2
      Anthony Liguori 提交于
      This was done in a mostly automated fashion.  I did it in three steps and then
      rebased it into a single step which avoids repeatedly touching every file in
      the tree.
      
      The first step was a sed-based addition of the parent type to the subclass
      registration functions.
      
      The second step was another sed-based removal of subclass registration functions
      while also adding virtual functions from the base class into a class_init
      function as appropriate.
      
      Finally, a python script was used to convert the DeviceInfo structures and
      qdev_register_subclass functions to TypeInfo structures, class_init functions,
      and type_register_static calls.
      
      We are almost fully converted to QOM after this commit.
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      39bffca2
  8. 28 1月, 2012 1 次提交
  9. 02 10月, 2011 4 次提交
  10. 25 9月, 2011 1 次提交
  11. 22 8月, 2011 2 次提交
  12. 21 8月, 2011 1 次提交
  13. 21 3月, 2011 1 次提交
    • P
      change all other clock references to use nanosecond resolution accessors · 74475455
      Paolo Bonzini 提交于
      This was done with:
      
          sed -i 's/qemu_get_clock\>/qemu_get_clock_ns/' \
              $(git grep -l 'qemu_get_clock\>' )
          sed -i 's/qemu_new_timer\>/qemu_new_timer_ns/' \
              $(git grep -l 'qemu_new_timer\>' )
      
      after checking that get_clock and new_timer never occur twice
      on the same line.  There were no missed occurrences; however, even
      if there had been, they would have been caught by the compiler.
      
      There was exactly one false positive in qemu_run_timers:
      
           -    current_time = qemu_get_clock (clock);
           +    current_time = qemu_get_clock_ns (clock);
      
      which is of course not in this patch.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      74475455
  14. 20 2月, 2011 1 次提交
  15. 12 12月, 2010 1 次提交
  16. 11 12月, 2010 1 次提交
    • A
      Add endianness as io mem parameter · 2507c12a
      Alexander Graf 提交于
      As stated before, devices can be little, big or native endian. The
      target endianness is not of their concern, so we need to push things
      down a level.
      
      This patch adds a parameter to cpu_register_io_memory that allows a
      device to choose its endianness. For now, all devices simply choose
      native endian, because that's the same behavior as before.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      2507c12a
  17. 15 9月, 2010 1 次提交
  18. 14 9月, 2010 1 次提交
  19. 13 9月, 2010 1 次提交
  20. 06 7月, 2010 1 次提交
  21. 04 6月, 2010 1 次提交
  22. 15 5月, 2010 1 次提交
  23. 22 3月, 2010 1 次提交
  24. 07 3月, 2010 2 次提交
  25. 23 2月, 2010 1 次提交
    • J
      Fix lost serial TX interrupts. Report receive overruns. · 71e605f8
      Justin T. Gibbs 提交于
      o Implement receive overrun status.  The FreeBSD uart driver
         relies on this status in it's probe routine to determine the size
         of the FIFO supported.
       o As per the 16550 spec, do not overwrite the RX FIFO on an RX overrun.
       o Do not allow TX or RX FIFO overruns to increment the data valid count
         beyond the size of the FIFO.
       o For reads of the IIR register, only clear the "TX holding register
         emtpy interrupt" if the read reports this interrupt.  This is required
         by the specification and avoids losing TX interrupts when other,
         higher priority interrupts (usually RX) are reported first.
      Signed-off-by: NJustin T. Gibbs <gibbs@FreeBSD.org>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      71e605f8
  26. 02 12月, 2009 1 次提交
  27. 13 11月, 2009 1 次提交
  28. 07 11月, 2009 1 次提交
    • G
      v3: don't call reset functions on cpu initialization · c1699988
      Glauber Costa 提交于
      There is absolutely no need to call reset functions when initializing
      devices. Since we are already registering them, calling qemu_system_reset()
      should suffice. Actually, it is what happens when we reboot the machine,
      and using the same process instead of a special case semantics will even
      allow us to find bugs easier.
      
      Furthermore, the fact that we initialize things like the cpu quite early,
      leads to the need to introduce synchronization stuff like qemu_system_cond.
      This patch removes it entirely. All we need to do is call qemu_system_reset()
      only when we're already sure the system is up and running
      
      I tested it with qemu (with and without io-thread) and qemu-kvm, and it
      seems to be doing okay - although qemu-kvm uses a slightly different patch.
      
      [ v2: user mode still needs cpu_reset, so put it in ifdef. ]
      [ v3: leave qemu_system_cond for now. ]
      Signed-off-by: NGlauber Costa <glommer@redhat.com>
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      c1699988
  29. 30 10月, 2009 1 次提交
  30. 28 10月, 2009 2 次提交
  31. 07 10月, 2009 1 次提交