1. 24 12月, 2013 1 次提交
  2. 23 12月, 2013 17 次提交
  3. 21 12月, 2013 4 次提交
  4. 20 12月, 2013 18 次提交
    • A
      Merge remote-tracking branch 'agraf/tags/signed-ppc-for-upstream' into staging · f8251db1
      Anthony Liguori 提交于
      Patch queue for ppc - 2013-12-20
      
      Alexander Graf (3):
            PPC: Use default pci bus name for grackle and heathrow
            roms: Flush icache when writing roms to guest memory
            PPC: Add VSX to hflags
      
      Alexey Kardashevskiy (5):
            powerpc: add PVR mask support
            target-ppc: move POWER7+ to a separate family
            spapr-rtas: replace return code constants with macros
            spapr-rtas: add ibm, (get|set)-system-parameter
            spapr: make sure RMA is in first mode of first memory node
      
      Greg Kurz (1):
            target-ppc: add stubs for KVM breakpoints
      
      Paolo Bonzini (1):
            spapr: tie spapr-nvram to -pflash
      
      Paul Mackerras (1):
            spapr: limit numa memory regions by ram size
      
      Peter Crosthwaite (2):
            device_tree: s/qemu_devtree/qemu_fdt globally
            device_tree: qemu_fdt_setprop: Rename val_array arg
      
      Tom Musta (19):
            Declare and Enable VSX
            Add MSR VSX and Associated Exception
            Add VSX Instruction Decoders
            Add VSR to Global Registers
            Add lxvd2x
            Add stxvd2x
            Add xxpermdi
            Add lxsdx
            Add lxvdsx
            Add lxvw4x
            Add stxsdx
            Add stxvw4x
            Add VSX Scalar Move Instructions
            Add VSX Vector Move Instructions
            Add Power7 VSX Logical Instructions
            Add xxmrgh/xxmrgl
            Add xxsel
            Add xxspltw
            Add xxsldwi
      
      * agraf/tags/signed-ppc-for-upstream: (32 commits)
        spapr: limit numa memory regions by ram size
        spapr: make sure RMA is in first mode of first memory node
        device_tree: qemu_fdt_setprop: Rename val_array arg
        device_tree: s/qemu_devtree/qemu_fdt globally
        PPC: Add VSX to hflags
        Add xxsldwi
        Add xxspltw
        Add xxsel
        Add xxmrgh/xxmrgl
        Add Power7 VSX Logical Instructions
        Add VSX Vector Move Instructions
        Add VSX Scalar Move Instructions
        roms: Flush icache when writing roms to guest memory
        spapr: tie spapr-nvram to -pflash
        PPC: Use default pci bus name for grackle and heathrow
        spapr-rtas: add ibm, (get|set)-system-parameter
        spapr-rtas: replace return code constants with macros
        target-ppc: move POWER7+ to a separate family
        Add stxvw4x
        Add stxsdx
        ...
      f8251db1
    • P
      spapr: limit numa memory regions by ram size · 5fe269b1
      Paul Mackerras 提交于
      This makes sure that all NUMA memory blocks reside within RAM or
      have zero length.
      Reviewed-by: NThomas Huth <thuth@linux.vnet.ibm.com>
      Signed-off-by: NAlexey Kardashevskiy <aik@ozlabs.ru>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      5fe269b1
    • A
      spapr: make sure RMA is in first mode of first memory node · c4177479
      Alexey Kardashevskiy 提交于
      The SPAPR specification says that the RMA starts at the LPAR's logical
      address 0 and is the first logical memory block reported in
      the LPAR’s device tree.
      
      So SLOF only maps the first block and that block needs to span
      the full RMA.
      
      This makes sure that the RMA area is where SLOF expects it.
      Reviewed-by: NThomas Huth <thuth@linux.vnet.ibm.com>
      Signed-off-by: NAlexey Kardashevskiy <aik@ozlabs.ru>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      c4177479
    • P
      device_tree: qemu_fdt_setprop: Rename val_array arg · be5907f2
      Peter Crosthwaite 提交于
      Looking at the implementation, this doesn't really have a lot to do
      with arrays. Its just a pointer to a buffer and is passed through
      to the wrapped fn (qemu_fdt_setprop) unchanged. So rename to make it
      consistent with libfdt, which in the wrapped function just calls it
      "val".
      Signed-off-by: NPeter Crosthwaite <peter.crosthwaite@xilinx.com>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      be5907f2
    • P
      device_tree: s/qemu_devtree/qemu_fdt globally · 5a4348d1
      Peter Crosthwaite 提交于
      The qemu_devtree API is a wrapper around the fdt_ set of APIs.
      Rename accordingly.
      Signed-off-by: NPeter Crosthwaite <peter.crosthwaite@xilinx.com>
      [agraf: also convert hw/arm/virt.c]
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      5a4348d1
    • A
      PPC: Add VSX to hflags · c2b63f03
      Alexander Graf 提交于
      We generate different code depending on whether MSR_VSX is set or
      clear, so it needs to be part of our hflags too which indicate whether
      we're still in the same translation block cache bucket.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      c2b63f03
    • T
      Add xxsldwi · acc42968
      Tom Musta 提交于
      This patch adds the VSX Shift Left Double by Word Immediate
      (xxsldwi) instruction.
      Signed-off-by: NTom Musta <tommusta@gmail.com>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      acc42968
    • T
      Add xxspltw · 76c15fe0
      Tom Musta 提交于
      This patch adds the VSX Splat Word (xxsplatw) instruction.
      
      This is the first instruction to use the UIM immediate field
      and consequently a decoder is also added.
      
      V2: reworked implementation per Richard Henderson's comments.
      Signed-off-by: NTom Musta <tommusta@gmail.com>
      Reviewed-by: NRichard Henderson <rth@twiddle.net>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      76c15fe0
    • T
      Add xxsel · 551e3ef7
      Tom Musta 提交于
      This patch adds the VSX Select (xxsel) instruction.
      
      The xxsel instruction has four VSR operands.  Thus the xC
      instruction decoder is added.
      
      The xxsel instruction is massively overloaded in the opcode
      table since only bits 26 and 27 are opcode bits.  This
      overloading is done in matrix fashion with two macros
      (GEN_XXSEL_ROW and GEN_XX_SEL).
      
      V2: (1) eliminated unecessary XXSEL macro  (2) tighter implementation
      using tcg_gen_andc_i64.
      Signed-off-by: NTom Musta <tommusta@gmail.com>
      Reviewed-by: NRichard Henderson <rth@twiddle.net>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      551e3ef7
    • T
      Add xxmrgh/xxmrgl · ce577d2e
      Tom Musta 提交于
      This patch adds the VSX Merge High Word and VSX Merge Low Word
      instructions.
      
      V2: Now implemented using deposit (per Richard Henderson's comment)
      Signed-off-by: NTom Musta <tommusta@gmail.com>
      Reviewed-by: NRichard Henderson <rth@twiddle.net>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      ce577d2e
    • T
      Add Power7 VSX Logical Instructions · 79ca8a6a
      Tom Musta 提交于
      This patch adds the VSX logical instructions that are defined
      by the Version 2.06 Power ISA (aka Power7):
      
         - xxland
         - xxlandc
         - xxlor
         - xxlxor
         - xxlnor
      Signed-off-by: NTom Musta <tommusta@gmail.com>
      Reviewed-by: NRichard Henderson <rth@twiddle.net>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      79ca8a6a
    • T
      Add VSX Vector Move Instructions · be574920
      Tom Musta 提交于
      This patch adds the vector move instructions:
      
        - xvabsdp - Vector Absolute Value Double-Precision
        - xvnabsdp - Vector Negative Absolute Value Double-Precision
        - xvnegdp - Vector Negate Double-Precision
        - xvcpsgndp - Vector Copy Sign Double-Precision
        - xvabssp - Vector Absolute Value Single-Precision
        - xvnabssp - Vector Negative Absolute Value Single-Precision
        - xvnegsp - Vector Negate Single-Precision
        - xvcpsgnsp - Vector Copy Sign Single-Precision
      
      V3: Per Paolo Bonzini's suggestion, used a temporary for the
      sign mask and andc.
      Signed-off-by: NTom Musta <tommusta@gmail.com>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      be574920
    • T
      Add VSX Scalar Move Instructions · df020ce0
      Tom Musta 提交于
      This patch adds the VSX scalar move instructions:
      
        - xsabsdp (Scalar Absolute Value Double-Precision)
        - xsnabspd (Scalar Negative Absolute Value Double-Precision)
        - xsnegdp (Scalar Negate Double-Precision)
        - xscpsgndp (Scalar Copy Sign Double-Precision)
      
      A common generator macro (VSX_SCALAR_MOVE) is added since these
      instructions vary only slightly from each other.
      
      Macros to support VSX XX2 and XX3 form opcodes are also added.
      These macros handle the overloading of "opcode 2" space (instruction
      bits 26:30) caused by AX and BX bits (29 and 30, respectively).
      
      V3: Per feedback from Paolo Bonzini, moved the sign mask into a
      temporary and used andc.
      Signed-off-by: NTom Musta <tommusta@gmail.com>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      df020ce0
    • A
      roms: Flush icache when writing roms to guest memory · 582b55a9
      Alexander Graf 提交于
      We use the rom infrastructure to write firmware and/or initial kernel
      blobs into guest address space. So we're basically emulating the cache
      off phase on very early system bootup.
      
      That phase is usually responsible for clearing the instruction cache for
      anything it writes into cachable memory, to ensure that after reboot we
      don't happen to execute stale bits from the instruction cache.
      
      So we need to invalidate the icache every time we write a rom into guest
      address space. We do not need to do this for every DMA since the guest
      expects it has to flush the icache manually in that case.
      
      This fixes random reboot issues on e5500 (booke ppc) for me.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      582b55a9
    • P
      spapr: tie spapr-nvram to -pflash · 3978b863
      Paolo Bonzini 提交于
      spapr-nvram's drive property is currently connected to a non-existent
      "-machine nvram=<drivename>" option.  Instead, tie it to -pflash like
      other non-volatile RAM devices.  This provides the following possibilities
      for adding a backend for the sPAPR non-volatile RAM:
      
      * -pflash filename
      
      * -drive if=pflash,file=filename,format=raw,...
      
      * -drive if=none,file=filename,format=raw,id=foo,... -global spapr-nvram.drive=foo
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      3978b863
    • A
      PPC: Use default pci bus name for grackle and heathrow · 8a0e1104
      Alexander Graf 提交于
      There's no good reason to call our bus "pci" rather than let the default
      bus name take over ("pci.0").
      
      The big downside to calling it different from anyone else is that tools
      that pass -device get confused. They are looking for a bus "pci.0" rather
      than "pci".
      
      To make life easier for everyone, let's just drop the name override.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      8a0e1104
    • A
      spapr-rtas: add ibm, (get|set)-system-parameter · 3ada6b11
      Alexey Kardashevskiy 提交于
      This adds very basic handlers for ibm,get-system-parameter and
      ibm,set-system-parameter RTAS calls.
      
      The only parameter handled at the moment is
      "platform-processor-diagnostics-run-mode" which is always disabled and
      does not support changing. This is expected to make
      "ppc64_cpu --run-mode=1" happy.
      Signed-off-by: NAlexey Kardashevskiy <aik@ozlabs.ru>
      [agraf: s/papameter/parameter/g]
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      3ada6b11
    • A
      a64d325d