or1k: fix branching and exceptions in sim

* cpu/ChangeLog-OR1K:

2012-06-22  Peter Gavin  <pgavin@gmail.com>

	bug fixes for branching & exceptions
	* or1kcommon.cpu:
	(FORCED-CTI) new attribute, for instructions like rfe that
	forcefully transfer control without a delay slot
	(NOT-IN-DELAY-SLOT) moved from or1k.cpu
	(DELAYED-CTI) moved from or1korbis.cpu
	* or1k.cpu:
	(NOT-IN-DELAY-SLOT) moved to or1kcommon.cpu
	* or1korbis.cpu:
	(spr-reg-info) add TICK TTMR SPR
	(DELAYED-CTI) moved to or1kcommon.cpu
	(l-rfe) add FORCED-CTI attribute, don't pass pc to helper function
	(l-mfspr, l-mtspr) don't pass pc to helper function

* sim/or1k/ChangeLog:

2012-06-22  Peter Gavin  <pgavin@gmail.com>

	fix the way branches and exceptions are handled
	* Makefile.in: build traps32.o and traps64.o instead of just traps.o
	* configure.ac: pick the correct traps object
	* mloop.in:
	(execute) pass idesc to @cpu@_insn_{before,after}, return vpc instead of result of @cpu@_insts_{after}
	(extract-pbb) end basic blocks at instructions marked FORCED-CTI
	* sim-main.h:
	(_sim_cpu) add fields delay_slot and next_delay_slot to track when
	an instruction is in a delay slot
	* or1k.c:
	(or1k_cpu_init) initialized current_cpu->{next_,}delay_slot
	(or1k32bf_insn_before) handle delay slot flags, check for invalid
	instructions in delay slots
	(or1k32bf_insn_after) handle delay slot flags
	(or1k32bf_mfspr) move to traps.c
	(or1k32bf_mtspr) ditto
	(or1k32bf_exception) ditto
	(or1k32bf_rfe) ditto
	* or1k.h:
	(SPR_ADDR_GROUP) new macro
	(SPR_INDEX_MASK) ditto
	(SPR_ADDR_INDEX) ditto
	(or1k32bf_insn_before, or1k32bf_insn_after) add idesc argument
	(or1k32bf_exception, or1k32bf_rfe, or1k32bf_nop) add prototypes
	(or1k32bf_mfspr, or1k32bf_mtspr) ditto
	* traps.h:
	(sim_engine_invalid_instruction) new function
	(or1k32bf_exception) new function (moved from or1k.c, but was just a stub)
	(or1k32bf_rfe) ditto
	(or1k32bf_mfspr) moved from or1k.c, some fixes
	(or1k32bf_mtspr) moved from or1k.c, some fixes
or1k: fix l.sf* instructions

* cpu/ChangeLog-OR1K:

2012-06-22  Peter Gavin  <pgavin@gmail.com>

	fix l.sf* instructions
	* or1korbis.cpu:
	(insn-opcode-setflag) NEQ -> NE
	(l-sf*) rewrite generator pmacros, make sure sign extension
	etc. are handled correctly

* gas/testsuite/ChangeLog-OR1K

2012-06-22  Peter Gavin  <pgavin@gmail.com>

	* gas/or1k/allinsn.d: fix immediates in l.sf* instructions
or1k: fix some carry/overflow problems, bugs in udiv, mac, maci

* cpu/ChangeLog-OR1K:

2012-06-22  Peter Gavin  <pgavin@gmail.com>

	fix some carry/overflow flag problems, fix mac problems
	* or1korbis.cpu:
	(l-macrc) don't use parallel
	(l-addc) fix carry/overflow flag handling
	(l-addci) ditto
	(l-udiv) use udiv instead of just div
	(l-maci) use simm16 instead of simm16-split

* gas/testsuite/ChangeLog-OR1K:

2012-06-22  Peter Gavin  <pgavin@gmail.com>

	* gas/or1k/allinsn.d, gas/or1k/allinsn.s: add tests for l.mac and l.maci
or1k: regenerate opcodes/or1k-*.[ch]

* opcodes/ChangeLog-OR1K:

2012-06-22  Peter Gavin  <pgavin@gmail.com>

	* or1k-desc.h: ditto
	* or1k-desc.c: ditto
	* or1k-opc.h: ditto
	* or1k-opc.c: ditto
	* or1k-opinst.c: ditto
or1k: fix typo keeping sim testsuite from running for or1k

* sim/ChangeLog-OR1K:

2012-06-22  Peter Gavin  <pgavin@gmail.com>

	* configure.tgt: fix typo keeping testsuite from running
	* configure: regenerate
or1k: regenerate configure files in sim/

* sim/or1k/ChangeLog:

2012-06-22  Peter Gavin  <pgavin@gmail.com>

	* configure: regenerated

* sim/testsuite/ChangeLog-OR1K:

2012-06-22  Peter Gavin  <pgavin@gmail.com>

	* configure: regenerated
or1k: remove erroneous warning message in sim/or1k/or1k.c

* sim/or1k/ChangeLog:

2012-06-22  Peter Gavin  <pgavin@gmail.com>

	* or1k.c:
	(or1k32bf_make_load_store_addr) remove stupid erroneous warning
	message
or1k: fix fl1 in sim

* sim/or1k/ChangeLog:

2012-06-22  Peter Gavin  <pgavin@gmail.com>

	* or1k.c:
	(or1k32bf_fl1) fix bug
or1k: regenerate sim files

* sim/or1k/ChangeLog:

2012-06-22  Peter Gavin  <pgavin@gmail.com>

	* cpu32.c: regenerate
	* cpu32.h: ditto
	* cpu64.c: ditto
	* cpu64.h: ditto
	* decode32.c: ditto
	* decode32.h: ditto
	* decode64.c: ditto
	* decode64.h: ditto
	* model32.c: ditto
	* sem32.c: ditto
	* sem32-switch.c: ditto
	* sem64.c: ditto
	* sem64-switch.c: ditto
or1k: allow each board to use its own exit routine

* newlib/ChangeLog-OR1K:

2012-06-22  Peter Gavin  <pgavin@gmail.com>

	* libc/machine/or1k/include/or1k-support-defs.h: new file, moved
	NOP_* defines here from or1k-support.h so they can be used in
	assembly files
	* libc/machine/or1k/include/or1k-support.h: remove NOP_* defines

* libgloss/ChangeLog-OR1K:

2012-06-22  Peter Gavin  <pgavin@gmail.com>

	make each board use its own exit routine
	* or1k/_exit.c: replace use of NOP_EXIT_SILENT with jump to _board_exit
	* or1k/ml501.S: implement _board_exit
	* or1k/or1ksim-uart.S: ditto
	* or1k/or1ksim.S: ditto
	* or1k/ordb1a3pe1500.S: ditto
	* or1k/ordb2a.S: ditto
	* or1k/orpsocrefdesign.S: ditto
or1k: fix newlib bugs when using or1knd

* newlib/ChangeLog-OR1K:

2012-06-22  Peter Gavin  <pgavin@gmail.com>

	* libc/include/machine/ieeefp.h: set __IEEE_BIG_ENDIAN when
	__or1knd__ is defined
	* libc/include/machine/setjmp.h: set _JBLEN and _JBTYPE when
	__or1knd__ is defined
or1k: add some comments to newlib/libc/include/machine/or1k/include/or1k-asm.h

* newlib/ChangeLog-OR1K:

2012-06-22  Peter Gavin  <pgavin@gmail.com>

	* libc/include/machine/or1k/include/or1k-asm.h: add some comments
or1k: add testsuite for or1k sim

* sim/testsuite/ChangeLog-OR1K:

2012-06-22  Peter Gavin  <pgavin@gmail.com>

	* add testsuite for or1k