1. 25 9月, 2013 26 次提交
  2. 16 8月, 2013 1 次提交
  3. 14 8月, 2013 3 次提交
    • A
      mips_malta: do not raise exceptions when accessing invalid memory · cc413a39
      Aurelien Jarno 提交于
      Since commit c658b94f, MIPS raises
      exceptions when accessing invalid memory. This is not the correct
      behaviour for MIPS Malta Core LV, as the GT-64120A system controller
      just ignore undecoded access. This feature is used by the Linux kernel
      to probe for some devices.
      
      Emulate the correct behaviour in QEMU by adding an empty slot covering
      the entire memory space decoded by the GT-64120A.
      Tested-by: NStefan Weil <sw@weilnetz.de>
      Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
      cc413a39
    • M
      block: Dont ignore previously set bdrv_flags · 8b7a5415
      M. Mohan Kumar 提交于
      bdrv_flags is set by bdrv_parse_discard_flags(), but later it is reset
      to zero.
      Signed-off-by: NM. Mohan Kumar <mohan@in.ibm.com>
      Message-id: 1376483201-13466-1-git-send-email-mohan@in.ibm.com
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      8b7a5415
    • J
      qemu-char: fix infinite recursion connecting to monitor pty · 3a3567d3
      James Hogan 提交于
      Since commit bd5c51ee (qemu-char: don't issue CHR_EVENT_OPEN in a BH), an
      infinite recursion occurs when putting the monitor on a pty (-monitor
      pty) and connecting a terminal to the slave port.
      
      This is because of the qemu_chr_be_event(s, CHR_EVENT_OPENED) added to
      qemu_chr_be_generic_open(). This event is captured by monitor_event()
      which prints a welcome message to the character device. The flush of
      that welcome message retriggers another open event in pty_chr_state()
      because it checks s->connected, but only sets it to 1 after calling
      qemu_chr_be_generic_open().
      
      I've fixed this by setting s->connected = 1 before the call to
      qemu_chr_be_generic_open() instead of after, so that the recursive
      pty_chr_state() doesn't call it again.
      
      An example snippet of repeating backtrace:
       ...
       #107486 0x007aec58 in monitor_flush (mon=0xf418b0) at qemu/monitor.c:288
       #107487 0x007aee7c in monitor_puts (mon=0xf418b0, str=0x1176d07 "") at qemu/monitor.c:322
       #107488 0x007aef20 in monitor_vprintf (mon=0xf418b0, fmt=0x8d4820 "QEMU %s monitor - type 'help' for more information\n",
           ap=0x7f432be0) at qemu/monitor.c:339
       #107489 0x007aefac in monitor_printf (mon=0xf418b0, fmt=0x8d4820 "QEMU %s monitor - type 'help' for more information\n")
           at qemu/monitor.c:347
       #107490 0x007ba4bc in monitor_event (opaque=0xf418b0, event=2) at qemu/monitor.c:4699
       #107491 0x00684c28 in qemu_chr_be_event (s=0xf37788, event=2) at qemu/qemu-char.c:108
       #107492 0x00684c70 in qemu_chr_be_generic_open (s=0xf37788) at qemu/qemu-char.c:113
       #107493 0x006880a4 in pty_chr_state (chr=0xf37788, connected=1) at qemu/qemu-char.c:1145
       #107494 0x00687fa4 in pty_chr_update_read_handler (chr=0xf37788) at qemu/qemu-char.c:1121
       #107495 0x00687c9c in pty_chr_write (chr=0xf37788, buf=0x70b3c008 <Address 0x70b3c008 out of bounds>, len=538720)
           at qemu/qemu-char.c:1063
       #107496 0x00684cc4 in qemu_chr_fe_write (s=0xf37788, buf=0x70b3c008 <Address 0x70b3c008 out of bounds>, len=538720)
           at qemu/qemu-char.c:118
       ...
      Signed-off-by: NJames Hogan <james.hogan@imgtec.com>
      Tested-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
      Message-id: 1375960178-10882-1-git-send-email-james.hogan@imgtec.com
      Cc: Michael Roth <mdroth@linux.vnet.ibm.com>
      Cc: Anthony Liguori <aliguori@us.ibm.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      3a3567d3
  4. 13 8月, 2013 6 次提交
  5. 12 8月, 2013 4 次提交
    • E
      pc: Remove PCLMULQDQ from Westmere on pc-*-1.4 and older · 56383703
      Eduardo Habkost 提交于
      Commit 41cb383f made a guest-visible
      change by adding the PCLMULQDQ bit to Westmere without adding
      compatibility code to keep the ABI for older machine-types.
      Fix it by adding the missing compat code.
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      56383703
    • M
      rdma: remaining documentation fixes · 8f3067bd
      Michael R. Hines 提交于
      Was missing 'setup-time' in some of the QMP documentation...
      Signed-off-by: NMichael R. Hines <mrhines@us.ibm.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-id: 1376078746-24948-7-git-send-email-mrhines@linux.vnet.ibm.com
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      8f3067bd
    • M
      rdma: IPv6 over Ethernet (RoCE) is broken in linux - workaround · 7fc5b13f
      Michael R. Hines 提交于
      We've gotten reports from multiple testers (including Frank Yangjie
      and myself) that RDMA IPv6 support over RocE (Ethernet) is broken
      in linux.
      
      A patch to Linux is still in review:
      
      http://comments.gmane.org/gmane.linux.drivers.rdma/16448
      
      If the user is listening on '[::]', then we will not have a opened a device
      yet and have no way of verifying if the device is RoCE or not.
      
      In this case, the source VM will throw an error for ALL types of
      connections (both IPv4 and IPv6) if the destination machine does not have
      a regular infiniband network available for use.
      
      The only way to gaurantee that an error is thrown for broken kernels is
      for the management software to choose a *specific* interface at bind time
      and validate what time of hardware it is.
      
      Unfortunately, this puts the user in a fix:
      
       If the source VM connects with an IPv4 address without knowing that the
       destination has bound to '[::]' the migration will unconditionally fail
       unless the management software is not explicitly listening on the the IPv4
       address while using a RoCE-based device.
      
       If the source VM connects with an IPv6 address, then we're OK because we can
       throw an error on the source (and similarly on the destination).
      
       But in mixed environments, this will be broken for a while until it is fixed
       inside linux.
      
      We do provide a *tiny* bit of help in mixed environments, though in this patch:
      
      We can list all of the devices in the system and check to see if all the
      devices are RoCE or Infiniband.
      
      If we detect that we have a *pure* RoCE environment, then we can safely
      thrown an error even if the management sofware has specified '[::]' as the
      bind address.
      
      However, if there is are multiple hetergeneous devices, then we cannot make
      this assumption and the user just has to be sure they know what they are doing.
      Signed-off-by: NMichael R. Hines <mrhines@us.ibm.com>
      Message-id: 1376078746-24948-6-git-send-email-mrhines@linux.vnet.ibm.com
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      7fc5b13f
    • M
      rdma: proper getaddrinfo() handling · 6470215b
      Michael R. Hines 提交于
      getaddrinfo() already knows what it's doing,
      but it can potentially return multiple addresses.
      We need to handle that...
      Reviewed-by: NOrit Wasserman <owasserm@redhat.com>
      Signed-off-by: NMichael R. Hines <mrhines@us.ibm.com>
      Message-id: 1376078746-24948-5-git-send-email-mrhines@linux.vnet.ibm.com
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      6470215b