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. 14 10月, 2013 1 次提交
  5. 10 9月, 2013 1 次提交
  6. 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
  7. 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
  8. 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
  9. 22 8月, 2013 3 次提交
  10. 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
  11. 13 8月, 2013 2 次提交
  12. 12 8月, 2013 3 次提交
  13. 30 7月, 2013 1 次提交
  14. 23 7月, 2013 1 次提交
  15. 04 7月, 2013 3 次提交
  16. 11 6月, 2013 2 次提交
  17. 13 5月, 2013 1 次提交
  18. 12 5月, 2013 1 次提交
  19. 07 5月, 2013 1 次提交
  20. 01 5月, 2013 3 次提交
  21. 30 4月, 2013 3 次提交
  22. 25 4月, 2013 2 次提交
    • M
      pc: Kill the "use flash device for BIOS unless KVM" misfeature · 9953f882
      Markus Armbruster 提交于
      Use of a flash memory device for the BIOS was added in series "[PATCH
      v10 0/8] PC system flash support", commit 4732dcaf..1b89fafe, v1.1.
      
      Flash vs. ROM is a guest-visible difference.  Thus, flash use had to
      be suppressed for machine types pc-1.0 and older.  This was
      accomplished by adding a dummy device "pc-sysfw" with property
      "rom_only":
      
      * Non-zero rom_only means "use ROM".  Default for pc-1.0 and older.
      * Zero rom_only means "maybe use flash".  Default for newer machines.
      
      Not only is the dummy device ugly, it was also retroactively added to
      the older machine types!  Fortunately, it's not guest-visible (thus no
      immediate guest ABI breakage), and has no vmstate (thus no immediate
      migration breakage).  Breakage occurs only if the user unwisely
      enables flash by setting rom_only to zero.  Patch review FAIL #1.
      
      Why "maybe use flash"?  Flash didn't (and still doesn't) work with
      KVM.  Therefore, rom_only=0 really means "use flash, except when KVM
      is enabled, use ROM".  This is a Bad Idea, because it makes enabling/
      disabling KVM guest-visible.  Patch review FAIL #2.
      
      Aside: it also precludes migrating between KVM on and off, but that's
      not possible for other reasons anyway.
      
      Fix as follows:
      
      1. Change the meaning of rom_only=0 to mean "use flash, no ifs, buts,
      or maybes" for pc-i440fx-1.5 and pc-q35-1.5.  Don't change anything
      for older machines (to remain bug-compatible).
      
      2. Change the default value from 0 to 1 for these machines.
      Necessary, because 0 doesn't work with KVM.  Once it does, we can flip
      the default back to 0.
      
      3. Don't revert the retroactive addition of device "pc-sysfw" to older
      machine types.  Seems not worth the trouble.
      
      4. Add a TODO comment asking for device "pc-sysfw" to be dropped once
      flash works with KVM.
      
      Net effect is that you get a BIOS ROM again even when KVM is disabled,
      just like for machines predating the introduction of flash.
      
      To get flash instead, use "--global pc-sysfw.rom_only=0".
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Message-id: 1365780303-26398-4-git-send-email-armbru@redhat.com
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      9953f882
    • H
      ich9: kill cmos_s3 · a3ac6b53
      Hu Tao 提交于
      Signed-off-by: NHu Tao <hutao@cn.fujitsu.com>
      Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-id: 1366799842-18550-1-git-send-email-hutao@cn.fujitsu.com
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      a3ac6b53
  23. 09 4月, 2013 1 次提交
    • P
      hw: move headers to include/ · 0d09e41a
      Paolo Bonzini 提交于
      Many of these should be cleaned up with proper qdev-/QOM-ification.
      Right now there are many catch-all headers in include/hw/ARCH depending
      on cpu.h, and this makes it necessary to compile these files per-target.
      However, fixing this does not belong in these patches.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      0d09e41a
  24. 01 3月, 2013 2 次提交
  25. 23 2月, 2013 1 次提交