1. 19 12月, 2012 13 次提交
  2. 18 12月, 2012 2 次提交
  3. 17 12月, 2012 8 次提交
  4. 16 12月, 2012 4 次提交
  5. 15 12月, 2012 7 次提交
    • B
      Merge branch 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf · 6d4e1892
      Blue Swirl 提交于
      * 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf: (40 commits)
        pseries: Increase default NVRAM size
        target-ppc: Don't use hwaddr to represent hardware state
        PPC: e500: pci: Export slot2irq calculation
        PPC: E500plat: Make a lot of PCI slots available
        PPC: E500: Move PCI slot information into params
        PPC: E500: Generate dt pci irq map dynamically
        PPC: E500: PCI: Make IRQ calculation more generic
        PPC: E500: PCI: Make first slot qdev settable
        openpic: Accelerate pending irq search
        openpic: fix minor coding style issues
        MSI-X: Fix endianness
        PPC: e500: Declare pci bridge as bridge
        PPC: e500: Add MSI support
        openpic: add Shared MSI support
        openpic: make brr1 model specific
        openpic: convert to qdev
        openpic: remove irq_out
        openpic: rename openpic_t to OpenPICState
        openpic: convert simple reg operations to builtin bitops
        openpic: remove unused type variable
        ...
      6d4e1892
    • M
      target-xtensa: fix ITLB/DTLB page protection flags · 659f807c
      Max Filippov 提交于
      With MMU option xtensa architecture has two TLBs: ITLB and DTLB. ITLB is
      only used for code access, DTLB is only for data. However TLB entries in
      both TLBs have attribute field controlling write and exec access. These
      bits need to be properly masked off depending on TLB type before being
      used as tlb_set_page prot argument. Otherwise the following happens:
      
      (1) ITLB entry for some PFN gets invalidated
      (2) DTLB entry for the same PFN gets updated, attributes allow code
          execution
      (3) code at the page with that PFN is executed (possible due to step 2),
          entry for the TB is written into the jump cache
      (4) QEMU TLB entry for the PFN gets replaced with an entry for some
          other PFN
      (5) code in the TB from step 3 is executed (possible due to jump cache)
          and it accesses data, for which there's no DTLB entry, causing DTLB
          miss exception
      (6) re-translation of the TB from step 5 is attempted, but there's no
          QEMU TLB entry nor xtensa ITLB entry for that PFN, which causes ITLB
          miss exception at the TB start address
      (7) ITLB miss exception is handled by the guest, but execution is
          resumed from the beginning of the faulting TB (the point where ITLB
          miss occured), not from the point where DTLB miss occured, which is
          wrong.
      
      With that fix the above scenario causes ITLB miss exception (that used
      to be step 7) at step 3, right at the beginning of the TB.
      Signed-off-by: NMax Filippov <jcmvbkbc@gmail.com>
      Cc: qemu-stable@nongnu.org
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      659f807c
    • G
      console: clip update rectangle · 4b4496db
      Gerd Hoffmann 提交于
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      4b4496db
    • G
      pixman: fix vnc tight png/jpeg support · bc210eb1
      Gerd Hoffmann 提交于
      This patch adds an x argument to qemu_pixman_linebuf_fill so it can
      also be used to convert a partial scanline.  Then fix tight + png/jpeg
      encoding by passing in the x+y offset, so the data is read from the
      correct screen location instead of the upper left corner.
      
      Cc: 1087974@bugs.launchpad.net
      Cc: qemu-stable@nongnu.org
      Reported-by: NTim Hardeneck <thardeck@suse.de>
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      bc210eb1
    • G
      pixman: update internal copy to pixman-0.28.2 · f27b2e1d
      Gerd Hoffmann 提交于
      Some w64 fixes by Stefan Weil found their way into 0.28.2,
      so update the internal copy to that version to improve
      windows support.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      f27b2e1d
    • G
      Revert "pixman: require 0.18.4 or newer" · cb1d40d7
      Gerd Hoffmann 提交于
      This reverts commit 288fa407.
      
      The only reason old pixman versions didn't work was the missing
      PIXMAN_TYPE_BGRA, which is properly #ifdef'ed now.  So we don't
      have to require a minimum pixman version.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      cb1d40d7
    • G
      pixman: fix version check for PIXMAN_TYPE_BGRA · fbddfc72
      Gerd Hoffmann 提交于
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      fbddfc72
  6. 14 12月, 2012 6 次提交
    • D
      pseries: Increase default NVRAM size · a64ae610
      David Gibson 提交于
      If no image file for NVRAM is specified, the pseries machine currently
      creates a 16K non-persistent NVRAM by default.  This basically works, but
      is not large enough for current firmware and guest kernels to create all
      the NVRAM partitions they would like to.  Increasing the default size to
      64K addresses this and stops the guest generating error messages.
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      a64ae610
    • D
      target-ppc: Don't use hwaddr to represent hardware state · b162d02e
      David Gibson 提交于
      The hwaddr type is somewhat vaguely defined as being able to contain bus
      addresses on the widest possible bus in the system.  For that reason it's
      discouraged for representing specific pieces of persistent hardware state,
      which should instead use an explicit width type that matches the bits
      available in real hardware.  In particular, because of the possibility that
      the size of hwaddr might change if different buses are added to the target
      in future, it's not suitable for use in vm state descriptions for savevm
      and migration.
      
      This patch purges such unwise uses of hwaddr from the ppc target code,
      which turns out to be just one.  The ppcemb_tlb_t struct, used on a number
      of embedded ppc models to represent a TLB entry contains a hwaddr for the
      real address field.  This patch changes it to be a fixed uint64_t which is
      suitable enough for all machine types which use this structure.
      
      Other uses of hwaddr in CPUPPCState turn out not to be problematic:
      htab_base and htab_mask are just used for the convenience of the TCG code;
      the underlying machine state is the SDR1 register, which is stored with
      a suitable type already.  Likewise the mpic_cpu_base field is only used
      internally and does not represent fundamental hardware state which needs to
      be saved.
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      b162d02e
    • A
      PPC: e500: pci: Export slot2irq calculation · 9e2c1298
      Alexander Graf 提交于
      We need the calculation method to get from a PCI slot ID to its respective
      interrupt line twice. Once in the internal map function and once when
      assembling the device tree.
      
      So let's extract the calculation to a separate function that can be called
      by both users.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      9e2c1298
    • A
      PPC: E500plat: Make a lot of PCI slots available · 3bb7e02a
      Alexander Graf 提交于
      The ppce500 machine doesn't have to stick to hardware limitations,
      as it's defined as being fully device tree based.
      
      Thus we can change the initial PCI slot ID to 0x1 which gives us a
      whopping 31 PCI devices we can support with this machine now!
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      3bb7e02a
    • A
      PPC: E500: Move PCI slot information into params · 492ec48d
      Alexander Graf 提交于
      We have a params struct that allows us to expose differences between
      e500 machine models. Include PCI slot information there, so we can have
      different machines with different PCI slot topology.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      492ec48d
    • A
      PPC: E500: Generate dt pci irq map dynamically · 347dd79d
      Alexander Graf 提交于
      Today we're hardcoding the PCI interrupt map in the e500 machine file.
      Instead, let's write it dynamically so that different machine types
      can have different slot properties.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      347dd79d