1. 10 9月, 2012 1 次提交
  2. 08 9月, 2012 6 次提交
    • J
      musicpal: Fix flash mapping · 0c267217
      Jan Kiszka 提交于
      The old arithmetic assumed 32 physical address bits which is no longer
      true for ARM since 3cc0cd61.
      Signed-off-by: NJan Kiszka <jan.kiszka@web.de>
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      0c267217
    • F
      Add MAINTAINERS entry for leon3 · ce6c760c
      Fabien Chouteau 提交于
      Signed-off-by: NFabien Chouteau <chouteau@adacore.com>
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      ce6c760c
    • A
      target-sparc: fix fcmp{s,d,q} instructions wrt exception · 5acfc832
      Aurelien Jarno 提交于
      fcmp{s,d,q} instructions are supposed to ignore quiet NaN (contrary to
      the fcmpe{s,d,q} instructions), but the current code is wrongly setting
      the NV exception in that case. Moreover the current code is duplicated:
      first the arguments are checked for NaN to generate an exception, and
      later in case the comparison is unordered (which can only happens if one
      of the argument is a NaN), the same check is done to generate an
      exception.
      
      Fix that by calling clear_float_exceptions() followed by
      check_ieee_exceptions() as for the other floating point instructions.
      Use the _compare_quiet functions for fcmp{s,d,q} and the _compare ones
      for fcmpe{s,d,q}. Simplify the flag setting by not clearing a flag that
      is set the line just below.
      
      This fix allows the math glibc testsuite to pass.
      
      Cc: Blue Swirl <blauwirbel@gmail.com>
      Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      5acfc832
    • M
      target-xtensa: fix missing errno codes for mingw32 · c29b1bee
      Max Filippov 提交于
      Put the following errno value mappings under #ifdef:
      
      xtensa-semi.c: In function 'errno_h2g':
      xtensa-semi.c:113: error: 'ENOTBLK' undeclared (first use in this function)
      xtensa-semi.c:113: error: (Each undeclared identifier is reported only once
      xtensa-semi.c:113: error: for each function it appears in.)
      xtensa-semi.c:113: error: array index in initializer not of integer type
      xtensa-semi.c:113: error: (near initialization for 'guest_errno')
      xtensa-semi.c:124: error: 'ETXTBSY' undeclared (first use in this function)
      xtensa-semi.c:124: error: array index in initializer not of integer type
      xtensa-semi.c:124: error: (near initialization for 'guest_errno')
      xtensa-semi.c:134: error: 'ELOOP' undeclared (first use in this function)
      xtensa-semi.c:134: error: array index in initializer not of integer type
      xtensa-semi.c:134: error: (near initialization for 'guest_errno')
      Signed-off-by: NMax Filippov <jcmvbkbc@gmail.com>
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      c29b1bee
    • S
      target-cris: Fix buffer overflow · c001ed15
      Stefan Weil 提交于
      Report from smatch:
      
      target-cris/translate.c:3464 cpu_dump_state(32) error:
       buffer overflow 'env->sregs' 4 <= 255
      
      sregs is declared 'uint32_t sregs[4][16]', so the first index must be
      less than 4 or ARRAY_SIZE(env->sregs).
      Signed-off-by: NStefan Weil <sw@weilnetz.de>
      c001ed15
    • M
      MIPS/user: Fix reset CPU state initialization · 03e6e501
      Maciej W. Rozycki 提交于
       This change updates the CPU reset sequence to use a common piece of code
      that figures out CPU state flags, fixing the problem with MIPS_HFLAG_COP1X
      not being set where applicable that causes floating-point MADD family
      instructions (and other instructions from the MIPS IV FP subset) to trap.
      
       As compute_hflags is now shared between op_helper.c and translate.c, the
      function is now moved to a common header.  There are no changes to this
      function.
      
       The problem was seen with the 24Kf MIPS32r2 processor in user emulation.
      The new approach prevents system and user emulation from diverging -- all
      the hflags state is initialized in one place now.
      Signed-off-by: NMaciej W. Rozycki <macro@codesourcery.com>
      Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
      03e6e501
  3. 07 9月, 2012 2 次提交
  4. 06 9月, 2012 7 次提交
  5. 05 9月, 2012 1 次提交
  6. 04 9月, 2012 2 次提交
  7. 01 9月, 2012 1 次提交
  8. 31 8月, 2012 16 次提交
    • A
      Update version to 1.2.0-rc3 · 0232cd35
      Anthony Liguori 提交于
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      0232cd35
    • S
      console: Fix warning from clang (and potential crash) · 8bd6b06d
      Stefan Weil 提交于
      ccc-analyzer reports this warning:
      
      console.c:1090:29: warning: Dereference of null pointer
              if (active_console->cursor_timer) {
                                  ^
      
      Function console_select allows active_console to be NULL,
      but would crash when accessing cursor_timer. Fix this.
      Reviewed-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NStefan Weil <sw@weilnetz.de>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      8bd6b06d
    • A
      Merge remote-tracking branch 'kraxel/usb.61' into staging · 23aec600
      Anthony Liguori 提交于
      * kraxel/usb.61:
        uas: move transfer kickoff
        ehci: Fix interrupt endpoints no longer working
        ehci: handle TD deactivation of inflight packets
        ehci: add ehci_cancel_queue()
        ehci: simplify ehci_state_executing
        ehci: Remove unnecessary ehci_flush_qh call
        ehci: Schedule async-bh when IAAD bit gets set
        ehci: Fix NULL ptr deref when unplugging an USB dev with an iso stream active
        usb: unique packet ids
        usb: Halt ep queue en cancel pending packets on a packet error
        fix info qtree indention
      23aec600
    • A
      Merge remote-tracking branch 'kwolf/for-anthony' into staging · cdedd9d8
      Anthony Liguori 提交于
      * kwolf/for-anthony:
        qemu-iotests: add backing file smaller than image test case
        stream: complete early if end of backing file is reached
        qed: refuse unaligned zero writes with a backing file
      cdedd9d8
    • G
      uas: move transfer kickoff · 347e40ff
      Gerd Hoffmann 提交于
      Kick next scsi transfer from request release callback instead of command
      completion callback, otherwise we might get stuck in case scsi_req_unref()
      doesn't release the request instantly due to someone else holding a
      reference too.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      347e40ff
    • H
      ehci: Fix interrupt endpoints no longer working · adf47834
      Hans de Goede 提交于
      One of the recent changes (likely the addition of queuing support) has broken
      interrupt endpoints, this patch fixes this.
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      adf47834
    • G
      ehci: handle TD deactivation of inflight packets · 287fd3f1
      Gerd Hoffmann 提交于
      Check the TDs of inflight packets, cancel
      packets in case the guest clears the active bit.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      287fd3f1
    • G
      ehci: add ehci_cancel_queue() · c7cdca3b
      Gerd Hoffmann 提交于
      Factor out function to cancel all packets of a queue.
      No behavior change.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      c7cdca3b
    • H
      ehci: simplify ehci_state_executing · 574ef171
      Hans de Goede 提交于
      ehci_state_executing does not need to check for p->usb_status == USB_RET_ASYNC
      or USB_RET_PROCERR, since ehci_execute_complete already does a similar check
      and will trigger an assert if either value is encountered.
      
      USB_RET_ASYNC should never be the packet status when execute_complete runs
      for obvious reasons, and USB_RET_PROCERR is only used by ehci_state_execute /
      ehci_execute not by ehci_state_executing / ehci_execute_complete.
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      574ef171
    • H
      ehci: Remove unnecessary ehci_flush_qh call · 53dd6f70
      Hans de Goede 提交于
      ehci_qh_do_overlay() already calls ehci_flush_qh() before it returns, calling
      it twice is useless.
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      53dd6f70
    • H
      ehci: Schedule async-bh when IAAD bit gets set · a1c3e4b8
      Hans de Goede 提交于
      After the "ehci: Print a warning when a queue unexpectedly contains packets
      on cancel" commit. Under certain reproducable conditions I was getting the
      following message: "EHCI: Warning queue not empty on queue reset".
      
      After aprox. 8 hours of debugging I've finally found the cause. The Linux EHCI
      driver has an IAAD watchdog, to work around certain EHCI hardware sometimes
      not acknowledging the doorbell at all. This watchdog has a timeout of 10 ms,
      which is less then the time between 2 runs through the async schedule when
      async_stepdown is at its highest value.
      
      Thus the watchdog can trigger, after which Linux clears the IAAD bit and
      re-uses the QH. IOW we were not properly detecting the unlink of the qh, due
      to us missing (ignoring for more then 10 ms) the IAAD command, which triggered
      the warning.
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      a1c3e4b8
    • H
    • G
      usb: unique packet ids · e983395d
      Gerd Hoffmann 提交于
      This patch adds IDs to usb packets.  Those IDs are (a) supposed to be
      unique for the lifecycle of a packet (from packet setup until the packet
      is either completed or canceled) and (b) stable across migration.
      
      uhci, ohci, ehci and xhci use the guest physical address of the transfer
      descriptor for this.
      
      musb needs a different approach because there is no transfer descriptor.
      But musb also doesn't support pipelining, so we have never more than one
      packet per endpoint in flight.  So we go create an ID based on endpoint
      and device address.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      e983395d
    • H
      usb: Halt ep queue en cancel pending packets on a packet error · 0132b4b6
      Hans de Goede 提交于
      For controllers which queue up more then 1 packet at a time, we must halt the
      ep queue, and inside the controller code cancel all pending packets on an
      error.
      
      There are multiple reasons for this:
      1) Guests expect the controllers to halt ep queues on error, so that they
      get the opportunity to cancel transfers which the scheduled after the failing
      one, before processing continues
      
      2) Not cancelling queued up packets after a failed transfer also messes up
      the controller state machine, in the case of EHCI causing the following
      assert to trigger: "assert(p->qtdaddr == q->qtdaddr)" at hcd-ehci.c:2075
      
      3) For bulk endpoints with pipelining enabled (redirection to a real USB
      device), we must cancel all the transfers after this a failed one so that:
      a) If they've completed already, they are not processed further causing more
         stalls to be reported, originating from the same failed transfer
      b) If still in flight, they are cancelled before the guest does
         a clear stall, otherwise the guest and device can loose sync!
      
      Note this patch only touches the ehci and uhci controller changes, since AFAIK
      no other controllers actually queue up multiple transfer. If I'm wrong on this
      other controllers need to be updated too!
      
      Also note that this patch was heavily tested with the ehci code, where I had
      a reproducer for a device causing a transfer to fail. The uhci code is not
      tested with actually failing transfers and could do with a thorough review!
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      0132b4b6
    • G
      fix info qtree indention · da9fbe76
      Gerd Hoffmann 提交于
      Without the patch bus properties are are not in line with the other
      properties:
      
      [ ... ]
        dev: fw_cfg, id ""
          ctl_iobase = 0x510
          data_iobase = 0x511
            irq 0
            mmio ffffffffffffffff/0000000000000002
            mmio ffffffffffffffff/0000000000000001
      [ ... ]
      
      With the patch applied everything is lined up properly:
      
      [ ... ]
        dev: fw_cfg, id ""
          ctl_iobase = 0x510
          data_iobase = 0x511
          irq 0
          mmio ffffffffffffffff/0000000000000002
          mmio ffffffffffffffff/0000000000000001
      [ ... ]
      
      Needed to make the autotest qtree parser happy.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      da9fbe76
    • S
      w32: Fix broken build · b834b508
      Stefan Weil 提交于
      Commit ef8621b1 added an include
      file which is not available for MinGW compilations.
      Signed-off-by: NStefan Weil <sw@weilnetz.de>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      b834b508
  9. 30 8月, 2012 3 次提交
  10. 29 8月, 2012 1 次提交