Subject: CVS commit: syssrc/sys/arch/mips
To: None <source-changes@netbsd.org>
From: Gregory McGarry <gmcgarry@netbsd.org>
List: source-changes
Date: 07/07/2002 02:59:22
Module Name:	syssrc
Committed By:	gmcgarry
Date:		Sat Jul  6 23:59:22 UTC 2002

Modified Files:
	syssrc/sys/arch/mips/conf: files.mips
	syssrc/sys/arch/mips/include: cpuregs.h mips_opcode.h
	syssrc/sys/arch/mips/mips: locore.S trap.c
Added Files:
	syssrc/sys/arch/mips/mips: mips_emul.c
Removed Files:
	syssrc/sys/arch/mips/mips: fpemu.c

Log Message:
Overhaul the emulation facility.  We do this by:

- accumulating all emulation code (including floating-point) in one place
- steal MachFPInterrupt() back from SOFTFLOAT for use only with interrupts
  and traps from *real* FPUs
- introducing MachEmulateInst() as a common dispatch point for all
  emulated instructions
- cleaning up emulation dispatch in trap()

Also, while we're here, implement MIPS2 LL/SC/SYNC emulation for MIPS1.

Tested on r3k with and without SOFTFLOAT enabled.


To generate a diff of this commit:
cvs rdiff -r1.41 -r1.42 syssrc/sys/arch/mips/conf/files.mips
cvs rdiff -r1.53 -r1.54 syssrc/sys/arch/mips/include/cpuregs.h
cvs rdiff -r1.8 -r1.9 syssrc/sys/arch/mips/include/mips_opcode.h
cvs rdiff -r1.10 -r0 syssrc/sys/arch/mips/mips/fpemu.c
cvs rdiff -r1.141 -r1.142 syssrc/sys/arch/mips/mips/locore.S
cvs rdiff -r0 -r1.1 syssrc/sys/arch/mips/mips/mips_emul.c
cvs rdiff -r1.169 -r1.170 syssrc/sys/arch/mips/mips/trap.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.