1. 24 6月, 2012 5 次提交
  2. 02 2月, 2012 3 次提交
  3. 03 6月, 2011 1 次提交
  4. 12 5月, 2011 1 次提交
    • A
      PPC: Implement e500 (FSL) MMU · 01662f3e
      Alexander Graf 提交于
      Most of the code to support e500 style MMUs is already in place, but
      we're missing on some of the special TLB0-TLB1 handling code and slightly
      different TLB modification.
      
      This patch adds support for the FSL style MMU.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      01662f3e
  5. 02 4月, 2011 4 次提交
    • D
      Correct ppc popcntb logic, implement popcntw and popcntd · eaabeef2
      David Gibson 提交于
      qemu already includes support for the popcntb instruction introduced
      in POWER5 (although it doesn't actually allow you to choose POWER5).
      
      However, the logic is slightly incorrect: it will generate results
      truncated to 32-bits when the CPU is in 32-bit mode.  This is not
      normal for powerpc - generally arithmetic instructions on a 64-bit
      powerpc cpu will generate full 64 bit results, it's just that only the
      low 32 bits will be significant for condition codes.
      
      This patch corrects this nit, which actually simplifies the code slightly.
      
      In addition, this patch implements the popcntw and popcntd
      instructions added in POWER7, in preparation for allowing POWER7 as an
      emulated CPU.
      Signed-off-by: NDavid Gibson <dwg@au1.ibm.com>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      eaabeef2
    • D
      Implement missing parts of the logic for the POWER PURR · 3a7f009a
      David Gibson 提交于
      The PURR (Processor Utilization Resource Register) is a register found
      on recent POWER CPUs.  The guts of implementing it at least enough to
      get by are already present in qemu, however some of the helper
      functions needed to actually wire it up are missing.
      
      This patch adds the necessary glue, so that the PURR can be wired up
      when we implement newer POWER CPU targets which include it.
      Signed-off-by: NDavid Gibson <dwg@au1.ibm.com>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      3a7f009a
    • D
      Implement PowerPC slbmfee and slbmfev instructions · efdef95f
      David Gibson 提交于
      For a 64-bit PowerPC target, qemu correctly implements translation
      through the segment lookaside buffer.  Likewise it supports the
      slbmte instruction which is used to load entries into the SLB.
      
      However, it does not emulate the slbmfee and slbmfev instructions
      which read SLB entries back into registers.  Because these are
      only occasionally used in guests (mostly for debugging) we get
      away with it.
      
      However, given the recent SLB cleanups, it becomes quite easy to
      implement these, and thereby allow, amongst other things, a guest
      Linux to use xmon's command to dump the SLB.
      Signed-off-by: NDavid Gibson <dwg@au1.ibm.com>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      efdef95f
    • D
      Clean up PowerPC SLB handling code · 81762d6d
      David Gibson 提交于
      Currently the SLB information when emulating a PowerPC 970 is
      storeed in a structure with the unhelpfully named fields 'tmp'
      and 'tmp64'.  While the layout in these fields does match the
      description of the SLB in the architecture document, it is not
      convenient either for looking up the SLB, or for emulating the
      slbmte instruction.
      
      This patch, therefore, reorganizes the SLB entry structure to be
      divided in the the "ESID related" and "VSID related" fields as
      they are divided in instructions accessing the SLB.
      
      In addition to making the code smaller and more readable, this will
      make it easier to implement for the 1TB segments used in more
      recent PowerPC chips.
      Signed-off-by: NDavid Gibson <dwg@au1.ibm.com>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      81762d6d
  6. 14 7月, 2010 1 次提交
  7. 16 6月, 2010 1 次提交
    • R
      tcg: Optionally sign-extend 32-bit arguments for 64-bit hosts. · 2bece2c8
      Richard Henderson 提交于
      Some hosts (amd64, ia64) have an ABI that ignores the high bits
      of the 64-bit register when passing 32-bit arguments.  Others
      require the value to be properly sign-extended for the type.
      I.e. "int32_t" must be sign-extended and "uint32_t" must be
      zero-extended to 64-bits.
      
      To effect this, extend the "sizemask" parameter to tcg_gen_callN
      to include the signedness of the type of each parameter.  If the
      tcg target requires it, extend each 32-bit argument into a 64-bit
      temp and pass that to the function call.
      
      This ABI feature is required by sparc64, ppc64 and s390x.
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
      2bece2c8
  8. 07 2月, 2010 1 次提交
  9. 21 12月, 2009 1 次提交
  10. 02 10月, 2009 2 次提交
  11. 16 4月, 2009 1 次提交
  12. 10 3月, 2009 1 次提交
  13. 10 2月, 2009 7 次提交
  14. 06 2月, 2009 1 次提交
  15. 05 2月, 2009 1 次提交
  16. 04 2月, 2009 3 次提交
  17. 09 1月, 2009 4 次提交
  18. 05 1月, 2009 2 次提交