suppress some warnings in the testsuite
test-code-or1k/pcu/pcu.c: clear PCCR register *after* changing mode

2012-10-28  Peter Gavin  <pgavin@gmail.com>

	* pcu/pcu.c: clear PCCR register *after* changing mode,
	because the previous test might have counted a common event
	like instruction cache misses, which would mess up the counter
add or1knd (no delay slot) version.
this is controlled by turning on the ND bit (0x400) in the cpu.cfg configuration variable.

* ChangeLog

2012-10-28  Peter Gavin  <pgavin@gmail.com>

        add or1knd (no-delay slot) target
        * sim-nd.cfg: new file: configuration for no-delay target.
        essentially a copy of sim.cfg.
        * Makefile.am:
        (DISTCHECK_CONFIGURE_FLAGS) use $(target_alias) instead of or1k-elf
        (EXTRA_DIST) add sim-nd.cfg
        * config.sub: add or1knd target
        * config.guess: ditto
        * configure.ac: ditto
        * cpu/or1k/spr-defs.h:
        (SPR_CPUCFGR_ND) no-delay slot flag
        * cpu-config.c:
        (cpu_cfgr) allow SPR_CPUCFGR_ND bit to be set in the argument
        * cpu/or32/insnset.c:
        (l_j) check if ND bit is set; if so, don't use delay slot. this is
        done by setting pcnext directly, and *not* setting next_delay_insn
        or cpu_state.pc_delay, which are ignored altogether in nodelay mode.
        (l_jal) ditto
        (l_jr) ditto
        (l_jalr) ditto
        (l_bf) ditto
        (l_bnf) ditto

* testsuite/ChangeLog:

2012-10-28  Peter Gavin  <pgavin@gmail.com>

        add nodelay target
        * lib/libsim.exp: check target, and choose or1k or or1knd config
        files as appropriate
        * lib/or1ksim.exp: ditto
        * libsim.tests/cfg/*: moved to libsim.tests/cfg/or1k/
        * libsim.tests/cfg/or1knd/default.cfg: new file, copied from or1k
        version and cfgr bit for nodelay turned on
        * libsim.tests/cfg/or1knd/int-edge.cfg: ditto
        * libsim.tests/cfg/or1knd/int-level.cfg: ditto
        * libsim.tests/cfg/or1knd/upcalls.cfg: ditto
        * or1ksim.tests/cfg/*: moved to or1ksim.tests/cfg/or1k/
        * or1ksim.tests/cfg.exp: add nodelay testcase
        * or1ksim.tests/cfg/or1knd/default.cfg: new file, copied from or1k
        version and cfgr bit for nodelay turned on
        * or1ksim.tests/cfg/or1knd/acv-gpio.cfg: ditto
        * or1ksim.tests/cfg/or1knd/acv-uart.cfg: ditto
        * or1ksim.tests/cfg/or1knd/eth.cfg: ditto
        * or1ksim.tests/cfg/or1knd/fp.cfg: ditto
        * or1ksim.tests/cfg/or1knd/inst-set-test.cfg: ditto
        * or1ksim.tests/cfg/or1knd/kbdtest.cfg: ditto
        * or1ksim.tests/cfg/or1knd/mmu.cfg: ditto
        * or1ksim.tests/cfg/or1knd/pcu.cfg: ditto
        * or1ksim.tests/inst-set-test.exp: change addresses in testcases
        to offsets so that the output is position independent; this way
        the output identical in nodelay mode
        * or1ksim.tests/int-test.exp: add nodelay test case

* testsuite/test-code-or1k/ChangeLog:

2012-10-28  Peter Gavin  <pgavin@gmail.com>

        add nodelay target
        * configure.ac: add or1knd target
        * support/spr-defs.h:
        (SPR_CPUCFGR_ND) new flag for nodelay mode
        * basic/basic.S: include or1k-src.h from newlib; use OR1K_DELAYED
        macro on jumps/branches
        * cache/cache.S: ditto
        * cfg/cfg.S: ditto
        * except-test/except-test-s.S: ditto
        * except/except.S: ditto
        * flag/flag.S: ditto
        * fp/fp.S: ditto
        * inst-set-test/inst-set-test.S: ditto
        * inst-set-test/inst-set-test.h: ditto
        * inst-set-test/is-add-test.S: ditto
        * mc-common/except-mc.S: ditto
        * mmu/mmu-asm.S: ditto
        * pcu/pcu.S: ditto
        * uos/except-or32.S: ditto
        * int-test/int-test.S: ditto; also handle some spots that required
        different code in nodelay mode
        * inst-set-test/is-jump-test.S: ditto; also use only offsets in
        output from test, so that it is position independent, and will
        work whether nodelay is on or off
        * cache/cache.c:
        (jump_and_link) don't emit l.nop after l.jr when in nodelay mode
        (jump) ditto
        (call) ditto
        * except-test/except-test.c:
        (itlb_test) take into account different position of l.jr
        instruction in jump_back when in nodelay mode
        (illegal_insn_test) ditto