Nathan Froyd f1cb0951c5 MIPS: Correct FCR0 initialization
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: Maciej W. Rozycki <macro@codesourcery.com>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-08-09 18:36:19 +00:00
2012-08-06 22:39:14 +02:00
2012-08-09 18:34:57 +00:00
2012-06-21 20:04:24 +00:00
2012-06-18 15:32:45 +02:00
2012-08-09 18:34:57 +00:00
2012-07-23 11:55:17 +01:00
2012-08-09 18:34:57 +00:00
2012-08-06 19:31:55 -05:00
2012-07-10 18:27:33 +02:00
2012-07-07 09:04:42 +00:00
2012-08-04 15:51:23 +00:00
2012-08-06 22:39:14 +02:00
2012-06-29 13:31:07 +02:00
2012-08-02 18:12:17 +02:00
2012-07-27 21:12:57 +00:00
2012-07-26 17:44:08 +02:00
2012-07-28 09:23:11 +00:00
2012-07-23 11:55:17 +01:00
2012-07-23 11:55:17 +01:00
2012-08-03 14:25:22 +01:00
2012-07-27 21:13:04 +00:00
2012-08-03 10:10:55 -03:00
2012-07-13 13:46:55 -03:00
2012-06-29 13:27:28 +02:00
2012-07-19 11:34:32 +01:00
2012-08-03 18:28:37 -05:00
2012-07-10 18:27:33 +02:00
2012-07-14 11:53:03 +00:00
2012-07-14 11:53:03 +00:00
2012-06-21 18:45:18 +00:00
2012-06-22 10:34:21 +01:00
2012-08-09 18:34:57 +00:00

Read the documentation in qemu-doc.html or on http://wiki.qemu.org

- QEMU team
Description
Original Xbox Emulator for Windows, macOS, and Linux (Active Development)
Readme 524 MiB
Languages
C 82.5%
C++ 7%
Python 3.3%
Dylan 2.8%
Shell 1.5%
Other 2.6%