1. 02 12月, 2013 1 次提交
  2. 22 11月, 2013 1 次提交
    • P
      pc: get rid of builtin pvpanic for "-M pc-1.5" · 7839ff59
      Paolo Bonzini 提交于
      This causes two slight backwards-incompatibilities between "-M pc-1.5"
      and 1.5's "-M pc":
      
      (1) a fw_cfg file is removed with this patch.  This is only a problem
      if migration stops the virtual machine exactly during fw_cfg enumeration.
      
      (2) after migration, a VM created without an explicit "-device pvpanic"
      will stop reporting panics to management.
      
      The first problem only occurs if migration is done at a very, very
      early point (and I'm not sure it can happen in practice for reasonable-size
      VMs, since it will likely take more time to send the RAM to destination,
      than it will take for BIOS to scan fw_cfg).
      
      The second problem only occurs if the guest panics _and_ has a guest
      driver _and_ management knows to look at the crash event, so it is
      mostly theoretical at this point in time.
      
      Thus keep the code simple, and pretend it was never broken.
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      7839ff59
  3. 14 11月, 2013 1 次提交
  4. 04 11月, 2013 1 次提交
  5. 14 10月, 2013 1 次提交
  6. 26 9月, 2013 1 次提交
  7. 10 9月, 2013 1 次提交
  8. 06 9月, 2013 1 次提交
    • V
      e1000: add interrupt mitigation support · e9845f09
      Vincenzo Maffione 提交于
      This patch partially implements the e1000 interrupt mitigation mechanisms.
      Using a single QEMUTimer, it emulates the ITR register (which is the newer
      mitigation register, recommended by Intel) and approximately emulates
      RADV and TADV registers. TIDV and RDTR register functionalities are not
      emulated (RDTR is only used to validate RADV, according to the e1000 specs).
      
      RADV, TADV, TIDV and RDTR registers make up the older e1000 mitigation
      mechanism and would need a timer each to be completely emulated. However,
      a single timer has been used in order to reach a good compromise between
      emulation accuracy and simplicity/efficiency.
      
      The implemented mechanism can be enabled/disabled specifying the command
      line e1000-specific boolean parameter "mitigation", e.g.
      
          qemu-system-x86_64 -device e1000,mitigation=on,... ...
      
      For more information, see the Software developer's manual at
      http://download.intel.com/design/network/manuals/8254x_GBe_SDM.pdf.
      
      Interrupt mitigation boosts performance when the guest suffers from
      an high interrupt rate (i.e. receiving short UDP packets at high packet
      rate). For some numerical results see the following link
      http://info.iet.unipi.it/~luigi/papers/20130520-rizzo-vm.pdfSigned-off-by: NVincenzo Maffione <v.maffione@gmail.com>
      Reviewed-by: Andreas Färber <afaerber@suse.de> (for pc-* machines)
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      e9845f09
  9. 01 9月, 2013 1 次提交
    • M
      pc: reduce duplication, fix PIIX descriptions · a0dba644
      Michael S. Tsirkin 提交于
      We have a lot of code duplication between machine types,
      this increases with each new machine type
      and each new field.
      
      This has already introduced a minor bug: description
      for pc-1.3 says "Standard PC" while description for
      pc-1.4 is "Standard PC (i440FX + PIIX, 1996)"
      which makes you think 1.3 is somehow more standard,
      or newer, while in fact it's a revision of the same PC.
      
      This patch addresses this issue by using macros, along
      the lines used by PC_COMPAT_X_X - only for
      non-property options.
      
      The approach can extend to non-PC machine types.
      
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      a0dba644
  10. 28 8月, 2013 1 次提交
    • M
      hw: Clean up bogus default boot order · c1654732
      Markus Armbruster 提交于
      We set default boot order "cad" in every single machine definition
      except "pseries" and "moxiesim", even though very few boards actually
      care for boot order, and "cad" makes sense for even fewer.
      
      Machines that care:
      
      * pc and its variants
      
        Accept up to three letters 'a', 'b' (undocumented alias for 'a'),
        'c', 'd' and 'n'.  Reject all others (fatal with -boot).
      
      * nseries (n800, n810)
      
        Check whether order starts with 'n'.  Silently ignored otherwise.
      
      * prep, g3beige, mac99
      
        Extract the first character the machine understands (subset of
        'a'..'f').  Silently ignored otherwise.
      
      * spapr
      
        Accept an arbitrary string (vl.c restricts it to contain only
        'a'..'p', no duplicates).
      
      * sun4[mdc]
      
        Use the first character.  Silently ignored otherwise.
      
      Strip characters these machines ignore from their default boot order.
      
      For all other machines, remove the unused default boot order
      alltogether.
      
      Note that my rename of QEMUMachine member boot_order to
      default_boot_order and QEMUMachineInitArgs member boot_device to
      boot_order has a welcome side effect: it makes every use of boot
      orders visible in this patch, for easy review.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: NLaszlo Ersek <lersek@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      c1654732
  11. 22 8月, 2013 5 次提交
  12. 21 8月, 2013 2 次提交
    • M
      loader: store FW CFG ROM files in RAM · 04920fc0
      Michael S. Tsirkin 提交于
      ROM files that are put in FW CFG are copied to guest ram, by BIOS, but
      they are not backed by RAM so they don't get migrated.
      
      Each time we change two bytes in such a ROM this breaks cross-version
      migration: since we can migrate after BIOS has read the first byte but
      before it has read the second one, getting an inconsistent state.
      
      Future-proof this by creating, for each such ROM,
      an MR serving as the backing store.
      This MR is never mapped into guest memory, but it's registered
      as RAM so it's migrated with the guest.
      
      Naturally, this only helps for -M 1.7 and up, older machine types
      will still have the cross-version migration bug.
      Luckily the race window for the problem to trigger is very small,
      which is also likely why we didn't notice the cross-version
      migration bug in testing yet.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: NLaszlo Ersek <lersek@redhat.com>
      04920fc0
    • M
      pc: cleanup 1.4 compat support · c0b4cc1f
      Michael S. Tsirkin 提交于
      Make 1.4 compat code call the 1.6 one, reducing
      code duplication. Add comment explaining why we can't
      make 1.4 call 1.5 as usual.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: NAndreas Färber <afaerber@suse.de>
      Reviewed-by: NEduardo Habkost <ehabkost@redhat.com>
      c0b4cc1f
  13. 13 8月, 2013 3 次提交
  14. 12 8月, 2013 4 次提交
  15. 30 7月, 2013 1 次提交
  16. 10 7月, 2013 1 次提交
  17. 08 7月, 2013 1 次提交
    • D
      pci: Abolish pci_find_root_bus() · 1ef7a2a2
      David Gibson 提交于
      pci_find_root_bus() takes a domain parameter.  Currently PCI root buses
      with domain other than 0 can't be created, so this is more or less a long
      winded way of retrieving the main PCI root bus.  Numbered domains don't
      actually properly cover the (non x86) possibilities for multiple PCI root
      buses, so this patch for now enforces the domain == 0 restriction in other
      places to replace pci_find_root_bus() with an explicit
      pci_find_primary_bus().
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      1ef7a2a2
  18. 04 7月, 2013 4 次提交
  19. 25 6月, 2013 3 次提交
  20. 24 6月, 2013 1 次提交
  21. 11 6月, 2013 2 次提交
  22. 07 6月, 2013 1 次提交
  23. 03 6月, 2013 2 次提交