1. 01 11月, 2012 17 次提交
  2. 28 10月, 2012 1 次提交
  3. 28 9月, 2012 1 次提交
  4. 20 9月, 2012 4 次提交
  5. 16 9月, 2012 1 次提交
  6. 08 9月, 2012 1 次提交
    • 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
  7. 28 8月, 2012 2 次提交
  8. 27 8月, 2012 4 次提交
  9. 23 8月, 2012 1 次提交
    • M
      target-mips: Enable access to required RDHWR hardware registers · 94159135
      Meador Inge 提交于
      While running in the usermode emulator all of the required*
      MIPS32r2 RDHWR hardware registers should be accessible (the
      Linux kernel enables access to these same registers).  Note
      that these registers are still enabled when the MIPS ISA is
      not release 2.  This is OK since the Linux kernel emulates
      access to them when they are not available in hardware.
      
      * There is also the ULR register which is only recommended
        for full release 2 compliance.  Incidentally, accessing
        this register in the current implementation works fine
        without flipping its access bit.
      Signed-off-by: NMeador Inge <meadori@codesourcery.com>
      Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
      94159135
  10. 10 8月, 2012 1 次提交
    • N
      MIPS: Correct FCR0 initialization · f1cb0951
      Nathan Froyd 提交于
       This change addresses a problem where QEMU incorrectly traps on
      floating-point MADD group instructions with SIGILL, at least while
      emulating MIPS32r2 processors.  These instructions use the COP1X major
      opcode and include ones like:
      
      	madd.d	$f2,$f4,$f2,$f6
      
       Here's Nathan's original analysis of the problem:
      
      "QEMU essentially does:
      
        d = find_cpu (cpu_string)	// get CPU definition
        fpu_init (env, d)		// initialize fpu state (init FCR0, basically)
        cpu_reset (env)
      
      ...and the cpu_reset call clears all interesting state that fpu_init
      setup, then proceeds to reinitialize all the CP0 registers...but not
      FCR0."
      
       I have verified this change with system emulation running the GDB test
      suite for the mips-sde-elf target (o32, big endian, 24Kf CPU emulated),
      there were 55 progressions and no regressions.
      Signed-off-by: NMaciej W. Rozycki <macro@codesourcery.com>
      Reviewed-by: NRichard Henderson <rth@twiddle.net>
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      f1cb0951
  11. 05 6月, 2012 2 次提交
  12. 19 5月, 2012 1 次提交
  13. 30 4月, 2012 2 次提交
  14. 15 3月, 2012 2 次提交