1. 16 7月, 2013 3 次提交
    • A
      Merge remote-tracking branch 'pmaydell/tags/pull-arm-devs-20130715' into staging · 1750d019
      Anthony Liguori 提交于
      arm-devs queue
      
      # gpg: Signature made Mon 15 Jul 2013 10:53:44 AM CDT using RSA key ID 14360CDE
      # gpg: Can't check signature: public key not found
      
      # By Peter Maydell (4) and others
      # Via Peter Maydell
      * pmaydell/tags/pull-arm-devs-20130715:
        ARM/highbank: add support for Calxeda ECX-2000 / Midway
        ARM/highbank: prepare for adding similar machines
        hw/arm/vexpress: Add alias for flash at address 0 on A15 board
        hw/dma/omap_dma: Fix bugs with DMA requests above 32
        sd/pl181.c: Avoid undefined shift behaviour in RWORD macro
        hw/cpu/a15mpcore: Correct default value for num-irq
        char/cadence_uart: Fix reset for unattached instances
      
      Message-id: 1373904095-27592-1-git-send-email-peter.maydell@linaro.org
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      1750d019
    • A
      Merge remote-tracking branch 'rth/axp-next' into staging · a34001fa
      Anthony Liguori 提交于
      # By Richard Henderson
      # Via Richard Henderson
      * rth/axp-next:
        hw/alpha: Use SRM epoch
        hw/alpha: Drop latch_tmp hack
        exec: Support 64-bit operations in address_space_rw
        hw/alpha: Don't machine check on missing pci i/o
        hw/alpha: Don't use get_system_io
      
      Message-id: 1373840171-25556-1-git-send-email-rth@twiddle.net
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      a34001fa
    • A
      Merge remote-tracking branch 'kwolf/for-anthony' into staging · 5699a02e
      Anthony Liguori 提交于
      # By Kevin Wolf (6) and Stefan Hajnoczi (2)
      # Via Kevin Wolf
      * kwolf/for-anthony:
        ahci: Fix FLUSH command
        migration: Fail migration on bdrv_flush_all() error
        cpus: Add return value for vm_stop()
        block: Add return value for bdrv_flush_all()
        qemu-iotests: Update 051 reference output
        block: Don't parse protocol from file.filename
        block: add drive_backup HMP command
        blockdev: add sync mode to drive-backup QMP command
      
      Message-id: 1373887000-4488-1-git-send-email-kwolf@redhat.com
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      5699a02e
  2. 15 7月, 2013 18 次提交
  3. 14 7月, 2013 2 次提交
  4. 13 7月, 2013 1 次提交
    • A
      ioport: remove LITTLE_ENDIAN mark for portio · c3cb8e77
      Anthony Liguori 提交于
      Setting it to LE forces a byte swap when host != guest endian but
      this makes no sense at all.
      
      Herve made the suggestion upon observing that word writes/reads
      were broken into byte writes/reads in such a way as to assume
      devices are interpret registers as LE.
      
      However, even if this were a problem, marking the region as LE is
      not useful because what's essentially happening here is that LE is
      open coded.  So by marking it LE in MemoryRegionOps, we're doing a
      superflous swap.
      
      Now, the portio code is suspicious to begin with.  The dispatch
      layer really has no purpose in splitting I/O requests in the first
      place...
      
      Cc: Hervé Poussineau <hpoussin@reactos.org>
      Cc: Alex Graf <agraf@suse.de>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      c3cb8e77
  5. 12 7月, 2013 16 次提交
    • A
      Merge remote-tracking branch 'agraf/ppc-for-upstream' into staging · 25ca6a1f
      Anthony Liguori 提交于
      # By Alexander Graf (16) and others
      # Via Alexander Graf
      * agraf/ppc-for-upstream: (22 commits)
        PPC: dbdma: Support more multi-issue DMA requests
        PPC: Add timer handler for newworld mac-io
        PPC: dbdma: Support unaligned DMA access
        PPC: dbdma: Wait for DMA until we have data
        PPC: dbdma: Move processing to io
        PPC: dbdma: macio: Add DMA callback
        PPC: dbdma: Move static bh variable to device struct
        PPC: dbdma: Introduce kick function
        PPC: dbdma: Move defines into header file
        PPC: dbdma: Allow new commands in RUN state
        PPC: dbdma: Fix debug print
        PPC: Mac: Add debug prints in macio and dbdma code
        PPC: dbdma: Replace tabs with spaces
        PPC: Macio: Replace tabs with spaces
        PPC: g3beige: Move secondary IDE bus to mac-io
        PPC: Mac: Fix guest exported tbfreq values
        target-ppc: Add POWER8 v1.0 CPU model
        pseries: move interrupt controllers to hw/intc/
        spapr: Respect -bios command line option for SLOF
        spapr: Use named enum for function remove_hpte
        ...
      
      Message-id: 1373562085-29728-1-git-send-email-agraf@suse.de
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      25ca6a1f
    • A
      PPC: dbdma: Support more multi-issue DMA requests · f35ea98c
      Alexander Graf 提交于
      A DMA request can happen for data that hasn't been completely been
      provided by the IDE core yet. For example
      
        - DBDMA request for 0x1000 bytes
        - IDE request for 1 sector
        - DBDMA wants to read 0x1000 bytes (8 sectors) from bdrv
        - breakage
      
      Instead, we should truncate our bdrv request to the maximum number
      of sectors we're allowed to read at that given time. Once that transfer
      is through, we will fall into our recently introduced waiting logic.
      
        - DBDMA requests for 0x1000 bytes
        - IDE request for 1 sector
        - DBDMA wants to read MIN(0x1000, 1 * 512) bytes
        - DBDMA finishes reading, indicates to IDE core that transfer is complete
        - IDE request for 7 sectors
        - DBDMA finishes the DMA
      Reported-by: NMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      f35ea98c
    • A
      PPC: Add timer handler for newworld mac-io · a0f9fdfd
      Alexander Graf 提交于
      Mac OS X accesses fancy timer registers inside of the mac-io on bootup.
      
      These really should be ticking at the mac-io bus frequency, but I don't
      see anyone upset when we just make them as fast as we want to.
      
      With this patch on top of my previous patch queue and latest OpenBIOS
      I am able to boot Mac OS X 10.4 with -M mac99.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      a0f9fdfd
    • A
      PPC: dbdma: Support unaligned DMA access · 80fc95d8
      Alexander Graf 提交于
      The DBDMA engine really just reads bytes from a producing device (IDE
      in our case) and shoves these bytes into memory. It doesn't care whether
      any alignment takes place or not.
      
      Our code today however assumes that block accesses always happen on
      sector (512 byte) boundaries. This is a fair assumption for most cases.
      
      However, Mac OS X really likes to do unaligned, incomplete accesses
      that it finishes with the next DMA request.
      
      So we need to read / write the unaligned bits independent of the actual
      asynchronous request, because that one can only handle 512-byte-aligned
      data. We also need to cache these unaligned sectors until the next DMA
      request, at which point the data might be successfully flushed from the
      pipe.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      80fc95d8
    • A
      PPC: dbdma: Wait for DMA until we have data · cae32357
      Alexander Graf 提交于
      We should only start processing DMA requests when we have data to process.
      Hold off working through the DMA shuffling until the IDE core told us that
      it's ready.
      
      This is required because the guest can program the DMA engine or the IDE
      transfer first. Both are legal.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      cae32357
    • A
      PPC: dbdma: Move processing to io · 03ee3b1e
      Alexander Graf 提交于
      Soon we will introduce intermediate processing pauses which will
      allow the bottom half to restart a DMA request that couldn't be
      fulfilled yet.
      
      For that to work, move the processing variable into the io struct
      which is what DMA providers work with.
      
      While touching it, also change it into a bool
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      03ee3b1e
    • A
      PPC: dbdma: macio: Add DMA callback · 4aa3510f
      Alexander Graf 提交于
      We need to know when the IDE core starts a DMA transfer. Add a notifier
      function so we have the chance to start transmitting data.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      4aa3510f
    • A
      PPC: dbdma: Move static bh variable to device struct · d2f0ce21
      Alexander Graf 提交于
      The DBDMA controller has a bottom half to asynchronously process DMA
      request queues.
      
      This bh was stored as a gross static variable. Move it into the device
      struct instead.
      
      While at it, move all users of it to the new generic kick function.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      d2f0ce21
    • A
      PPC: dbdma: Introduce kick function · d1e562de
      Alexander Graf 提交于
      The DBDMA engine really is running all the time, waiting for input. However
      we don't want to waste cycles constantly polling.
      
      So introduce a kick function that data providers can call to notify the
      DBDMA controller of new input.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      d1e562de
    • A
      PPC: dbdma: Move defines into header file · f2f963fd
      Alexander Graf 提交于
      We usually keep struct and constant definitions in header files. Move
      them there to stay consistent and to make access to fields easier.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      f2f963fd
    • A
      PPC: dbdma: Allow new commands in RUN state · 7eaba824
      Alexander Graf 提交于
      The DBDMA controller can not change its command stream while it's
      actively streaming data, true. But the fact that it's in RUN state
      doesn't actually indicate anything. It could just as well be in
      WAIT while in RUN. And then it's legal to change commands.
      
      This fixes a real world issue I've encountered with Mac OS X.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      7eaba824
    • A
      PPC: dbdma: Fix debug print · 58c0c311
      Alexander Graf 提交于
      There was a debug print that didn't compile for me because the format
      and the arguments weren't in sync. Fix it up.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      58c0c311
    • A
      PPC: Mac: Add debug prints in macio and dbdma code · 33ce36bb
      Alexander Graf 提交于
      The macio code is basically undebuggable as it stands today, with no
      debug prints anywhere whatsoever. DBDMA was better, but I needed a
      few more to create reasonable logs that tell me where breakage is.
      
      Add a DPRINTF macro in the macio source file and add a bunch of debug
      prints that are all disabled by default of course.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      33ce36bb
    • A
      PPC: dbdma: Replace tabs with spaces · 9e232428
      Alexander Graf 提交于
      s/^I/        /g on the file with a few manual tweaks to align things.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      9e232428
    • A
      PPC: Macio: Replace tabs with spaces · 8aef291f
      Alexander Graf 提交于
      s/^I/        /g on the file.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      8aef291f
    • A
      PPC: g3beige: Move secondary IDE bus to mac-io · 14eefd0e
      Alexander Graf 提交于
      On a real G3 Beige the secondary IDE bus lives on the mac-io chip, not
      on some random PCI device. Move it there to become more compatible.
      
      While at it, also clean up the IDE channel connection logic.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      14eefd0e