1. 12 6月, 2015 1 次提交
    • J
      migration: Use normal VMStateDescriptions for Subsections · 5cd8cada
      Juan Quintela 提交于
      We create optional sections with this patch.  But we already have
      optional subsections.  Instead of having two mechanism that do the
      same, we can just generalize it.
      
      For subsections we just change:
      
      - Add a needed function to VMStateDescription
      - Remove VMStateSubsection (after removal of the needed function
        it is just a VMStateDescription)
      - Adjust the whole tree, moving the needed function to the corresponding
        VMStateDescription
      Signed-off-by: NJuan Quintela <quintela@redhat.com>
      5cd8cada
  2. 26 2月, 2015 1 次提交
  3. 10 2月, 2015 1 次提交
  4. 06 2月, 2015 1 次提交
    • P
      rtl8139: simplify timer logic · 237c255c
      Paolo Bonzini 提交于
      Pavel Dovgalyuk reports that TimerExpire and the timer are not restored
      correctly on the receiving end of migration.
      
      It is not clear to me whether this is really the case, but we can take
      the occasion to get rid of the complicated code that computes PCSTimeout
      on the fly upon changes to IntrStatus/IntrMask.  Just always keep a
      timer running, it will fire every ~130 seconds at most if the interrupt
      is masked with TimerInt != 0.
      
      This makes rtl8139_set_next_tctr_time idempotent (when the virtual clock
      is stopped between two calls, as is the case during migration).
      
      Tested with Frediano's qtest.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-id: 1421765099-26190-1-git-send-email-pbonzini@redhat.com
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      237c255c
  5. 12 1月, 2015 1 次提交
    • P
      net: remove all cleanup methods from NIC NetClientInfos · 57407ea4
      Paolo Bonzini 提交于
      All NICs have a cleanup function that, in most cases, zeroes the pointer
      to the NICState.  In some cases, it frees data belonging to the NIC.
      
      However, this function is never called except when exiting from QEMU.
      It is not necessary to NULL pointers and free data here; the right place
      to do that would be in the device's unrealize function, after calling
      qemu_del_nic.  Zeroing the NIC multiple times is also wrong for multiqueue
      devices.
      
      This cleanup function gets in the way of making the NetClientStates for
      the NIC hold an object_ref reference to the object, so get rid of it.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      57407ea4
  6. 21 11月, 2014 1 次提交
  7. 15 10月, 2014 2 次提交
  8. 18 8月, 2014 1 次提交
  9. 16 6月, 2014 1 次提交
  10. 21 11月, 2013 1 次提交
    • M
      Revert "e1000/rtl8139: update HMP NIC when every bit is written" · 90d131fb
      Michael S. Tsirkin 提交于
      This reverts commit cd5be582.
      Digging into hardware specs shows this does not
      actually make QEMU behave more like hardware:
      
      There are valid arguments backed by the spec to indicate why the version
      of e1000 prior to cd5be582 was more correct: the high byte actually
      includes a valid bit, this is why all guests write it last.
      
      For rtl8139 there's actually a separate undocumented valid bit, but we
      don't implement it yet.
      
      To summarize all the drivers we know about behave in one way
      that allows us to make an assumption about write order and avoid
      spurious, incorrect mac address updates to the monitor.
      
      Let's stick to the tried heuristic for 1.7 and
      possibly revisit for 1.8.
      Reported-by: NVlad Yasevich <vyasevic@redhat.com>
      Reviewed-by: NVlad Yasevich <vyasevic@redhat.com>
      Cc: Amos Kong <akong@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      90d131fb
  11. 07 11月, 2013 1 次提交
  12. 18 10月, 2013 2 次提交
  13. 14 10月, 2013 1 次提交
  14. 23 8月, 2013 1 次提交
  15. 29 7月, 2013 1 次提交
  16. 23 7月, 2013 2 次提交
  17. 04 7月, 2013 2 次提交
  18. 24 5月, 2013 1 次提交
    • S
      rtl8139: flush queued packets when RxBufPtr is written · 00b7ade8
      Stefan Hajnoczi 提交于
      Net queues support efficient "receive disable".  For example, tap's file
      descriptor will not be polled while its peer has receive disabled.  This
      saves CPU cycles for needlessly copying and then dropping packets which
      the peer cannot receive.
      
      rtl8139 is missing the qemu_flush_queued_packets() call that wakes the
      queue up when receive becomes possible again.
      
      As a result, the Windows 7 guest driver reaches a state where the
      rtl8139 cannot receive packets.  The driver has actually refilled the
      receive buffer but we never resume reception.
      
      The bug can be reproduced by running a large FTP 'get' inside a Windows
      7 guest:
      
        $ qemu -netdev tap,id=tap0,...
               -device rtl8139,netdev=tap0
      
      The Linux guest driver does not trigger the bug, probably due to a
      different buffer management strategy.
      Reported-by: NOliver Francke <oliver.francke@filoo.de>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      00b7ade8
  19. 09 4月, 2013 1 次提交
  20. 18 3月, 2013 1 次提交
    • G
      Switch to efi-enabled nic roms by default · c45e5b5b
      Gerd Hoffmann 提交于
      All PCI nics are switched to EFI-enabled roms by default.  They are
      composed from three images (legacy, efi ia32 & efi x86), so classic
      pxe booting will continue to work.
      
      Exception: eepro100 is not switched, it uses a single rom for all
      emulated eepro100 variants, then goes patch the rom header on the
      fly with the correct PCI IDs.  I doubt that will work as-is with
      the efi roms.
      
      Keep old roms for 1.4+older machine types via compat properties,
      needed because the efi-enabled roms are larger so the pci rom bar
      size would change.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      c45e5b5b
  21. 01 3月, 2013 1 次提交
    • P
      hw: include hw header files with full paths · 83c9f4ca
      Paolo Bonzini 提交于
      Done with this script:
      
      cd hw
      for i in `find . -name '*.h' | sed 's/^..//'`; do
        echo '\,^#.*include.*["<]'$i'[">], s,'$i',hw/&,'
      done | sed -i -f - `find . -type f`
      
      This is so that paths remain valid as files are moved.
      
      Instead, files in hw/dataplane are referenced with the relative path.
      We know they are not going to move to include/, and they are the only
      include files that are in subdirectories _and_ move.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      83c9f4ca
  22. 02 2月, 2013 3 次提交
  23. 11 1月, 2013 1 次提交
    • A
      Make all static TypeInfos const · 8c43a6f0
      Andreas Färber 提交于
      Since 39bffca2 (qdev: register all
      types natively through QEMU Object Model), TypeInfo as used in
      the common, non-iterative pattern is no longer amended with information
      and should therefore be const.
      
      Fix the documented QOM examples:
      
       sed -i 's/static TypeInfo/static const TypeInfo/g' include/qom/object.h
      
      Since frequently the wrong examples are being copied by contributors of
      new devices, fix all types in the tree:
      
       sed -i 's/^static TypeInfo/static const TypeInfo/g' */*.c
       sed -i 's/^static TypeInfo/static const TypeInfo/g' */*/*.c
      
      This also avoids to piggy-back these changes onto real functional
      changes or other refactorings.
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      8c43a6f0
  24. 07 1月, 2013 1 次提交
  25. 19 12月, 2012 3 次提交
  26. 17 12月, 2012 1 次提交
  27. 29 10月, 2012 1 次提交
  28. 23 10月, 2012 1 次提交
    • A
      Rename target_phys_addr_t to hwaddr · a8170e5e
      Avi Kivity 提交于
      target_phys_addr_t is unwieldly, violates the C standard (_t suffixes are
      reserved) and its purpose doesn't match the name (most target_phys_addr_t
      addresses are not target specific).  Replace it with a finger-friendly,
      standards conformant hwaddr.
      
      Outstanding patchsets can be fixed up with the command
      
        git rebase -i --exec 'find -name "*.[ch]"
                              | xargs s/target_phys_addr_t/hwaddr/g' origin
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      a8170e5e
  29. 08 10月, 2012 1 次提交
  30. 05 10月, 2012 1 次提交
  31. 01 8月, 2012 2 次提交