URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Subversion Repositories openrisc_2011-10-31
Compare Revisions
- This comparison shows the changes necessary to convert path
/openrisc/tags/or1ksim/or1ksim-0.4.0rc2/testsuite/or1ksim.tests
- from Rev 124 to Rev 128
- ↔ Reverse comparison
Rev 124 → Rev 128
/inst-set-test.exp
0,0 → 1,1645
# inst-set-test.exp. Tests of ORBIS32 instruction set |
|
# Copyright (C) 2010 Embecosm Limited |
|
# Contributor Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
# This file is part of OpenRISC 1000 Architectural Simulator. |
|
# This program is free software; you can redistribute it and/or modify it |
# under the terms of the GNU General Public License as published by the Free |
# Software Foundation; either version 3 of the License, or (at your option) |
# any later version. |
|
# This program is distributed in the hope that it will be useful, but WITHOUT |
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
# more details. |
|
# You should have received a copy of the GNU General Public License along |
# with this program. If not, see <http:#www.gnu.org/licenses/>. */ |
|
# ----------------------------------------------------------------------------- |
# This code is commented throughout for use with Doxygen. |
# ----------------------------------------------------------------------------- |
|
|
# Run the l.add, l.addc, l.addi and l.addic tests |
run_or1ksim "add-test" \ |
[list "! ** OVE flag cleared **" \ |
"!l.add" \ |
" 0x00000001 + 0x00000002 = 0x00000003: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x00000001 + 0x00000002 + c = 0x00000003: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xffffffff + 0xfffffffe = 0xfffffffd: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x40000000 + 0x3fffffff = 0x7fffffff: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x40000000 + 0x40000000 = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: FALSE" \ |
" 0xc0000000 + 0xc0000000 = 0x80000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xbfffffff + 0xbfffffff = 0x7ffffffe: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: FALSE" \ |
"! ** OVE flag set **" \ |
" RANGE exception" \ |
" 0x40000000 + 0x40000000 = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: TRUE" \ |
" 0xffffffff + 0xfffffffe = 0xfffffffd: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" RANGE exception" \ |
" 0xbfffffff + 0xbfffffff = 0x7ffffffe: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: TRUE" \ |
"! ** OVE flag cleared **" \ |
"l.addc" \ |
" 0x00000001 + 0x00000002 = 0x00000003: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xffffffff + 0xfffffffe = 0xfffffffd: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x40000000 + 0x3fffffff = 0x7fffffff: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x40000000 + 0x3fffffff + c = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: FALSE" \ |
" 0x40000000 + 0x40000000 = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: FALSE" \ |
" 0xffffffff + 0x00000000 + c = 0x00000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x00000000 + 0xffffffff + c = 0x00000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xc0000000 + 0xc0000000 = 0x80000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xc0000000 + 0xbfffffff + c = 0x80000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xbfffffff + 0xbfffffff = 0x7ffffffe: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: FALSE" \ |
"! ** OVE flag set **" \ |
" RANGE exception" \ |
" 0x40000000 + 0x40000000 = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: TRUE" \ |
" RANGE exception" \ |
" 0x40000000 + 0x3fffffff + c = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: TRUE" \ |
" 0xffffffff + 0xfffffffe = 0xfffffffd: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x00000000 + 0xffffffff + c = 0x00000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" RANGE exception" \ |
" 0xbfffffff + 0xbfffffff = 0x7ffffffe: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: TRUE" \ |
"! ** OVE flag cleared **" \ |
"l.addi" \ |
" 0x00000001 + 0x00000002 = 0x00000003: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x00000001 + 0x00000002 + c = 0x00000003: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xffffffff + 0x0000fffe = 0xfffffffd: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x7fff8000 + 0x00007fff = 0x7fffffff: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x7fffc000 + 0x00004000 = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: FALSE" \ |
" 0x80008000 + 0x00008000 = 0x80000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x80007fff + 0x00008000 = 0x7fffffff: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: FALSE" \ |
"! ** OVE flag set **" \ |
" RANGE exception" \ |
" 0x7fffc000 + 0x00004000 = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: TRUE" \ |
" 0xffffffff + 0x0000fffe = 0xfffffffd: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" RANGE exception" \ |
" 0x80007fff + 0x00008000 = 0x7fffffff: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: TRUE" \ |
"! ** OVE flag cleared **" \ |
"l.addic" \ |
" 0x00000001 + 0x00000002 = 0x00000003: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xffffffff + 0x0000fffe = 0xfffffffd: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x7fff8000 + 0x00007fff = 0x7fffffff: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x7fff8000 + 0x00007fff + c = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: FALSE" \ |
" 0x7fffc000 + 0x00004000 = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: FALSE" \ |
" 0xffffffff + 0x00000000 + c = 0x00000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x00000000 + 0x0000ffff + c = 0x00000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x80008000 + 0x00008000 = 0x80000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x80007fff + 0x00008000 + c = 0x80000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x80007fff + 0x00008000 = 0x7fffffff: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: FALSE" \ |
"! ** OVE flag set **" \ |
" RANGE exception" \ |
" 0x7fffc000 + 0x00004000 = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: TRUE" \ |
" RANGE exception" \ |
" 0x7fffc000 + 0x00003fff + c = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: TRUE" \ |
" 0xffffffff + 0x0000fffe = 0xfffffffd: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x00000000 + 0x0000ffff + c = 0x00000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" RANGE exception" \ |
" 0x80007fff + 0x00008000 = 0x7fffffff: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: TRUE" \ |
"! ** OVE flag cleared **" \ |
"!Test completed" \ |
"!report(0xdeaddead);" \ |
"!exit(0)"] \ |
"inst-set-test.cfg" "inst-set-test/is-add-test" |
|
# Run the l.and, and l.andi tests |
run_or1ksim "and-test" \ |
[list "! ** OVE flag set **" \ |
"!l.and" \ |
" 0x00000000 & 0x00000000 = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xffffffff & 0xffffffff = 0xffffffff: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xaaaaaaaa & 0x00000000 = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xaaaaaaaa & 0xaaaaaaaa = 0xaaaaaaaa: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x55555555 & 0x00000000 = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x55555555 & 0x55555555 = 0x55555555: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xaaaaaaaa & 0x55555555 = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c & 0xb38f0f83 = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c & 0xc4c70f07 = 0x44400004: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 & 0x38f0f83b = 0x30800803: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
"!l.andi" \ |
" 0x00000000 & 0x0000 = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xffffffff & 0xffff = 0x0000ffff: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xaaaaaaaa & 0x0000 = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xaaaaaaaa & 0xaaaa = 0x0000aaaa: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x55555555 & 0x0000 = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x55555555 & 0x5555 = 0x00005555: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xaaaaaaaa & 0x5555 = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c & 0x0f83 = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c & 0x0f07 = 0x00000004: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 & 0xf83b = 0x00000803: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
"!Test completed" \ |
"!report(0xdeaddead);" \ |
"!exit(0)"] \ |
"inst-set-test.cfg" "inst-set-test/is-and-test" |
|
# Run the l.div and l.divu test |
run_or1ksim "div-test" \ |
[list "!l.div" \ |
" 0x0000000c / 0x00000003 = 0x00000004: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x0000000b / 0x00000003 = 0x00000003: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xfffffff4 / 0xfffffffd = 0x00000004: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xfffffff5 / 0xfffffffd = 0x00000003: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xfffffff4 / 0x00000003 = 0xfffffffc: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xfffffff5 / 0x00000003 = 0xfffffffd: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x0000000c / 0xfffffffd = 0xfffffffc: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x0000000b / 0xfffffffd = 0xfffffffd: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x0000000c / 0x00000000 = 0x00000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xfffffff4 / 0x00000000 = 0x00000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
"! ** OVE flag set **" \ |
" RANGE exception" \ |
" 0x0000000c / 0x00000000 = 0x00000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: TRUE" \ |
" RANGE exception" \ |
" 0xfffffff4 / 0x00000000 = 0x00000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: TRUE" \ |
"! ** OVE flag cleared **" \ |
"l.divu" \ |
" 0x0000000c / 0x00000003 = 0x00000004: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x0000000b / 0x00000003 = 0x00000003: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xfffffff4 / 0xfffffffd = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xfffffff5 / 0xfffffffd = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xfffffff4 / 0x00000003 = 0x55555551: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xfffffff5 / 0x00000003 = 0x55555551: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x0000000c / 0xfffffffd = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x0000000b / 0xfffffffd = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x0000000c / 0x00000000 = 0x00000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xfffffff4 / 0x00000000 = 0x00000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
"! ** OVE flag set **" \ |
" RANGE exception" \ |
" 0x0000000c / 0x00000000 = 0x00000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: TRUE" \ |
" RANGE exception" \ |
" 0xfffffff4 / 0x00000000 = 0x00000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: TRUE" \ |
"! ** OVE flag cleared **" \ |
"!Test completed" \ |
"!report(0xdeaddead);" \ |
"!exit(0)"] \ |
"inst-set-test.cfg" "inst-set-test/is-div-test" |
|
# Run the l.ff1 and l.fl1 test |
run_or1ksim "find-test" \ |
[list "!l.ff1" \ |
" ff1 (0x00000001) = 0x01: OK" \ |
" ff1 (0x80000000) = 0x20: OK" \ |
" ff1 (0x55555555) = 0x01: OK" \ |
" ff1 (0xaaaaaaaa) = 0x02: OK" \ |
" ff1 (0x00018000) = 0x10: OK" \ |
" ff1 (0xc0000000) = 0x1f: OK" \ |
" ff1 (0x00000000) = 0x00: OK" \ |
"!l.fl1" \ |
" fl1 (0x00000001) = 0x01: OK" \ |
" fl1 (0x80000000) = 0x20: OK" \ |
" fl1 (0x55555555) = 0x1f: OK" \ |
" fl1 (0xaaaaaaaa) = 0x20: OK" \ |
" fl1 (0x00018000) = 0x11: OK" \ |
" fl1 (0xc0000000) = 0x20: OK" \ |
" fl1 (0x00000000) = 0x00: OK" \ |
"!Test completed" \ |
"!report(0xdeaddead);" \ |
"!exit(0)"] \ |
"inst-set-test.cfg" "inst-set-test/is-find-test" |
|
# Run the l.jalf and l.jr test |
run_or1ksim "jump-test" \ |
[list "!l.jalr" \ |
" Jump to 0x000010dc using register 0x05 OK" \ |
" - exception triggered: FALSE" \ |
" ALIGNMENT exception" \ |
" Jump to 0x000012b9 using register 0x05 failed" \ |
" - exception triggered: TRUE" \ |
" ALIGNMENT exception" \ |
" Jump to 0x00001496 using register 0x05 failed" \ |
" - exception triggered: TRUE" \ |
" ALIGNMENT exception" \ |
" Jump to 0x00001673 using register 0x05 failed" \ |
" - exception triggered: TRUE" \ |
" ILLEGAL INSTRUCTION exception" \ |
" Jump to 0x0000184c using register 0x09 failed" \ |
" - exception triggered: TRUE" \ |
"!l.jr" \ |
" Jump to 0x00001a38 using register 0x05 OK" \ |
" - exception triggered: FALSE" \ |
" ALIGNMENT exception" \ |
" Jump to 0x00001c15 using register 0x05 failed" \ |
" - exception triggered: TRUE" \ |
" ALIGNMENT exception" \ |
" Jump to 0x00001df2 using register 0x05 failed" \ |
" - exception triggered: TRUE" \ |
" ALIGNMENT exception" \ |
" Jump to 0x00001fcf using register 0x05 failed" \ |
" - exception triggered: TRUE" \ |
" Jump to 0x000021a8 using register 0x09 OK" \ |
" - exception triggered: FALSE" \ |
"!Test completed" \ |
"!report(0xdeaddead);" \ |
"!exit(0)"] \ |
"inst-set-test.cfg" "inst-set-test/is-jump-test" |
|
# Run the l.lws test |
run_or1ksim "lws-test" \ |
[list "!l.lws" \ |
" l.lws r4,0(r5): r4=0xdeadbeef: OK" \ |
" l.lws r4,0(r5): r4=0x00000000: OK" \ |
" l.lws r4,0(r5): r4=0x7fffffff: OK" \ |
" l.lws r4,0(r5): r4=0x80000000: OK" \ |
" l.lws r4,0(r5): r4=0xffffffff: OK" \ |
" l.lws r4,0(r5): r4=0x00000000: OK" \ |
" l.lws r4,0(r5): r4=0x7fffffff: OK" \ |
" l.lws r4,0(r5): r4=0x80000000: OK" \ |
" l.lws r4,0(r5): r4=0xffffffff: OK" \ |
" l.lws r4,0(r5): r4=0xdeadbeef: OK" \ |
" l.lws r4,0(r5): r4=0x00000000: OK" \ |
" l.lws r4,0(r5): r4=0x7fffffff: OK" \ |
" l.lws r4,0(r5): r4=0x80000000: OK" \ |
"!Test completed" \ |
"!report(0xdeaddead);" \ |
"!exit(0)"] \ |
"inst-set-test.cfg" "inst-set-test/is-lws-test" |
|
# Run the l.mac test |
run_or1ksim "mac-test" \ |
[list "!l.mac" \ |
" 0x00000000 00000000 + 0x00000002 * 0x00000003 = 0x00000000 00000006: OK" \ |
" 0x00000000 00000006 + 0x00000002 * 0x00000003 = 0x00000000 0000000c: OK" \ |
" 0x00000000 fffffffa + 0x00000002 * 0x00000003 = 0x00000001 00000000: OK" \ |
" 0x3fffffff fffffffa + 0x00000002 * 0x00000003 = 0x40000000 00000000: OK" \ |
" 0xffffffff fffffffa + 0x00000002 * 0x00000003 = 0x00000000 00000000: OK" \ |
" 0xffffffff 00000000 + 0x00000002 * 0x00000003 = 0xffffffff 00000006: OK" \ |
" 0x80000000 00000000 + 0x00000002 * 0x00000003 = 0x80000000 00000006: OK" \ |
"!" \ |
" 0x00000000 00000000 + 0x00008001 * 0x0000fffe = 0x00000000 7ffffffe: OK" \ |
" 0x00000000 00000002 + 0x00008001 * 0x0000fffe = 0x00000000 80000000: OK" \ |
" 0x00000000 80000002 + 0x00008001 * 0x0000fffe = 0x00000001 00000000: OK" \ |
" 0x7fffffff 80000001 + 0x00008001 * 0x0000fffe = 0x7fffffff ffffffff: OK" \ |
" 0xffffffff ffffffff + 0x00008001 * 0x0000fffe = 0x00000000 7ffffffd: OK" \ |
" 0xffffffff 80000002 + 0x00008001 * 0x0000fffe = 0x00000000 00000000: OK" \ |
" 0xfffffffe 80000002 + 0x00008001 * 0x0000fffe = 0xffffffff 00000000: OK" \ |
"!" \ |
" 0x00000000 00000000 + 0xfffffffe * 0xfffffffd = 0x00000000 00000006: OK" \ |
" 0x00000000 00000006 + 0xfffffffe * 0xfffffffd = 0x00000000 0000000c: OK" \ |
" 0xffffffff ffffffff + 0xfffffffe * 0xfffffffd = 0x00000000 00000005: OK" \ |
"!" \ |
" 0x00000000 00000000 + 0x00000002 * 0xfffffffd = 0xffffffff fffffffa: OK" \ |
" 0x00000000 0000000c + 0x00000002 * 0xfffffffd = 0x00000000 00000006: OK" \ |
" 0x00000001 00000005 + 0x00000002 * 0xfffffffd = 0x00000000 ffffffff: OK" \ |
" 0x7fffffff ffffffff + 0x00000002 * 0xfffffffd = 0x7fffffff fffffff9: OK" \ |
" 0xffffffff ffffffff + 0x00000002 * 0xfffffffd = 0xffffffff fffffff9: OK" \ |
" 0xffffffff 00000005 + 0x00000002 * 0xfffffffd = 0xfffffffe ffffffff: OK" \ |
" 0x80000000 00000006 + 0x00000002 * 0xfffffffd = 0x80000000 00000000: OK" \ |
"!" \ |
" 0x00000000 00000000 + 0x00008000 * 0xffff0000 = 0xffffffff 80000000: OK" \ |
" 0x00000000 00000006 + 0x00008000 * 0xffff0000 = 0xffffffff 80000006: OK" \ |
" 0x00000000 80000000 + 0x00008000 * 0xffff0000 = 0x00000000 00000000: OK" \ |
" 0x7fffffff ffffffff + 0x00008000 * 0xffff0000 = 0x7fffffff 7fffffff: OK" \ |
" 0xffffffff ffffffff + 0x00008000 * 0xffff0000 = 0xffffffff 7fffffff: OK" \ |
" 0xffffffff 7fffffff + 0x00008000 * 0xffff0000 = 0xfffffffe ffffffff: OK" \ |
" 0x80000000 80000000 + 0x00008000 * 0xffff0000 = 0x80000000 00000000: OK" \ |
"!" \ |
"l.maci" \ |
" 0x00000000 00000000 + 0x00000002 * 0x00000003 = 0x00000000 00000006: OK" \ |
" 0x00000000 00000006 + 0x00000002 * 0x00000003 = 0x00000000 0000000c: OK" \ |
" 0x00000000 fffffffa + 0x00000002 * 0x00000003 = 0x00000001 00000000: OK" \ |
" 0x3fffffff fffffffa + 0x00000002 * 0x00000003 = 0x40000000 00000000: OK" \ |
" 0xffffffff fffffffa + 0x00000002 * 0x00000003 = 0x00000000 00000000: OK" \ |
" 0xffffffff 00000000 + 0x00000002 * 0x00000003 = 0xffffffff 00000006: OK" \ |
" 0x80000000 00000000 + 0x00000002 * 0x00000003 = 0x80000000 00000006: OK" \ |
"!" \ |
" 0x00000000 00000000 + 0x00010002 * 0x00007fff = 0x00000000 7ffffffe: OK" \ |
" 0x00000000 00000002 + 0x00010002 * 0x00007fff = 0x00000000 80000000: OK" \ |
" 0x00000000 80000002 + 0x00010002 * 0x00007fff = 0x00000001 00000000: OK" \ |
" 0x7fffffff 80000001 + 0x00010002 * 0x00007fff = 0x7fffffff ffffffff: OK" \ |
" 0xffffffff ffffffff + 0x00010002 * 0x00007fff = 0x00000000 7ffffffd: OK" \ |
" 0xffffffff 80000002 + 0x00010002 * 0x00007fff = 0x00000000 00000000: OK" \ |
" 0xfffffffe 80000002 + 0x00010002 * 0x00007fff = 0xffffffff 00000000: OK" \ |
"!" \ |
" 0x00000000 00000000 + 0xfffffffe * 0x0000fffd = 0x00000000 00000006: OK" \ |
" 0x00000000 00000006 + 0xfffffffe * 0x0000fffd = 0x00000000 0000000c: OK" \ |
" 0xffffffff ffffffff + 0xfffffffe * 0x0000fffd = 0x00000000 00000005: OK" \ |
"!" \ |
" 0x00000000 00000000 + 0x00000002 * 0x0000fffd = 0xffffffff fffffffa: OK" \ |
" 0x00000000 0000000c + 0x00000002 * 0x0000fffd = 0x00000000 00000006: OK" \ |
" 0x00000001 00000005 + 0x00000002 * 0x0000fffd = 0x00000000 ffffffff: OK" \ |
" 0x7fffffff ffffffff + 0x00000002 * 0x0000fffd = 0x7fffffff fffffff9: OK" \ |
" 0xffffffff ffffffff + 0x00000002 * 0x0000fffd = 0xffffffff fffffff9: OK" \ |
" 0xffffffff 00000005 + 0x00000002 * 0x0000fffd = 0xfffffffe ffffffff: OK" \ |
" 0x80000000 00000006 + 0x00000002 * 0x0000fffd = 0x80000000 00000000: OK" \ |
"!" \ |
" 0x00000000 00000000 + 0x00010000 * 0x00008000 = 0xffffffff 80000000: OK" \ |
" 0x00000000 00000006 + 0x00010000 * 0x00008000 = 0xffffffff 80000006: OK" \ |
" 0x00000000 80000000 + 0x00010000 * 0x00008000 = 0x00000000 00000000: OK" \ |
" 0x7fffffff ffffffff + 0x00010000 * 0x00008000 = 0x7fffffff 7fffffff: OK" \ |
" 0xffffffff ffffffff + 0x00010000 * 0x00008000 = 0xffffffff 7fffffff: OK" \ |
" 0xffffffff 7fffffff + 0x00010000 * 0x00008000 = 0xfffffffe ffffffff: OK" \ |
" 0x80000000 80000000 + 0x00010000 * 0x00008000 = 0x80000000 00000000: OK" \ |
"!" \ |
"l.macrc" \ |
" 0x00000000 00000000 + 0x00000002 * 0x00000003 = 0x00000006: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0x00000000 00000006 + 0x00000002 * 0x00000003 = 0x0000000c: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0x00000000 fffffffa + 0x00000002 * 0x00000003 = 0x00000000: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0x3fffffff fffffffa + 0x00000002 * 0x00000003 = 0x00000000: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0xffffffff fffffffa + 0x00000002 * 0x00000003 = 0x00000000: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0xffffffff 00000000 + 0x00000002 * 0x00000003 = 0x00000006: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0x80000000 00000000 + 0x00000002 * 0x00000003 = 0x00000006: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
"!" \ |
" 0x00000000 00000000 + 0x00008001 * 0x0000fffe = 0x7ffffffe: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0x00000000 00000002 + 0x00008001 * 0x0000fffe = 0x80000000: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0x00000000 80000002 + 0x00008001 * 0x0000fffe = 0x00000000: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0x7fffffff 80000001 + 0x00008001 * 0x0000fffe = 0xffffffff: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0xffffffff ffffffff + 0x00008001 * 0x0000fffe = 0x7ffffffd: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0xffffffff 80000002 + 0x00008001 * 0x0000fffe = 0x00000000: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0xfffffffe 80000002 + 0x00008001 * 0x0000fffe = 0x00000000: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
"!" \ |
" 0x00000000 00000000 + 0xfffffffe * 0xfffffffd = 0x00000006: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0x00000000 00000006 + 0xfffffffe * 0xfffffffd = 0x0000000c: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0xffffffff ffffffff + 0xfffffffe * 0xfffffffd = 0x00000005: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
"!" \ |
" 0x00000000 00000000 + 0x00000002 * 0xfffffffd = 0xfffffffa: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0x00000000 0000000c + 0x00000002 * 0xfffffffd = 0x00000006: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0x00000001 00000005 + 0x00000002 * 0xfffffffd = 0xffffffff: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0x7fffffff ffffffff + 0x00000002 * 0xfffffffd = 0xfffffff9: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0xffffffff ffffffff + 0x00000002 * 0xfffffffd = 0xfffffff9: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0xffffffff 00000005 + 0x00000002 * 0xfffffffd = 0xffffffff: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0x80000000 00000006 + 0x00000002 * 0xfffffffd = 0x00000000: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
"!" \ |
" 0x00000000 00000000 + 0x00008000 * 0xffff0000 = 0x80000000: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0x00000000 00000006 + 0x00008000 * 0xffff0000 = 0x80000006: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0x00000000 80000000 + 0x00008000 * 0xffff0000 = 0x00000000: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0x7fffffff ffffffff + 0x00008000 * 0xffff0000 = 0x7fffffff: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0xffffffff ffffffff + 0x00008000 * 0xffff0000 = 0x7fffffff: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0xffffffff 7fffffff + 0x00008000 * 0xffff0000 = 0xffffffff: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
" 0x80000000 80000000 + 0x00008000 * 0xffff0000 = 0x00000000: OK" \ |
" - MACHI cleared" \ |
" - MACLO cleared" \ |
"!" \ |
"l.msb" \ |
" 0x00000000 00000000 - 0x00000002 * 0x00000003 = 0xffffffff fffffffa: OK" \ |
" 0x00000000 0000000c - 0x00000002 * 0x00000003 = 0x00000000 00000006: OK" \ |
" 0x00000001 00000000 - 0x00000002 * 0x00000003 = 0x00000000 fffffffa: OK" \ |
" 0x40000000 00000000 - 0x00000002 * 0x00000003 = 0x3fffffff fffffffa: OK" \ |
" 0xffffffff fffffffa - 0x00000002 * 0x00000003 = 0xffffffff fffffff4: OK" \ |
" 0xffffffff 00000005 - 0x00000002 * 0x00000003 = 0xfffffffe ffffffff: OK" \ |
" 0x80000000 00000006 - 0x00000002 * 0x00000003 = 0x80000000 00000000: OK" \ |
"!" \ |
" 0x00000000 00000000 - 0x00008001 * 0x0000fffe = 0xffffffff 80000002: OK" \ |
" 0x00000000 00000002 - 0x00008001 * 0x0000fffe = 0xffffffff 80000004: OK" \ |
" 0x00000000 80000002 - 0x00008001 * 0x0000fffe = 0x00000000 00000004: OK" \ |
" 0x7fffffff 7ffffffd - 0x00008001 * 0x0000fffe = 0x7ffffffe ffffffff: OK" \ |
" 0xffffffff ffffffff - 0x00008001 * 0x0000fffe = 0xffffffff 80000001: OK" \ |
" 0xffffffff 80000002 - 0x00008001 * 0x0000fffe = 0xffffffff 00000004: OK" \ |
" 0xfffffffe 80000002 - 0x00008001 * 0x0000fffe = 0xfffffffe 00000004: OK" \ |
"!" \ |
" 0x00000000 00000006 - 0xfffffffe * 0xfffffffd = 0x00000000 00000000: OK" \ |
" 0x00000000 0000000c - 0xfffffffe * 0xfffffffd = 0x00000000 00000006: OK" \ |
" 0xffffffff ffffffff - 0xfffffffe * 0xfffffffd = 0xffffffff fffffff9: OK" \ |
"!" \ |
" 0x00000000 00000000 - 0x00000002 * 0xfffffffd = 0x00000000 00000006: OK" \ |
" 0x00000000 00000006 - 0x00000002 * 0xfffffffd = 0x00000000 0000000c: OK" \ |
" 0x00000000 ffffffff - 0x00000002 * 0xfffffffd = 0x00000001 00000005: OK" \ |
" 0x7fffffff fffffff9 - 0x00000002 * 0xfffffffd = 0x7fffffff ffffffff: OK" \ |
" 0xffffffff fffffff9 - 0x00000002 * 0xfffffffd = 0xffffffff ffffffff: OK" \ |
" 0xfffffffe ffffffff - 0x00000002 * 0xfffffffd = 0xffffffff 00000005: OK" \ |
" 0x80000000 00000000 - 0x00000002 * 0xfffffffd = 0x80000000 00000006: OK" \ |
"!" \ |
" 0x00000000 00000000 - 0x00008000 * 0xffff0000 = 0x00000000 80000000: OK" \ |
" 0x00000000 00000006 - 0x00008000 * 0xffff0000 = 0x00000000 80000006: OK" \ |
" 0x00000000 80000000 - 0x00008000 * 0xffff0000 = 0x00000001 00000000: OK" \ |
" 0x7fffffff 7fffffff - 0x00008000 * 0xffff0000 = 0x7fffffff ffffffff: OK" \ |
" 0xffffffff ffffffff - 0x00008000 * 0xffff0000 = 0x00000000 7fffffff: OK" \ |
" 0xfffffffe ffffffff - 0x00008000 * 0xffff0000 = 0xffffffff 7fffffff: OK" \ |
" 0x80000000 00000000 - 0x00008000 * 0xffff0000 = 0x80000000 80000000: OK" \ |
"!" \ |
"!Test completed" \ |
"!report(0xdeaddead);" \ |
"!exit(0)"] \ |
"inst-set-test.cfg" "inst-set-test/is-mac-test" |
|
# Run the l.mul test |
run_or1ksim "mul-test" \ |
[list "! ** OVE flag cleared **" \ |
"!l.mul" \ |
" 0x00000002 * 0x00000003 = 0x00000006: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x00008001 * 0x0000fffe = 0x7ffffffe: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x00008000 * 0x00010000 = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: FALSE" \ |
" 0x00010000 * 0x00010000 = 0x00000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: FALSE" \ |
" 0xfffffffe * 0xfffffffd = 0x00000006: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xffff7fff * 0xffff0002 = 0x7ffffffe: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xffff7fff * 0xffff0000 = 0x80010000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: FALSE" \ |
" 0xffff0000 * 0xfffeffff = 0x00010000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: FALSE" \ |
" 0x00000002 * 0xfffffffd = 0xfffffffa: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xffff8000 * 0x00010000 = 0x80000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xffff7fff * 0x00010000 = 0x7fff0000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: FALSE" \ |
" 0x80000000 * 0x00000001 = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
"! ** OVE flag set **" \ |
" RANGE exception" \ |
" 0x00008000 * 0x00010000 = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: TRUE" \ |
" 0x00000002 * 0xfffffffd = 0xfffffffa: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" RANGE exception" \ |
" 0xffff7fff * 0xffff0000 = 0x80010000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: TRUE" \ |
"! ** OVE flag cleared **" \ |
"l.muli" \ |
" 0x00000002 * 0x0003 = 0x00000006: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x00010002 * 0x7fff = 0x7ffffffe: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x00020000 * 0x4000 = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: FALSE" \ |
" 0x00040000 * 0x4000 = 0x00000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: FALSE" \ |
" 0xfffffffe * 0xfffd = 0x00000006: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xfffefffe * 0x8001 = 0x7ffffffe: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xfffe0000 * 0xbfff = 0x80020000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: FALSE" \ |
" 0xfffdfffe * 0x8000 = 0x00010000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: FALSE" \ |
" 0x00000002 * 0xfffd = 0xfffffffa: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x00010000 * 0x8000 = 0x80000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xfffdfffc * 0x4000 = 0x7fff0000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: FALSE" \ |
" 0x80000000 * 0x0001 = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
"! ** OVE flag set **" \ |
" RANGE exception" \ |
" 0x00020000 * 0x4000 = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: TRUE" \ |
" 0xfffffffe * 0xfffd = 0x00000006: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" RANGE exception" \ |
" 0xfffdfffe * 0x8000 = 0x00010000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: TRUE" \ |
"! ** OVE flag cleared **" \ |
"l.mulu" \ |
" 0x00000002 * 0x00000003 = 0x00000006: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x00008001 * 0x0000fffe = 0x7ffffffe: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x00008000 * 0x00010000 = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x00010000 * 0x00010000 = 0x00000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xfffffffe * 0xfffffffd = 0x00000006: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xffff7fff * 0xffff0002 = 0x7ffffffe: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xffff7fff * 0xffff0000 = 0x80010000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xffff0000 * 0xfffeffff = 0x00010000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x00000002 * 0xfffffffd = 0xfffffffa: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xffff8000 * 0x00010000 = 0x80000000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xffff7fff * 0x00010000 = 0x7fff0000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x80000000 * 0x00000001 = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
"! ** OVE flag set **" \ |
" 0x00008000 * 0x00010000 = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x00000002 * 0xfffffffd = 0xfffffffa: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xffff7fff * 0xffff0000 = 0x80010000: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
"! ** OVE flag cleared **" \ |
"!Test completed" \ |
"!report(0xdeaddead);" \ |
"!exit(0)"] \ |
"inst-set-test.cfg" "inst-set-test/is-mul-test" |
|
# Run the l.or, and l.ori tests |
run_or1ksim "or-test" \ |
[list "! ** OVE flag set **" \ |
"!l.or" \ |
" 0x00000000 | 0x00000000 = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xffffffff | 0xffffffff = 0xffffffff: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xaaaaaaaa | 0x00000000 = 0xaaaaaaaa: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xaaaaaaaa | 0xaaaaaaaa = 0xaaaaaaaa: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x55555555 | 0x00000000 = 0x55555555: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x55555555 | 0x55555555 = 0x55555555: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xaaaaaaaa | 0x55555555 = 0xffffffff: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c | 0xb38f0f83 = 0xffffffff: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c | 0xc4c70f07 = 0xccf7ff7f: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 | 0x38f0f83b = 0xbbffffbb: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
"!l.ori" \ |
" 0x00000000 | 0x0000 = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xffffffff | 0xffff = 0xffffffff: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xaaaaaaaa | 0x0000 = 0xaaaaaaaa: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xaaaaaaaa | 0xaaaa = 0xaaaaaaaa: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x55555555 | 0x0000 = 0x55555555: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x55555555 | 0x5555 = 0x55555555: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xaaaaaaaa | 0x5555 = 0xaaaaffff: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c | 0x0f83 = 0x4c70ffff: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c | 0x0f07 = 0x4c70ff7f: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 | 0xf83b = 0xb38fffbb: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
"!Test completed" \ |
"!report(0xdeaddead);" \ |
"!exit(0)"] \ |
"inst-set-test.cfg" "inst-set-test/is-or-test" |
|
# Run the l.ror test |
run_or1ksim "ror-test" \ |
[list "!l.ror" \ |
" 0xb38f0f83 ROR 0x00000000 = 0xb38f0f83: OK" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 ROR 0x00000001 = 0xd9c787c1: OK" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 ROR 0x00000004 = 0x3b38f0f8: OK" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 ROR 0x00000010 = 0x0f83b38f: OK" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 ROR 0x0000001f = 0x671e1f07: OK" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 ROR 0x00000021 = 0xd9c787c1: OK" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 ROR 0x00002224 = 0x3b38f0f8: OK" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 ROR 0x00f789f0 = 0x0f83b38f: OK" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 ROR 0xffffffff = 0x671e1f07: OK" \ |
" - exception triggered: FALSE" \ |
"!l.rori" \ |
" 0xb38f0f83 RORI 0x00 = 0xb38f0f83: OK" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 RORI 0x01 = 0xd9c787c1: OK" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 RORI 0x04 = 0x3b38f0f8: OK" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 RORI 0x10 = 0x0f83b38f: OK" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 RORI 0x1f = 0x671e1f07: OK" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 RORI 0x21 = 0xd9c787c1: OK" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 RORI 0x24 = 0x3b38f0f8: OK" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 RORI 0x30 = 0x0f83b38f: OK" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 RORI 0x3f = 0x671e1f07: OK" \ |
" - exception triggered: FALSE" \ |
"!Test completed" \ |
"!report(0xdeaddead);" \ |
"!exit(0)"] \ |
"inst-set-test.cfg" "inst-set-test/is-ror-test" |
|
# Run the l.mfspr and l.mtspr test |
run_or1ksim "spr-test" \ |
[list "!l.mfspr" \ |
" l.mfspr 0x00000000 | 0x2801: OK" \ |
" - exception triggered: FALSE" \ |
" l.mfspr 0x00002801 | 0x0000: OK" \ |
" - exception triggered: FALSE" \ |
" l.mfspr 0x00002801 | 0x2801: OK" \ |
" - exception triggered: FALSE" \ |
" l.mfspr 0x00000801 | 0x2000: OK" \ |
" - exception triggered: FALSE" \ |
" l.mfspr 0x00002000 | 0x0801: OK" \ |
" - exception triggered: FALSE" \ |
" l.mfspr 0x00002801 | 0x0001: OK" \ |
" - exception triggered: FALSE" \ |
" l.mfspr 0x00000800 | 0x2801: OK" \ |
" - exception triggered: FALSE" \ |
"!l.mtspr" \ |
" l.mtspr 0x00000000 | 0x2801: OK" \ |
" - exception triggered: FALSE" \ |
" l.mtspr 0x00002801 | 0x0000: OK" \ |
" - exception triggered: FALSE" \ |
" l.mtspr 0x00002801 | 0x2801: OK" \ |
" - exception triggered: FALSE" \ |
" l.mtspr 0x00000801 | 0x2000: OK" \ |
" - exception triggered: FALSE" \ |
" l.mtspr 0x00002000 | 0x0801: OK" \ |
" - exception triggered: FALSE" \ |
" l.mtspr 0x00002801 | 0x0001: OK" \ |
" - exception triggered: FALSE" \ |
" l.mtspr 0x00000800 | 0x2801: OK" \ |
" - exception triggered: FALSE" \ |
"!Test completed" \ |
"!report(0xdeaddead);" \ |
"!exit(0)"] \ |
"inst-set-test.cfg" "inst-set-test/is-spr-test" |
|
# Run the shift tests |
run_or1ksim "shift-test" \ |
[list "! ** OVE flag set **" \ |
"!l.sll" \ |
" 0xb38f0f83 shifted by 0x00000000 = 0xb38f0f83: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x00000001 = 0x671e1f06: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x00000004 = 0x38f0f830: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x00000010 = 0x0f830000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x0000001f = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x00000021 = 0x671e1f06: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x00002224 = 0x38f0f830: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x00f789f0 = 0x0f830000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0xffffffff = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
"!l.slli" \ |
" 0xb38f0f83 shifted by 0x0000 = 0xb38f0f83: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x0001 = 0x671e1f06: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x0004 = 0x38f0f830: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x0010 = 0x0f830000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x001f = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x0021 = 0x671e1f06: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x0024 = 0x38f0f830: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x0030 = 0x0f830000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x003f = 0x80000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
"!l.sra" \ |
" 0xb38f0f83 shifted by 0x00000000 = 0xb38f0f83: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x00000001 = 0xd9c787c1: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x00000004 = 0xfb38f0f8: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x00000010 = 0xffffb38f: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x0000001f = 0xffffffff: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x00000001 = 0x2638783e: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x00000004 = 0x04c70f07: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x00000010 = 0x00004c70: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x0000001f = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x00000021 = 0xd9c787c1: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x00002224 = 0xfb38f0f8: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x00f789f0 = 0xffffb38f: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0xffffffff = 0xffffffff: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x00000021 = 0x2638783e: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x00002224 = 0x04c70f07: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x00f789f0 = 0x00004c70: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0xffffffff = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
"!l.srai" \ |
" 0xb38f0f83 shifted by 0x0000 = 0xb38f0f83: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x0001 = 0xd9c787c1: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x0004 = 0xfb38f0f8: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x0010 = 0xffffb38f: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x001f = 0xffffffff: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x0001 = 0x2638783e: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x0004 = 0x04c70f07: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x0010 = 0x00004c70: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x001f = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x0021 = 0xd9c787c1: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x0024 = 0xfb38f0f8: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x0030 = 0xffffb38f: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x003f = 0xffffffff: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x0021 = 0x2638783e: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x0024 = 0x04c70f07: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x0030 = 0x00004c70: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x003f = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
"!l.srl" \ |
" 0xb38f0f83 shifted by 0x00000000 = 0xb38f0f83: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x00000001 = 0x59c787c1: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x00000004 = 0x0b38f0f8: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x00000010 = 0x0000b38f: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x0000001f = 0x00000001: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x00000001 = 0x2638783e: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x00000004 = 0x04c70f07: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x00000010 = 0x00004c70: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x0000001f = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x00000021 = 0x59c787c1: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x00002224 = 0x0b38f0f8: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x00f789f0 = 0x0000b38f: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0xffffffff = 0x00000001: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x00000021 = 0x2638783e: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x00002224 = 0x04c70f07: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x00f789f0 = 0x00004c70: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0xffffffff = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
"!l.srli" \ |
" 0xb38f0f83 shifted by 0x0000 = 0xb38f0f83: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x0001 = 0x59c787c1: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x0004 = 0x0b38f0f8: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x0010 = 0x0000b38f: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x001f = 0x00000001: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x0001 = 0x2638783e: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x0004 = 0x04c70f07: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x0010 = 0x00004c70: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x001f = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x0021 = 0x59c787c1: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x0024 = 0x0b38f0f8: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x0030 = 0x0000b38f: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 shifted by 0x003f = 0x00000001: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x0021 = 0x2638783e: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x0024 = 0x04c70f07: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x0030 = 0x00004c70: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c shifted by 0x003f = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
"!Test completed" \ |
"!report(0xdeaddead);" \ |
"!exit(0)"] \ |
"inst-set-test.cfg" "inst-set-test/is-shift-test" |
|
# Run the l.sub test |
run_or1ksim "sub-test" \ |
[list "! ** OVE flag cleared **" \ |
"!l.sub" \ |
" 0x00000003 - 0x00000002 = 0x00000001: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x00000001 - 0x00000002 = 0xffffffff: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x00000003 - 0x00000002 = 0x00000001: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xfffffffd - 0xfffffffe = 0xffffffff: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xffffffff - 0xfffffffe = 0x00000001: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x7fffffff - 0x3fffffff = 0x40000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x40000000 - 0x40000000 = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x3fffffff - 0x40000000 = 0xffffffff: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x40000000 - 0x3fffffff = 0x00000001: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x80000000 - 0x7fffffff = 0x00000001: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: FALSE" \ |
" 0x7fffffff - 0x80000000 = 0xffffffff: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: FALSE" \ |
"! ** OVE flag set **" \ |
" RANGE exception" \ |
" 0x80000000 - 0x7fffffff = 0x00000001: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: TRUE" \ |
" 0x3fffffff - 0x40000000 = 0xffffffff: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" RANGE exception" \ |
" 0x7fffffff - 0x80000000 = 0xffffffff: OK" \ |
" - carry flag set: TRUE" \ |
" - overflow flag set: TRUE" \ |
" - exception triggered: TRUE" \ |
"! ** OVE flag cleared **" \ |
"!Test completed" \ |
"!report(0xdeaddead);" \ |
"!exit(0)"] \ |
"inst-set-test.cfg" "inst-set-test/is-sub-test" |
|
# Run the l.xor test |
run_or1ksim "xor-test" \ |
[list "! ** OVE flag set **" \ |
"!l.xor" \ |
" 0x00000000 ^ 0x00000000 = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xffffffff ^ 0xffffffff = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xaaaaaaaa ^ 0x00000000 = 0xaaaaaaaa: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xaaaaaaaa ^ 0xaaaaaaaa = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x55555555 ^ 0x00000000 = 0x55555555: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x55555555 ^ 0x55555555 = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xaaaaaaaa ^ 0x55555555 = 0xffffffff: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c ^ 0xb38f0f83 = 0xffffffff: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c ^ 0xc4c70f07 = 0x88b7ff7b: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 ^ 0x38f0f83b = 0x8b7ff7b8: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
"!l.xori" \ |
" 0x00000000 ^ 0x0000 = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xffffffff ^ 0xffff = 0x00000000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xaaaaaaaa ^ 0x0000 = 0xaaaaaaaa: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xaaaaaaaa ^ 0xaaaa = 0x55550000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x55555555 ^ 0x0000 = 0x55555555: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x55555555 ^ 0x5555 = 0x55550000: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xaaaaaaaa ^ 0x5555 = 0xaaaaffff: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c ^ 0x0f83 = 0x4c70ffff: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0x4c70f07c ^ 0x0f07 = 0x4c70ff7b: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
" 0xb38f0f83 ^ 0xf83b = 0x4c70f7b8: OK" \ |
" - carry flag set: FALSE" \ |
" - overflow flag set: FALSE" \ |
" - exception triggered: FALSE" \ |
"!Test completed" \ |
"!report(0xdeaddead);" \ |
"!exit(0)"] \ |
"inst-set-test.cfg" "inst-set-test/is-xor-test" |
/Makefile.in
0,0 → 1,435
# Makefile.in generated by automake 1.11.1 from Makefile.am. |
# @configure_input@ |
|
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, |
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, |
# Inc. |
# This Makefile.in is free software; the Free Software Foundation |
# gives unlimited permission to copy and/or distribute it, |
# with or without modifications, as long as this notice is preserved. |
|
# This program is distributed in the hope that it will be useful, |
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without |
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A |
# PARTICULAR PURPOSE. |
|
@SET_MAKE@ |
|
# Makefile.am for or1ksim testsuite DejaGNU tests |
|
# Copyright (C) Marko Mlinar, 2001 |
# Copyright (C) Embecosm Limited, 2010 |
|
# Contributor Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
# To add new test, edit between marked areas only |
|
# This file is part of OpenRISC 1000 Architectural Simulator. |
|
# This program is free software; you can redistribute it and/or modify it |
# under the terms of the GNU General Public License as published by the Free |
# Software Foundation; either version 3 of the License, or (at your option) |
# any later version. |
|
# This program is distributed in the hope that it will be useful, but WITHOUT |
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
# more details. |
|
# You should have received a copy of the GNU General Public License along |
# with this program. If not, see <http:#www.gnu.org/licenses/>. */ |
|
# ----------------------------------------------------------------------------- |
# This code is commented throughout for use with Doxygen. |
# ----------------------------------------------------------------------------- |
VPATH = @srcdir@ |
pkgdatadir = $(datadir)/@PACKAGE@ |
pkgincludedir = $(includedir)/@PACKAGE@ |
pkglibdir = $(libdir)/@PACKAGE@ |
pkglibexecdir = $(libexecdir)/@PACKAGE@ |
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd |
install_sh_DATA = $(install_sh) -c -m 644 |
install_sh_PROGRAM = $(install_sh) -c |
install_sh_SCRIPT = $(install_sh) -c |
INSTALL_HEADER = $(INSTALL_DATA) |
transform = $(program_transform_name) |
NORMAL_INSTALL = : |
PRE_INSTALL = : |
POST_INSTALL = : |
NORMAL_UNINSTALL = : |
PRE_UNINSTALL = : |
POST_UNINSTALL = : |
build_triplet = @build@ |
host_triplet = @host@ |
target_triplet = @target@ |
subdir = testsuite/or1ksim.tests |
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in |
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ |
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
$(top_srcdir)/configure.ac |
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
$(ACLOCAL_M4) |
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs |
CONFIG_HEADER = $(top_builddir)/config.h |
CONFIG_CLEAN_FILES = |
CONFIG_CLEAN_VPATH_FILES = |
SOURCES = |
DIST_SOURCES = |
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) |
ACLOCAL = @ACLOCAL@ |
AMTAR = @AMTAR@ |
AR = @AR@ |
ARFLAGS = @ARFLAGS@ |
AUTOCONF = @AUTOCONF@ |
AUTOHEADER = @AUTOHEADER@ |
AUTOMAKE = @AUTOMAKE@ |
AWK = @AWK@ |
BUILD_DIR = @BUILD_DIR@ |
CC = @CC@ |
CCAS = @CCAS@ |
CCASDEPMODE = @CCASDEPMODE@ |
CCASFLAGS = @CCASFLAGS@ |
CCDEPMODE = @CCDEPMODE@ |
CFLAGS = @CFLAGS@ |
CPP = @CPP@ |
CPPFLAGS = @CPPFLAGS@ |
CPU_ARCH = @CPU_ARCH@ |
CYGPATH_W = @CYGPATH_W@ |
DEBUGFLAGS = @DEBUGFLAGS@ |
DEFS = @DEFS@ |
DEJAGNU = @DEJAGNU@ |
DEPDIR = @DEPDIR@ |
DSYMUTIL = @DSYMUTIL@ |
DUMPBIN = @DUMPBIN@ |
ECHO_C = @ECHO_C@ |
ECHO_N = @ECHO_N@ |
ECHO_T = @ECHO_T@ |
EGREP = @EGREP@ |
EXEEXT = @EXEEXT@ |
FGREP = @FGREP@ |
GREP = @GREP@ |
INCLUDES = @INCLUDES@ |
INSTALL = @INSTALL@ |
INSTALL_DATA = @INSTALL_DATA@ |
INSTALL_PROGRAM = @INSTALL_PROGRAM@ |
INSTALL_SCRIPT = @INSTALL_SCRIPT@ |
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ |
LD = @LD@ |
LDFLAGS = @LDFLAGS@ |
LIBOBJS = @LIBOBJS@ |
LIBS = @LIBS@ |
LIBTOOL = @LIBTOOL@ |
LIPO = @LIPO@ |
LN_S = @LN_S@ |
LOCAL_CFLAGS = @LOCAL_CFLAGS@ |
LOCAL_DEFS = @LOCAL_DEFS@ |
LOCAL_LDFLAGS = @LOCAL_LDFLAGS@ |
LTLIBOBJS = @LTLIBOBJS@ |
MAKEINFO = @MAKEINFO@ |
MKDIR_P = @MKDIR_P@ |
NM = @NM@ |
NMEDIT = @NMEDIT@ |
OBJDUMP = @OBJDUMP@ |
OBJEXT = @OBJEXT@ |
OTOOL = @OTOOL@ |
OTOOL64 = @OTOOL64@ |
PACKAGE = @PACKAGE@ |
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ |
PACKAGE_NAME = @PACKAGE_NAME@ |
PACKAGE_STRING = @PACKAGE_STRING@ |
PACKAGE_TARNAME = @PACKAGE_TARNAME@ |
PACKAGE_VERSION = @PACKAGE_VERSION@ |
PATH_SEPARATOR = @PATH_SEPARATOR@ |
POW_LIB = @POW_LIB@ |
RANLIB = @RANLIB@ |
RUNTESTDEFAULTFLAGS = @RUNTESTDEFAULTFLAGS@ |
SED = @SED@ |
SET_MAKE = @SET_MAKE@ |
SHELL = @SHELL@ |
STRIP = @STRIP@ |
SUMVERSION = @SUMVERSION@ |
TERMCAP_LIB = @TERMCAP_LIB@ |
VERSION = @VERSION@ |
abs_builddir = @abs_builddir@ |
abs_srcdir = @abs_srcdir@ |
abs_top_builddir = @abs_top_builddir@ |
abs_top_srcdir = @abs_top_srcdir@ |
ac_ct_CC = @ac_ct_CC@ |
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ |
am__include = @am__include@ |
am__leading_dot = @am__leading_dot@ |
am__quote = @am__quote@ |
am__tar = @am__tar@ |
am__untar = @am__untar@ |
bindir = @bindir@ |
build = @build@ |
build_alias = @build_alias@ |
build_cpu = @build_cpu@ |
build_os = @build_os@ |
build_vendor = @build_vendor@ |
builddir = @builddir@ |
datadir = @datadir@ |
datarootdir = @datarootdir@ |
docdir = @docdir@ |
dvidir = @dvidir@ |
exec_prefix = @exec_prefix@ |
host = @host@ |
host_alias = @host_alias@ |
host_cpu = @host_cpu@ |
host_os = @host_os@ |
host_vendor = @host_vendor@ |
htmldir = @htmldir@ |
includedir = @includedir@ |
infodir = @infodir@ |
install_sh = @install_sh@ |
libdir = @libdir@ |
libexecdir = @libexecdir@ |
localedir = @localedir@ |
localstatedir = @localstatedir@ |
lt_ECHO = @lt_ECHO@ |
mandir = @mandir@ |
mkdir_p = @mkdir_p@ |
oldincludedir = @oldincludedir@ |
pdfdir = @pdfdir@ |
prefix = @prefix@ |
program_transform_name = @program_transform_name@ |
psdir = @psdir@ |
sbindir = @sbindir@ |
sharedstatedir = @sharedstatedir@ |
srcdir = @srcdir@ |
subdirs = @subdirs@ |
sysconfdir = @sysconfdir@ |
target = @target@ |
target_alias = @target_alias@ |
target_cpu = @target_cpu@ |
target_os = @target_os@ |
target_vendor = @target_vendor@ |
top_build_prefix = @top_build_prefix@ |
top_builddir = @top_builddir@ |
top_srcdir = @top_srcdir@ |
|
# Just distribute this stuff |
EXTRA_DIST = acv-gpio.cfg \ |
acv-uart.cfg \ |
basic.exp \ |
cache.exp \ |
cbasic.exp \ |
cfg.exp \ |
default.cfg \ |
dhry.exp \ |
dmatest.exp \ |
eth0.rx \ |
eth.cfg \ |
eth.exp \ |
except-test.exp \ |
exit.exp \ |
ext.exp \ |
fbtest.exp \ |
flag.exp \ |
fp.cfg \ |
fp.exp \ |
functest.exp \ |
int-test.exp \ |
inst-set-test.cfg \ |
inst-set-test.exp \ |
kbdtest.cfg \ |
kbdtest.exp \ |
kbdtest.rx \ |
local-global.exp \ |
mem-test.exp \ |
mmu.cfg \ |
mmu.exp \ |
mul.exp \ |
mycompress.exp \ |
tick.exp |
|
all: all-am |
|
.SUFFIXES: |
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) |
@for dep in $?; do \ |
case '$(am__configure_deps)' in \ |
*$$dep*) \ |
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ |
&& { if test -f $@; then exit 0; else break; fi; }; \ |
exit 1;; \ |
esac; \ |
done; \ |
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu testsuite/or1ksim.tests/Makefile'; \ |
$(am__cd) $(top_srcdir) && \ |
$(AUTOMAKE) --gnu testsuite/or1ksim.tests/Makefile |
.PRECIOUS: Makefile |
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status |
@case '$?' in \ |
*config.status*) \ |
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ |
*) \ |
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ |
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ |
esac; |
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) |
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh |
|
$(top_srcdir)/configure: $(am__configure_deps) |
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh |
$(ACLOCAL_M4): $(am__aclocal_m4_deps) |
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh |
$(am__aclocal_m4_deps): |
|
mostlyclean-libtool: |
-rm -f *.lo |
|
clean-libtool: |
-rm -rf .libs _libs |
tags: TAGS |
TAGS: |
|
ctags: CTAGS |
CTAGS: |
|
|
distdir: $(DISTFILES) |
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ |
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ |
list='$(DISTFILES)'; \ |
dist_files=`for file in $$list; do echo $$file; done | \ |
sed -e "s|^$$srcdirstrip/||;t" \ |
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ |
case $$dist_files in \ |
*/*) $(MKDIR_P) `echo "$$dist_files" | \ |
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ |
sort -u` ;; \ |
esac; \ |
for file in $$dist_files; do \ |
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ |
if test -d $$d/$$file; then \ |
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ |
if test -d "$(distdir)/$$file"; then \ |
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ |
fi; \ |
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ |
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ |
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ |
fi; \ |
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ |
else \ |
test -f "$(distdir)/$$file" \ |
|| cp -p $$d/$$file "$(distdir)/$$file" \ |
|| exit 1; \ |
fi; \ |
done |
check-am: all-am |
check: check-am |
all-am: Makefile |
installdirs: |
install: install-am |
install-exec: install-exec-am |
install-data: install-data-am |
uninstall: uninstall-am |
|
install-am: all-am |
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am |
|
installcheck: installcheck-am |
install-strip: |
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ |
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ |
`test -z '$(STRIP)' || \ |
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install |
mostlyclean-generic: |
|
clean-generic: |
|
distclean-generic: |
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) |
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) |
|
maintainer-clean-generic: |
@echo "This command is intended for maintainers to use" |
@echo "it deletes files that may require special tools to rebuild." |
clean: clean-am |
|
clean-am: clean-generic clean-libtool mostlyclean-am |
|
distclean: distclean-am |
-rm -f Makefile |
distclean-am: clean-am distclean-generic |
|
dvi: dvi-am |
|
dvi-am: |
|
html: html-am |
|
html-am: |
|
info: info-am |
|
info-am: |
|
install-data-am: |
|
install-dvi: install-dvi-am |
|
install-dvi-am: |
|
install-exec-am: |
|
install-html: install-html-am |
|
install-html-am: |
|
install-info: install-info-am |
|
install-info-am: |
|
install-man: |
|
install-pdf: install-pdf-am |
|
install-pdf-am: |
|
install-ps: install-ps-am |
|
install-ps-am: |
|
installcheck-am: |
|
maintainer-clean: maintainer-clean-am |
-rm -f Makefile |
maintainer-clean-am: distclean-am maintainer-clean-generic |
|
mostlyclean: mostlyclean-am |
|
mostlyclean-am: mostlyclean-generic mostlyclean-libtool |
|
pdf: pdf-am |
|
pdf-am: |
|
ps: ps-am |
|
ps-am: |
|
uninstall-am: |
|
.MAKE: install-am install-strip |
|
.PHONY: all all-am check check-am clean clean-generic clean-libtool \ |
distclean distclean-generic distclean-libtool distdir dvi \ |
dvi-am html html-am info info-am install install-am \ |
install-data install-data-am install-dvi install-dvi-am \ |
install-exec install-exec-am install-html install-html-am \ |
install-info install-info-am install-man install-pdf \ |
install-pdf-am install-ps install-ps-am install-strip \ |
installcheck installcheck-am installdirs maintainer-clean \ |
maintainer-clean-generic mostlyclean mostlyclean-generic \ |
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am |
|
|
# Tell versions [3.59,3.63) of GNU make to not export all variables. |
# Otherwise a system limit (for SysV at least) may be exceeded. |
.NOEXPORT: |
/mul.exp
0,0 → 1,37
# cbasic.exp. Test of multiplication using DejaGNU under automake |
|
# Copyright (C) 2010 Embecosm Limited |
|
# Contributor Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
# This file is part of OpenRISC 1000 Architectural Simulator. |
|
# This program is free software; you can redistribute it and/or modify it |
# under the terms of the GNU General Public License as published by the Free |
# Software Foundation; either version 3 of the License, or (at your option) |
# any later version. |
|
# This program is distributed in the hope that it will be useful, but WITHOUT |
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
# more details. |
|
# You should have received a copy of the GNU General Public License along |
# with this program. If not, see <http:#www.gnu.org/licenses/>. */ |
|
# ----------------------------------------------------------------------------- |
# This code is commented throughout for use with Doxygen. |
# ----------------------------------------------------------------------------- |
|
|
# Run the multiplication test |
run_or1ksim "mul" \ |
[list "00000000" \ |
"cac28a17" \ |
"a6312f33, expected a6312f33" \ |
"059b8f08, expected 059b8f08" \ |
"00000000, expected 00000000" \ |
"!report(0xdeaddead);" \ |
"!Test succesful." \ |
"!exit(0)"] \ |
"" "mul/mul" |
/inst-set-test.cfg
0,0 → 1,103
/* inst-set.cfg -- Or1ksim instruction set configuration script file |
|
Copyright (C) 2001, Marko Mlinar <markom@opencores.org> |
Copyright (C) 2010 Embecosm Limited |
|
Contributor Marko Mlinar <markom@opencores.org> |
Contributor Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
This file is part of OpenRISC 1000 Architectural Simulator. |
|
This program is free software; you can redistribute it and/or modify it |
under the terms of the GNU General Public License as published by the Free |
Software Foundation; either version 3 of the License, or (at your option) |
any later version. |
|
This program is distributed in the hope that it will be useful, but WITHOUT |
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
more details. |
|
You should have received a copy of the GNU General Public License along |
with this program. If not, see <http: www.gnu.org/licenses/>. */ |
|
/* This configuration file is particularly intended for intruction set tests |
which have a single block of RAM and make no use of the memory controller |
or flash memory. */ |
|
section memory |
type = unknown /* Fastest */ |
name = "RAM" |
baseaddr = 0x00000000 |
size = 0x00200000 |
delayr = 2 |
delayw = 4 |
end |
|
section immu |
enabled = 0 |
end |
|
section dmmu |
enabled = 0 |
end |
|
section ic |
enabled = 0 |
end |
|
section dc |
enabled = 0 |
end |
|
section cpu |
ver = 0x12 |
rev = 0x0001 |
superscalar = 0 |
hazards = 0 |
dependstats = 0 |
end |
|
section bpb |
enabled = 0 |
end |
|
section debug |
/* enabled = 1 |
rsp_enabled = 1 |
rsp_port = 51000*/ |
end |
|
section sim |
debug = 0 |
profile = 0 |
prof_fn = "sim.profile" |
|
exe_log = 0 |
exe_log_type = software |
exe_log_fn = "executed.log" |
end |
|
section mc |
enabled = 0 |
end |
|
section dma |
enabled = 0 |
end |
|
section ethernet |
enabled = 0 |
end |
|
section VAPI |
enabled = 0 |
end |
|
section fb |
enabled = 0 |
end |
|
section kbd |
enabled = 0 |
end |
/Makefile.am
0,0 → 1,63
# Makefile.am for or1ksim testsuite DejaGNU tests |
|
# Copyright (C) Marko Mlinar, 2001 |
# Copyright (C) Embecosm Limited, 2010 |
|
# Contributor Jeremy Bennett <jeremy.bennett@embecosm.com> |
|
# To add new test, edit between marked areas only |
|
# This file is part of OpenRISC 1000 Architectural Simulator. |
|
# This program is free software; you can redistribute it and/or modify it |
# under the terms of the GNU General Public License as published by the Free |
# Software Foundation; either version 3 of the License, or (at your option) |
# any later version. |
|
# This program is distributed in the hope that it will be useful, but WITHOUT |
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
# more details. |
|
# You should have received a copy of the GNU General Public License along |
# with this program. If not, see <http:#www.gnu.org/licenses/>. */ |
|
# ----------------------------------------------------------------------------- |
# This code is commented throughout for use with Doxygen. |
# ----------------------------------------------------------------------------- |
|
|
# Just distribute this stuff |
EXTRA_DIST = acv-gpio.cfg \ |
acv-uart.cfg \ |
basic.exp \ |
cache.exp \ |
cbasic.exp \ |
cfg.exp \ |
default.cfg \ |
dhry.exp \ |
dmatest.exp \ |
eth0.rx \ |
eth.cfg \ |
eth.exp \ |
except-test.exp \ |
exit.exp \ |
ext.exp \ |
fbtest.exp \ |
flag.exp \ |
fp.cfg \ |
fp.exp \ |
functest.exp \ |
int-test.exp \ |
inst-set-test.cfg \ |
inst-set-test.exp \ |
kbdtest.cfg \ |
kbdtest.exp \ |
kbdtest.rx \ |
local-global.exp \ |
mem-test.exp \ |
mmu.cfg \ |
mmu.exp \ |
mul.exp \ |
mycompress.exp \ |
tick.exp |
Makefile.am
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: cbasic.exp
===================================================================
--- cbasic.exp (nonexistent)
+++ cbasic.exp (revision 128)
@@ -0,0 +1,50 @@
+# cbasic.exp. Test of C program functionality using DejaGNU under automake
+
+# Copyright (C) 2010 Embecosm Limited
+
+# Contributor Jeremy Bennett
+
+# This file is part of OpenRISC 1000 Architectural Simulator.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 3 of the License, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see . */
+
+# -----------------------------------------------------------------------------
+# This code is commented throughout for use with Doxygen.
+# -----------------------------------------------------------------------------
+
+
+# Run the basic C functionality test.
+run_or1ksim "cbasic" \
+ [list "report(0xffffffda);" \
+ "report(0xffffffc5);" \
+ "report(0x00006805);" \
+ "report(0xffff97f9);" \
+ "report(0xffff97f9);" \
+ "report(0x7a55957c);" \
+ "report(0x81e5e000);" \
+ "report(0x00000074);" \
+ "report(0x00000074);" \
+ "report(0x00000074);" \
+ "report(0x00000001);" \
+ "report(0x00000d7c);" \
+ "report(0x00000074);" \
+ "report(0x00000074);" \
+ "report(0x00000074);" \
+ "report(0xffffffff);" \
+ "report(0x00000d7a);" \
+ "report(0x00000d7a);" \
+ "RESULT: 0xdeaddead" \
+ "!report(0xdeaddead);" \
+ "!exit(0)"] \
+ "" "cbasic/cbasic"
Index: tick.exp
===================================================================
--- tick.exp (nonexistent)
+++ tick.exp (revision 128)
@@ -0,0 +1,50 @@
+# tick.exp. Tick timer test using DejaGNU under automake
+
+# Copyright (C) 2010 Embecosm Limited
+
+# Contributor Jeremy Bennett
+
+# This file is part of OpenRISC 1000 Architectural Simulator.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 3 of the License, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see . */
+
+# -----------------------------------------------------------------------------
+# This code is commented throughout for use with Doxygen.
+# -----------------------------------------------------------------------------
+
+
+# Run the tick timer test
+run_or1ksim "tick" \
+ [list "Test succeeded Tick timer not counting while disabled" \
+ "Test succeeded Tick timer kept counting during continuous mode" \
+ "Test succeeded Tick timer continued counting after restart" \
+ "Test succeeded Tick timer counter stops when disabled" \
+ "Test succeeded Timer stopped after match" \
+ "Test succeeded Timer still indicating one-shot mode after match" \
+ "Test succeeded One-shot timer stopped" \
+ "Test succeeded No more interrupts after one-shot timer" \
+ "Test succeeded IP flag not set after one-shot timer" \
+ "Test succeeded Perptual timer kept counting" \
+ "Test succeeded No more interrupts during perpetual timer count" \
+ "Test succeeded IP flag not set during perpetual timer count" \
+ "Test succeeded No interrupt when tick timer disabled" \
+ "Test succeeded TTCR reset while counting" \
+ "Test succeeded Timer started counting from high value" \
+ "Test succeeded Auto-restart wrapped round" \
+ "Test succeeded Continuous mode wrapped round" \
+ "Test succeeded Spurious interrupts handled with matching period" \
+ "Test succeeded Spurious interrupts handled after TTCR and TTMR" \
+ "!report(0xdeaddead);" \
+ "!exit(0)"] \
+ "" "tick/tick"
Index: mem-test.exp
===================================================================
--- mem-test.exp (nonexistent)
+++ mem-test.exp (revision 128)
@@ -0,0 +1,46 @@
+# mem-test.exp. Simple memory test using DejaGNU under automake
+
+# Copyright (C) 2010 Embecosm Limited
+
+# Contributor Jeremy Bennett
+
+# This file is part of OpenRISC 1000 Architectural Simulator.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 3 of the License, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see . */
+
+# -----------------------------------------------------------------------------
+# This code is commented throughout for use with Doxygen.
+# -----------------------------------------------------------------------------
+
+
+# Run the simple memory test.
+run_or1ksim "mem-test" \
+ [list "report(0x12345678);" \
+ "report(0x00001234);" \
+ "report(0x00005678);" \
+ "report(0x00000012);" \
+ "report(0x00000034);" \
+ "report(0x00000056);" \
+ "report(0x00000078);" \
+ "report(0xdeaddead);" \
+ "report(0x5678dead);" \
+ "report(0x56781234);" \
+ "report(0xdd781234);" \
+ "report(0xddcc1234);" \
+ "report(0xddccbb34);" \
+ "report(0xddccbbaa);" \
+ "report(0xda25e544);" \
+ "report(0xdeaddead);" \
+ "!exit(0)"] \
+ "" "mem-test/mem-test"
Index: functest.exp
===================================================================
--- functest.exp (nonexistent)
+++ functest.exp (revision 128)
@@ -0,0 +1,42 @@
+# functest.exp. Function parameter test using DejaGNU under automake
+
+# Copyright (C) 2010 Embecosm Limited
+
+# Contributor Jeremy Bennett
+
+# This file is part of OpenRISC 1000 Architectural Simulator.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 3 of the License, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see . */
+
+# -----------------------------------------------------------------------------
+# This code is commented throughout for use with Doxygen.
+# -----------------------------------------------------------------------------
+
+
+# Run the Function parameter test.
+run_or1ksim "functest" \
+ [list "0" \
+ "2" \
+ "4" \
+ "6" \
+ "8" \
+ "10" \
+ "12" \
+ "14" \
+ "16" \
+ "18" \
+ "report(0x00000014);" \
+ "!report(0xdeaddead);" \
+ "!exit(0)"] \
+ "" "functest/functest"
Index: kbdtest.exp
===================================================================
--- kbdtest.exp (nonexistent)
+++ kbdtest.exp (revision 128)
@@ -0,0 +1,59 @@
+# kbdtest.exp. Keyboard test using DejaGNU under automake
+
+# Copyright (C) 2010 Embecosm Limited
+
+# Contributor Jeremy Bennett
+
+# This file is part of OpenRISC 1000 Architectural Simulator.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 3 of the License, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see . */
+
+# -----------------------------------------------------------------------------
+# This code is commented throughout for use with Doxygen.
+# -----------------------------------------------------------------------------
+
+
+# Run the keyboard test. Note the need for double quoting of "backslash"
+# characters.
+run_or1ksim "kbdtest" \
+ [list "!Reading from keyboard." \
+ "Enabling interrupts." \
+ "Received 'T'" \
+ "Received 'e'" \
+ "Received '3'" \
+ "Received '+'" \
+ "Received '='" \
+ "Received '-'" \
+ "Received '<'" \
+ "Received '/'" \
+ "Received '.'" \
+ "Received '\\'" \
+ "Received '|'" \
+ "Received '\"'" \
+ "Received '\''" \
+ "Received '`'" \
+ "Received '}'" \
+ "Received ']'" \
+ "Received: TAB" \
+ "Received: SPACE" \
+ "Received '!'" \
+ "Received '%'" \
+ "Received '^'" \
+ "Received '&'" \
+ "Received ')'" \
+ "Received '*'" \
+ "Received: ENTER" \
+ "!report(0xdeaddead);" \
+ "!exit(0)"] \
+ "kbdtest.cfg" "kbdtest/kbdtest"
Index: ext.exp
===================================================================
--- ext.exp (nonexistent)
+++ ext.exp (revision 128)
@@ -0,0 +1,135 @@
+# ext.exp. l.ext{b,h}{s,z} instruction test using DejaGNU under automake
+
+# Copyright (C) 2010 Embecosm Limited
+
+# Contributor Jeremy Bennett
+
+# This file is part of OpenRISC 1000 Architectural Simulator.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 3 of the License, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see . */
+
+# -----------------------------------------------------------------------------
+# This code is commented throughout for use with Doxygen.
+# -----------------------------------------------------------------------------
+
+
+# Run the l.ext test
+run_or1ksim "ext" \
+ [list "report(0x0000007f);" \
+ "report(0x0000007f);" \
+ "report(0x00000053);" \
+ "report(0x00000053);" \
+ "report(0x0000ff53);" \
+ "report(0x00000053);" \
+ "report(0x00001234);" \
+ "report(0x00000034);" \
+ "report(0x000000ff);" \
+ "report(0xffffffff);" \
+ "report(0x00000080);" \
+ "report(0xffffff80);" \
+ "report(0x0000ff80);" \
+ "report(0xffffff80);" \
+ "report(0x00007f80);" \
+ "report(0xffffff80);" \
+ "report(0x00007fff);" \
+ "report(0xffffffff);" \
+ "report(0x0000007f);" \
+ "report(0x0000007f);" \
+ "report(0x00000053);" \
+ "report(0x00000053);" \
+ "report(0x0000ff53);" \
+ "report(0x00000053);" \
+ "report(0x00001234);" \
+ "report(0x00000034);" \
+ "report(0x000000ff);" \
+ "report(0x000000ff);" \
+ "report(0x00000080);" \
+ "report(0x00000080);" \
+ "report(0x0000ff80);" \
+ "report(0x00000080);" \
+ "report(0x00007f80);" \
+ "report(0x00000080);" \
+ "report(0x00007fff);" \
+ "report(0x000000ff);" \
+ "report(0x00007fff);" \
+ "report(0x00007fff);" \
+ "report(0x00005233);" \
+ "report(0x00005233);" \
+ "report(0xffff2f53);" \
+ "report(0x00002f53);" \
+ "report(0x12345678);" \
+ "report(0x00005678);" \
+ "report(0x0000ffff);" \
+ "report(0xffffffff);" \
+ "report(0x00008000);" \
+ "report(0xffff8000);" \
+ "report(0x0000ff80);" \
+ "report(0xffffff80);" \
+ "report(0x80008000);" \
+ "report(0xffff8000);" \
+ "report(0x7fffffff);" \
+ "report(0xffffffff);" \
+ "report(0x00007fff);" \
+ "report(0x00007fff);" \
+ "report(0x00005233);" \
+ "report(0x00005233);" \
+ "report(0xffff2f53);" \
+ "report(0x00002f53);" \
+ "report(0x12345678);" \
+ "report(0x00005678);" \
+ "report(0x0000ffff);" \
+ "report(0x0000ffff);" \
+ "report(0x00008000);" \
+ "report(0x00008000);" \
+ "report(0x0000ff80);" \
+ "report(0x0000ff80);" \
+ "report(0x80008000);" \
+ "report(0x00008000);" \
+ "report(0x7fffffff);" \
+ "report(0x0000ffff);" \
+ "report(0xffffffff);" \
+ "report(0xffffffff);" \
+ "report(0x7fffffff);" \
+ "report(0x7fffffff);" \
+ "report(0x7fff7fff);" \
+ "report(0x7fff7fff);" \
+ "report(0xffff7f7f);" \
+ "report(0xffff7f7f);" \
+ "report(0xffffff7f);" \
+ "report(0xffffff7f);" \
+ "report(0xffff7fff);" \
+ "report(0xffff7fff);" \
+ "report(0x7fff7f7f);" \
+ "report(0x7fff7f7f);" \
+ "report(0x12345678);" \
+ "report(0x12345678);" \
+ "report(0xffffffff);" \
+ "report(0xffffffff);" \
+ "report(0x7fffffff);" \
+ "report(0x7fffffff);" \
+ "report(0x7fff7fff);" \
+ "report(0x7fff7fff);" \
+ "report(0xffff7f7f);" \
+ "report(0xffff7f7f);" \
+ "report(0xffffff7f);" \
+ "report(0xffffff7f);" \
+ "report(0xffff7fff);" \
+ "report(0xffff7fff);" \
+ "report(0x7fff7f7f);" \
+ "report(0x7fff7f7f);" \
+ "report(0x12345678);" \
+ "report(0x12345678);" \
+ "!report(0xdeaddead);" \
+ "!exit(0)"] \
+ "" "ext/ext"
Index: mycompress.exp
===================================================================
--- mycompress.exp (nonexistent)
+++ mycompress.exp (revision 128)
@@ -0,0 +1,1037 @@
+# mycompress.exp. Test of C program functionality using DejaGNU under automake
+
+# Copyright (C) 2010 Embecosm Limited
+
+# Contributor Jeremy Bennett
+
+# This file is part of OpenRISC 1000 Architectural Simulator.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 3 of the License, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see . */
+
+# -----------------------------------------------------------------------------
+# This code is commented throughout for use with Doxygen.
+# -----------------------------------------------------------------------------
+
+
+# Run the basic C functionality test.
+run_or1ksim "mycompress" \
+ [list "!main: bytes_out 3... hsize 5003" \
+ "!main: hshift 4..." \
+ "!main: bytes_out 3..." \
+ "!main: hsize_reg 5003..." \
+ "!main: before compress 1..." \
+ "!main: compressing 1..." \
+ "!main: compressing 2..." \
+ "!main: compressing 3..." \
+ "!main: compressing 4..." \
+ "!main: compressing 5..." \
+ "!main: compressing 6..." \
+ "!main: compressing 7..." \
+ "!main: compressing 8..." \
+ "!main: compressing 9..." \
+ "!main: compressing 10..." \
+ "!main: compressing 11..." \
+ "!main: compressing 12..." \
+ "!main: compressing 13..." \
+ "!main: compressing 14..." \
+ "!main: compressing 15..." \
+ "!main: compressing 16..." \
+ "!main: compressing 17..." \
+ "!main: compressing 18..." \
+ "!main: compressing 19..." \
+ "!main: compressing 20..." \
+ "!main: compressing 21..." \
+ "!main: compressing 22..." \
+ "!main: compressing 23..." \
+ "!main: compressing 24..." \
+ "!main: compressing 25..." \
+ "!main: compressing 26..." \
+ "!main: compressing 27..." \
+ "!main: compressing 28..." \
+ "!main: compressing 29..." \
+ "!main: compressing 30..." \
+ "!main: compressing 31..." \
+ "!main: compressing 32..." \
+ "!main: compressing 33..." \
+ "!main: compressing 34..." \
+ "!main: compressing 35..." \
+ "!main: compressing 36..." \
+ "!main: compressing 37..." \
+ "!main: compressing 38..." \
+ "!main: compressing 39..." \
+ "!main: compressing 40..." \
+ "!main: compressing 41..." \
+ "!main: compressing 42..." \
+ "!main: compressing 43..." \
+ "!main: compressing 44..." \
+ "!main: compressing 45..." \
+ "!main: compressing 46..." \
+ "!main: compressing 47..." \
+ "!main: compressing 48..." \
+ "!main: compressing 49..." \
+ "!main: compressing 50..." \
+ "!main: compressing 51..." \
+ "!main: compressing 52..." \
+ "!main: compressing 53..." \
+ "!main: compressing 54..." \
+ "!main: compressing 55..." \
+ "!main: compressing 56..." \
+ "!main: compressing 57..." \
+ "!main: compressing 58..." \
+ "!main: compressing 59..." \
+ "!main: compressing 60..." \
+ "!main: compressing 61..." \
+ "!main: compressing 62..." \
+ "!main: compressing 63..." \
+ "!main: compressing 64..." \
+ "!main: compressing 65..." \
+ "!main: compressing 66..." \
+ "!main: compressing 67..." \
+ "!main: compressing 68..." \
+ "!main: compressing 69..." \
+ "!main: compressing 70..." \
+ "!main: compressing 71..." \
+ "!main: compressing 72..." \
+ "!main: compressing 73..." \
+ "!main: compressing 74..." \
+ "!main: compressing 75..." \
+ "!main: compressing 76..." \
+ "!main: compressing 77..." \
+ "!main: compressing 78..." \
+ "!main: compressing 79..." \
+ "!main: compressing 80..." \
+ "!main: compressing 81..." \
+ "!main: compressing 82..." \
+ "!main: compressing 83..." \
+ "!main: compressing 84..." \
+ "!main: compressing 85..." \
+ "!main: compressing 86..." \
+ "!main: compressing 87..." \
+ "!main: compressing 88..." \
+ "!main: compressing 89..." \
+ "!main: compressing 90..." \
+ "!main: compressing 91..." \
+ "!main: compressing 92..." \
+ "!main: compressing 93..." \
+ "!main: compressing 94..." \
+ "!main: compressing 95..." \
+ "!main: compressing 96..." \
+ "!main: compressing 97..." \
+ "!main: compressing 98..." \
+ "!main: compressing 99..." \
+ "!main: compressing 100..." \
+ "!main: compressing 101..." \
+ "!main: compressing 102..." \
+ "!main: compressing 103..." \
+ "!main: compressing 104..." \
+ "!main: compressing 105..." \
+ "!main: compressing 106..." \
+ "!main: compressing 107..." \
+ "!main: compressing 108..." \
+ "!main: compressing 109..." \
+ "!main: compressing 110..." \
+ "!main: compressing 111..." \
+ "!main: compressing 112..." \
+ "!main: compressing 113..." \
+ "!main: compressing 114..." \
+ "!main: compressing 115..." \
+ "!main: compressing 116..." \
+ "!main: compressing 117..." \
+ "!main: compressing 118..." \
+ "!main: compressing 119..." \
+ "!main: compressing 120..." \
+ "!main: compressing 121..." \
+ "!main: compressing 122..." \
+ "!main: compressing 123..." \
+ "!main: compressing 124..." \
+ "!main: compressing 125..." \
+ "!main: compressing 126..." \
+ "!main: compressing 127..." \
+ "!main: compressing 128..." \
+ "!main: compressing 129..." \
+ "!main: compressing 130..." \
+ "!main: compressing 131..." \
+ "!main: compressing 132..." \
+ "!main: compressing 133..." \
+ "!main: compressing 134..." \
+ "!main: compressing 135..." \
+ "!main: compressing 136..." \
+ "!main: compressing 137..." \
+ "!main: compressing 138..." \
+ "!main: compressing 139..." \
+ "!main: compressing 140..." \
+ "!main: compressing 141..." \
+ "!main: compressing 142..." \
+ "!main: compressing 143..." \
+ "!main: compressing 144..." \
+ "!main: compressing 145..." \
+ "!main: compressing 146..." \
+ "!main: compressing 147..." \
+ "!main: compressing 148..." \
+ "!main: compressing 149..." \
+ "!main: compressing 150..." \
+ "!main: compressing 151..." \
+ "!main: compressing 152..." \
+ "!main: compressing 153..." \
+ "!main: compressing 154..." \
+ "!main: compressing 155..." \
+ "!main: compressing 156..." \
+ "!main: compressing 157..." \
+ "!main: compressing 158..." \
+ "!main: compressing 159..." \
+ "!main: compressing 160..." \
+ "!main: compressing 161..." \
+ "!main: compressing 162..." \
+ "!main: compressing 163..." \
+ "!main: compressing 164..." \
+ "!main: compressing 165..." \
+ "!main: compressing 166..." \
+ "!main: compressing 167..." \
+ "!main: compressing 168..." \
+ "!main: compressing 169..." \
+ "!main: compressing 170..." \
+ "!main: compressing 171..." \
+ "!main: compressing 172..." \
+ "!main: compressing 173..." \
+ "!main: compressing 174..." \
+ "!main: compressing 175..." \
+ "!main: compressing 176..." \
+ "!main: compressing 177..." \
+ "!main: compressing 178..." \
+ "!main: compressing 179..." \
+ "!main: compressing 180..." \
+ "!main: compressing 181..." \
+ "!main: compressing 182..." \
+ "!main: compressing 183..." \
+ "!main: compressing 184..." \
+ "!main: compressing 185..." \
+ "!main: compressing 186..." \
+ "!main: compressing 187..." \
+ "!main: compressing 188..." \
+ "!main: compressing 189..." \
+ "!main: compressing 190..." \
+ "!main: compressing 191..." \
+ "!main: compressing 192..." \
+ "!main: compressing 193..." \
+ "!main: compressing 194..." \
+ "!main: compressing 195..." \
+ "!main: compressing 196..." \
+ "!main: compressing 197..." \
+ "!main: compressing 198..." \
+ "!main: compressing 199..." \
+ "!main: compressing 200..." \
+ "!main: compressing 201..." \
+ "!main: compressing 202..." \
+ "!main: compressing 203..." \
+ "!main: compressing 204..." \
+ "!main: compressing 205..." \
+ "!main: compressing 206..." \
+ "!main: compressing 207..." \
+ "!main: compressing 208..." \
+ "!main: compressing 209..." \
+ "!main: compressing 210..." \
+ "!main: compressing 211..." \
+ "!main: compressing 212..." \
+ "!main: compressing 213..." \
+ "!main: compressing 214..." \
+ "!main: compressing 215..." \
+ "!main: compressing 216..." \
+ "!main: compressing 217..." \
+ "!main: compressing 218..." \
+ "!main: compressing 219..." \
+ "!main: compressing 220..." \
+ "!main: compressing 221..." \
+ "!main: compressing 222..." \
+ "!main: compressing 223..." \
+ "!main: compressing 224..." \
+ "!main: compressing 225..." \
+ "!main: compressing 226..." \
+ "!main: compressing 227..." \
+ "!main: compressing 228..." \
+ "!main: compressing 229..." \
+ "!main: compressing 230..." \
+ "!main: compressing 231..." \
+ "!main: compressing 232..." \
+ "!main: compressing 233..." \
+ "!main: compressing 234..." \
+ "!main: compressing 235..." \
+ "!main: compressing 236..." \
+ "!main: compressing 237..." \
+ "!main: compressing 238..." \
+ "!main: compressing 239..." \
+ "!main: compressing 240..." \
+ "!main: compressing 241..." \
+ "!main: compressing 242..." \
+ "!main: compressing 243..." \
+ "!main: compressing 244..." \
+ "!main: compressing 245..." \
+ "!main: compressing 246..." \
+ "!main: compressing 247..." \
+ "!main: compressing 248..." \
+ "!main: compressing 249..." \
+ "!main: compressing 250..." \
+ "!main: compressing 251..." \
+ "!main: compressing 252..." \
+ "!main: compressing 253..." \
+ "!main: compressing 254..." \
+ "!main: compressing 255..." \
+ "!main: compressing 256..." \
+ "!main: compressing 257..." \
+ "!main: compressing 258..." \
+ "!main: compressing 259..." \
+ "!main: compressing 260..." \
+ "!main: compressing 261..." \
+ "!main: compressing 262..." \
+ "!main: compressing 263..." \
+ "!main: compressing 264..." \
+ "!main: compressing 265..." \
+ "!main: compressing 266..." \
+ "!main: compressing 267..." \
+ "!main: compressing 268..." \
+ "!main: compressing 269..." \
+ "!main: compressing 270..." \
+ "!main: compressing 271..." \
+ "!main: compressing 272..." \
+ "!main: compressing 273..." \
+ "!main: compressing 274..." \
+ "!main: compressing 275..." \
+ "!main: compressing 276..." \
+ "!main: compressing 277..." \
+ "!main: compressing 278..." \
+ "!main: compressing 279..." \
+ "!main: compressing 280..." \
+ "!main: compressing 281..." \
+ "!main: compressing 282..." \
+ "!main: compressing 283..." \
+ "!main: compressing 284..." \
+ "!main: compressing 285..." \
+ "!main: compressing 286..." \
+ "!main: compressing 287..." \
+ "!main: compressing 288..." \
+ "!main: compressing 289..." \
+ "!main: compressing 290..." \
+ "!main: compressing 291..." \
+ "!main: compressing 292..." \
+ "!main: compressing 293..." \
+ "!main: compressing 294..." \
+ "!main: compressing 295..." \
+ "!main: compressing 296..." \
+ "!main: compressing 297..." \
+ "!main: compressing 298..." \
+ "!main: compressing 299..." \
+ "!main: compressing 300..." \
+ "!main: compressing 301..." \
+ "!main: compressing 302..." \
+ "!main: compressing 303..." \
+ "!main: compressing 304..." \
+ "!main: compressing 305..." \
+ "!main: compressing 306..." \
+ "!main: compressing 307..." \
+ "!main: compressing 308..." \
+ "!main: compressing 309..." \
+ "!main: compressing 310..." \
+ "!main: compressing 311..." \
+ "!main: compressing 312..." \
+ "!main: compressing 313..." \
+ "!main: compressing 314..." \
+ "!main: compressing 315..." \
+ "!main: compressing 316..." \
+ "!main: compressing 317..." \
+ "!main: compressing 318..." \
+ "!main: compressing 319..." \
+ "!main: compressing 320..." \
+ "!main: compressing 321..." \
+ "!main: compressing 322..." \
+ "!main: compressing 323..." \
+ "!main: compressing 324..." \
+ "!main: compressing 325..." \
+ "!main: compressing 326..." \
+ "!main: compressing 327..." \
+ "!main: compressing 328..." \
+ "!main: compressing 329..." \
+ "!main: compressing 330..." \
+ "!main: compressing 331..." \
+ "!main: compressing 332..." \
+ "!main: compressing 333..." \
+ "!main: compressing 334..." \
+ "!main: compressing 335..." \
+ "!main: compressing 336..." \
+ "!main: compressing 337..." \
+ "!main: compressing 338..." \
+ "!main: compressing 339..." \
+ "!main: compressing 340..." \
+ "!main: compressing 341..." \
+ "!main: compressing 342..." \
+ "!main: compressing 343..." \
+ "!main: compressing 344..." \
+ "!main: compressing 345..." \
+ "!main: compressing 346..." \
+ "!main: compressing 347..." \
+ "!main: compressing 348..." \
+ "!main: compressing 349..." \
+ "!main: compressing 350..." \
+ "!main: compressing 351..." \
+ "!main: compressing 352..." \
+ "!main: compressing 353..." \
+ "!main: compressing 354..." \
+ "!main: compressing 355..." \
+ "!main: compressing 356..." \
+ "!main: compressing 357..." \
+ "!main: compressing 358..." \
+ "!main: compressing 359..." \
+ "!main: compressing 360..." \
+ "!main: compressing 361..." \
+ "!main: compressing 362..." \
+ "!main: compressing 363..." \
+ "!main: compressing 364..." \
+ "!main: compressing 365..." \
+ "!main: compressing 366..." \
+ "!main: compressing 367..." \
+ "!main: compressing 368..." \
+ "!main: compressing 369..." \
+ "!main: compressing 370..." \
+ "!main: compressing 371..." \
+ "!main: compressing 372..." \
+ "!main: compressing 373..." \
+ "!main: compressing 374..." \
+ "!main: compressing 375..." \
+ "!main: compressing 376..." \
+ "!main: compressing 377..." \
+ "!main: compressing 378..." \
+ "!main: compressing 379..." \
+ "!main: compressing 380..." \
+ "!main: compressing 381..." \
+ "!main: compressing 382..." \
+ "!main: compressing 383..." \
+ "!main: compressing 384..." \
+ "!main: compressing 385..." \
+ "!main: compressing 386..." \
+ "!main: compressing 387..." \
+ "!main: compressing 388..." \
+ "!main: compressing 389..." \
+ "!main: compressing 390..." \
+ "!main: compressing 391..." \
+ "!main: compressing 392..." \
+ "!main: compressing 393..." \
+ "!main: compressing 394..." \
+ "!main: compressing 395..." \
+ "!main: compressing 396..." \
+ "!main: compressing 397..." \
+ "!main: compressing 398..." \
+ "!main: compressing 399..." \
+ "!main: compressing 400..." \
+ "!main: compressing 401..." \
+ "!main: compressing 402..." \
+ "!main: compressing 403..." \
+ "!main: compressing 404..." \
+ "!main: compressing 405..." \
+ "!main: compressing 406..." \
+ "!main: compressing 407..." \
+ "!main: compressing 408..." \
+ "!main: compressing 409..." \
+ "!main: compressing 410..." \
+ "!main: compressing 411..." \
+ "!main: compressing 412..." \
+ "!main: compressing 413..." \
+ "!main: compressing 414..." \
+ "!main: compressing 415..." \
+ "!main: compressing 416..." \
+ "!main: compressing 417..." \
+ "!main: compressing 418..." \
+ "!main: compressing 419..." \
+ "!main: compressing 420..." \
+ "!main: compressing 421..." \
+ "!main: compressing 422..." \
+ "!main: compressing 423..." \
+ "!main: compressing 424..." \
+ "!main: compressing 425..." \
+ "!main: compressing 426..." \
+ "!main: compressing 427..." \
+ "!main: compressing 428..." \
+ "!main: compressing 429..." \
+ "!main: compressing 430..." \
+ "!main: compressing 431..." \
+ "!main: compressing 432..." \
+ "!main: compressing 433..." \
+ "!main: compressing 434..." \
+ "!main: compressing 435..." \
+ "!main: compressing 436..." \
+ "!main: compressing 437..." \
+ "!main: compressing 438..." \
+ "!main: compressing 439..." \
+ "!main: compressing 440..." \
+ "!main: compressing 441..." \
+ "!main: compressing 442..." \
+ "!main: compressing 443..." \
+ "!main: compressing 444..." \
+ "!main: compressing 445..." \
+ "!main: compressing 446..." \
+ "!main: compressing 447..." \
+ "!main: compressing 448..." \
+ "!main: compressing 449..." \
+ "!main: compressing 450..." \
+ "!main: compressing 451..." \
+ "!main: compressing 452..." \
+ "!main: compressing 453..." \
+ "!main: compressing 454..." \
+ "!main: compressing 455..." \
+ "!main: compressing 456..." \
+ "!main: compressing 457..." \
+ "!main: compressing 458..." \
+ "!main: compressing 459..." \
+ "!main: compressing 460..." \
+ "!main: compressing 461..." \
+ "!main: compressing 462..." \
+ "!main: compressing 463..." \
+ "!main: compressing 464..." \
+ "!main: compressing 465..." \
+ "!main: compressing 466..." \
+ "!main: compressing 467..." \
+ "!main: compressing 468..." \
+ "!main: compressing 469..." \
+ "!main: compressing 470..." \
+ "!main: compressing 471..." \
+ "!main: compressing 472..." \
+ "!main: compressing 473..." \
+ "!main: compressing 474..." \
+ "!main: compressing 475..." \
+ "!main: compressing 476..." \
+ "!main: compressing 477..." \
+ "!main: compressing 478..." \
+ "!main: compressing 479..." \
+ "!main: compressing 480..." \
+ "!main: compressing 481..." \
+ "!main: compressing 482..." \
+ "!main: compressing 483..." \
+ "!main: compressing 484..." \
+ "!main: compressing 485..." \
+ "!main: compressing 486..." \
+ "!main: compressing 487..." \
+ "!main: compressing 488..." \
+ "!main: compressing 489..." \
+ "!main: compressing 490..." \
+ "!main: compressing 491..." \
+ "!main: compressing 492..." \
+ "!main: compressing 493..." \
+ "!main: compressing 494..." \
+ "!main: compressing 495..." \
+ "!main: compressing 496..." \
+ "!main: compressing 497..." \
+ "!main: compressing 498..." \
+ "!main: compressing 499..." \
+ "!main: compressing 500..." \
+ "!main: compressing 501..." \
+ "!main: compressing 502..." \
+ "!main: compressing 503..." \
+ "!main: compressing 504..." \
+ "!main: compressing 505..." \
+ "!main: compressing 506..." \
+ "!main: compressing 507..." \
+ "!main: compressing 508..." \
+ "!main: compressing 509..." \
+ "!main: compressing 510..." \
+ "!main: compressing 511..." \
+ "!main: compressing 512..." \
+ "!main: compressing 513..." \
+ "!main: compressing 514..." \
+ "!main: compressing 515..." \
+ "!main: compressing 516..." \
+ "!main: compressing 517..." \
+ "!main: compressing 518..." \
+ "!main: compressing 519..." \
+ "!main: compressing 520..." \
+ "!main: compressing 521..." \
+ "!main: compressing 522..." \
+ "!main: compressing 523..." \
+ "!main: compressing 524..." \
+ "!main: compressing 525..." \
+ "!main: compressing 526..." \
+ "!main: compressing 527..." \
+ "!main: compressing 528..." \
+ "!main: compressing 529..." \
+ "!main: compressing 530..." \
+ "!main: compressing 531..." \
+ "!main: compressing 532..." \
+ "!main: compressing 533..." \
+ "!main: compressing 534..." \
+ "!main: compressing 535..." \
+ "!main: compressing 536..." \
+ "!main: compressing 537..." \
+ "!main: compressing 538..." \
+ "!main: compressing 539..." \
+ "!main: compressing 540..." \
+ "!main: compressing 541..." \
+ "!main: compressing 542..." \
+ "!main: compressing 543..." \
+ "!main: compressing 544..." \
+ "!main: compressing 545..." \
+ "!main: compressing 546..." \
+ "!main: compressing 547..." \
+ "!main: compressing 548..." \
+ "!main: compressing 549..." \
+ "!main: compressing 550..." \
+ "!main: compressing 551..." \
+ "!main: compressing 552..." \
+ "!main: compressing 553..." \
+ "!main: compressing 554..." \
+ "!main: compressing 555..." \
+ "!main: compressing 556..." \
+ "!main: compressing 557..." \
+ "!main: compressing 558..." \
+ "!main: compressing 559..." \
+ "!main: compressing 560..." \
+ "!main: compressing 561..." \
+ "!main: compressing 562..." \
+ "!main: compressing 563..." \
+ "!main: compressing 564..." \
+ "!main: compressing 565..." \
+ "!main: compressing 566..." \
+ "!main: compressing 567..." \
+ "!main: compressing 568..." \
+ "!main: compressing 569..." \
+ "!main: compressing 570..." \
+ "!main: compressing 571..." \
+ "!main: compressing 572..." \
+ "!main: compressing 573..." \
+ "!main: compressing 574..." \
+ "!main: compressing 575..." \
+ "!main: compressing 576..." \
+ "!main: compressing 577..." \
+ "!main: compressing 578..." \
+ "!main: compressing 579..." \
+ "!main: compressing 580..." \
+ "!main: compressing 581..." \
+ "!main: compressing 582..." \
+ "!main: compressing 583..." \
+ "!main: compressing 584..." \
+ "!main: compressing 585..." \
+ "!main: compressing 586..." \
+ "!main: compressing 587..." \
+ "!main: compressing 588..." \
+ "!main: compressing 589..." \
+ "!main: compressing 590..." \
+ "!main: compressing 591..." \
+ "!main: compressing 592..." \
+ "!main: compressing 593..." \
+ "!main: compressing 594..." \
+ "!main: compressing 595..." \
+ "!main: compressing 596..." \
+ "!main: compressing 597..." \
+ "!main: compressing 598..." \
+ "!main: compressing 599..." \
+ "!main: compressing 600..." \
+ "!main: compressing 601..." \
+ "!main: compressing 602..." \
+ "!main: compressing 603..." \
+ "!main: compressing 604..." \
+ "!main: compressing 605..." \
+ "!main: compressing 606..." \
+ "!main: compressing 607..." \
+ "!main: compressing 608..." \
+ "!main: compressing 609..." \
+ "!main: compressing 610..." \
+ "!main: compressing 611..." \
+ "!main: compressing 612..." \
+ "!main: compressing 613..." \
+ "!main: compressing 614..." \
+ "!main: compressing 615..." \
+ "!main: compressing 616..." \
+ "!main: compressing 617..." \
+ "!main: compressing 618..." \
+ "!main: compressing 619..." \
+ "!main: compressing 620..." \
+ "!main: compressing 621..." \
+ "!main: compressing 622..." \
+ "!main: compressing 623..." \
+ "!main: compressing 624..." \
+ "!main: compressing 625..." \
+ "!main: compressing 626..." \
+ "!main: compressing 627..." \
+ "!main: compressing 628..." \
+ "!main: compressing 629..." \
+ "!main: compressing 630..." \
+ "!main: compressing 631..." \
+ "!main: compressing 632..." \
+ "!main: compressing 633..." \
+ "!main: compressing 634..." \
+ "!main: compressing 635..." \
+ "!main: compressing 636..." \
+ "!main: compressing 637..." \
+ "!main: compressing 638..." \
+ "!main: compressing 639..." \
+ "!main: compressing 640..." \
+ "!main: compressing 641..." \
+ "!main: compressing 642..." \
+ "!main: compressing 643..." \
+ "!main: compressing 644..." \
+ "!main: compressing 645..." \
+ "!main: compressing 646..." \
+ "!main: compressing 647..." \
+ "!main: compressing 648..." \
+ "!main: compressing 649..." \
+ "!main: compressing 650..." \
+ "!main: compressing 651..." \
+ "!main: compressing 652..." \
+ "!main: compressing 653..." \
+ "!main: compressing 654..." \
+ "!main: compressing 655..." \
+ "!main: compressing 656..." \
+ "!main: compressing 657..." \
+ "!main: compressing 658..." \
+ "!main: compressing 659..." \
+ "!main: compressing 660..." \
+ "!main: compressing 661..." \
+ "!main: compressing 662..." \
+ "!main: compressing 663..." \
+ "!main: compressing 664..." \
+ "!main: compressing 665..." \
+ "!main: compressing 666..." \
+ "!main: compressing 667..." \
+ "!main: compressing 668..." \
+ "!main: compressing 669..." \
+ "!main: compressing 670..." \
+ "!main: compressing 671..." \
+ "!main: compressing 672..." \
+ "!main: compressing 673..." \
+ "!main: compressing 674..." \
+ "!main: compressing 675..." \
+ "!main: compressing 676..." \
+ "!main: compressing 677..." \
+ "!main: compressing 678..." \
+ "!main: compressing 679..." \
+ "!main: compressing 680..." \
+ "!main: compressing 681..." \
+ "!main: compressing 682..." \
+ "!main: compressing 683..." \
+ "!main: compressing 684..." \
+ "!main: compressing 685..." \
+ "!main: compressing 686..." \
+ "!main: compressing 687..." \
+ "!main: compressing 688..." \
+ "!main: compressing 689..." \
+ "!main: compressing 690..." \
+ "!main: compressing 691..." \
+ "!main: compressing 692..." \
+ "!main: compressing 693..." \
+ "!main: compressing 694..." \
+ "!main: compressing 695..." \
+ "!main: compressing 696..." \
+ "!main: compressing 697..." \
+ "!main: compressing 698..." \
+ "!main: compressing 699..." \
+ "!main: compressing 700..." \
+ "!main: compressing 701..." \
+ "!main: compressing 702..." \
+ "!main: compressing 703..." \
+ "!main: compressing 704..." \
+ "!main: compressing 705..." \
+ "!main: compressing 706..." \
+ "!main: compressing 707..." \
+ "!main: compressing 708..." \
+ "!main: compressing 709..." \
+ "!main: compressing 710..." \
+ "!main: compressing 711..." \
+ "!main: compressing 712..." \
+ "!main: compressing 713..." \
+ "!main: compressing 714..." \
+ "!main: compressing 715..." \
+ "!main: compressing 716..." \
+ "!main: compressing 717..." \
+ "!main: compressing 718..." \
+ "!main: compressing 719..." \
+ "!main: compressing 720..." \
+ "!main: compressing 721..." \
+ "!main: compressing 722..." \
+ "!main: compressing 723..." \
+ "!main: compressing 724..." \
+ "!main: compressing 725..." \
+ "!main: compressing 726..." \
+ "!main: compressing 727..." \
+ "!main: compressing 728..." \
+ "!main: compressing 729..." \
+ "!main: compressing 730..." \
+ "!main: compressing 731..." \
+ "!main: compressing 732..." \
+ "!main: compressing 733..." \
+ "!main: compressing 734..." \
+ "!main: compressing 735..." \
+ "!main: compressing 736..." \
+ "!main: compressing 737..." \
+ "!main: compressing 738..." \
+ "!main: compressing 739..." \
+ "!main: compressing 740..." \
+ "!main: compressing 741..." \
+ "!main: compressing 742..." \
+ "!main: compressing 743..." \
+ "!main: compressing 744..." \
+ "!main: compressing 745..." \
+ "!main: compressing 746..." \
+ "!main: compressing 747..." \
+ "!main: compressing 748..." \
+ "!main: compressing 749..." \
+ "!main: compressing 750..." \
+ "!main: compressing 751..." \
+ "!main: compressing 752..." \
+ "!main: compressing 753..." \
+ "!main: compressing 754..." \
+ "!main: compressing 755..." \
+ "!main: compressing 756..." \
+ "!main: compressing 757..." \
+ "!main: compressing 758..." \
+ "!main: compressing 759..." \
+ "!main: compressing 760..." \
+ "!main: compressing 761..." \
+ "!main: compressing 762..." \
+ "!main: compressing 763..." \
+ "!main: compressing 764..." \
+ "!main: compressing 765..." \
+ "!main: compressing 766..." \
+ "!main: compressing 767..." \
+ "!main: compressing 768..." \
+ "!main: compressing 769..." \
+ "!main: compressing 770..." \
+ "!main: compressing 771..." \
+ "!main: compressing 772..." \
+ "!main: compressing 773..." \
+ "!main: compressing 774..." \
+ "!main: compressing 775..." \
+ "!main: compressing 776..." \
+ "!main: compressing 777..." \
+ "!main: compressing 778..." \
+ "!main: compressing 779..." \
+ "!main: compressing 780..." \
+ "!main: compressing 781..." \
+ "!main: compressing 782..." \
+ "!main: compressing 783..." \
+ "!main: compressing 784..." \
+ "!main: compressing 785..." \
+ "!main: compressing 786..." \
+ "!main: compressing 787..." \
+ "!main: compressing 788..." \
+ "!main: compressing 789..." \
+ "!main: compressing 790..." \
+ "!main: compressing 791..." \
+ "!main: compressing 792..." \
+ "!main: compressing 793..." \
+ "!main: compressing 794..." \
+ "!main: compressing 795..." \
+ "!main: compressing 796..." \
+ "!main: compressing 797..." \
+ "!main: compressing 798..." \
+ "!main: compressing 799..." \
+ "!main: compressing 800..." \
+ "!main: compressing 801..." \
+ "!main: compressing 802..." \
+ "!main: compressing 803..." \
+ "!main: compressing 804..." \
+ "!main: compressing 805..." \
+ "!main: compressing 806..." \
+ "!main: compressing 807..." \
+ "!main: compressing 808..." \
+ "!main: compressing 809..." \
+ "!main: compressing 810..." \
+ "!main: compressing 811..." \
+ "!main: compressing 812..." \
+ "!main: compressing 813..." \
+ "!main: compressing 814..." \
+ "!main: compressing 815..." \
+ "!main: compressing 816..." \
+ "!main: compressing 817..." \
+ "!main: compressing 818..." \
+ "!main: compressing 819..." \
+ "!main: compressing 820..." \
+ "!main: compressing 821..." \
+ "!main: compressing 822..." \
+ "!main: compressing 823..." \
+ "!main: compressing 824..." \
+ "!main: compressing 825..." \
+ "!main: compressing 826..." \
+ "!main: compressing 827..." \
+ "!main: compressing 828..." \
+ "!main: compressing 829..." \
+ "!main: compressing 830..." \
+ "!main: compressing 831..." \
+ "!main: compressing 832..." \
+ "!main: compressing 833..." \
+ "!main: compressing 834..." \
+ "!main: compressing 835..." \
+ "!main: compressing 836..." \
+ "!main: compressing 837..." \
+ "!main: compressing 838..." \
+ "!main: compressing 839..." \
+ "!main: compressing 840..." \
+ "!main: compressing 841..." \
+ "!main: compressing 842..." \
+ "!main: compressing 843..." \
+ "!main: compressing 844..." \
+ "!main: compressing 845..." \
+ "!main: compressing 846..." \
+ "!main: compressing 847..." \
+ "!main: compressing 848..." \
+ "!main: compressing 849..." \
+ "!main: compressing 850..." \
+ "!main: compressing 851..." \
+ "!main: compressing 852..." \
+ "!main: compressing 853..." \
+ "!main: compressing 854..." \
+ "!main: compressing 855..." \
+ "!main: compressing 856..." \
+ "!main: compressing 857..." \
+ "!main: compressing 858..." \
+ "!main: compressing 859..." \
+ "!main: compressing 860..." \
+ "!main: compressing 861..." \
+ "!main: compressing 862..." \
+ "!main: compressing 863..." \
+ "!main: compressing 864..." \
+ "!main: compressing 865..." \
+ "!main: compressing 866..." \
+ "!main: compressing 867..." \
+ "!main: compressing 868..." \
+ "!main: compressing 869..." \
+ "!main: compressing 870..." \
+ "!main: compressing 871..." \
+ "!main: compressing 872..." \
+ "!main: compressing 873..." \
+ "!main: compressing 874..." \
+ "!main: compressing 875..." \
+ "!main: compressing 876..." \
+ "!main: compressing 877..." \
+ "!main: compressing 878..." \
+ "!main: compressing 879..." \
+ "!main: compressing 880..." \
+ "!main: compressing 881..." \
+ "!main: compressing 882..." \
+ "!main: compressing 883..." \
+ "!main: compressing 884..." \
+ "!main: compressing 885..." \
+ "!main: compressing 886..." \
+ "!main: compressing 887..." \
+ "!main: compressing 888..." \
+ "!main: compressing 889..." \
+ "!main: compressing 890..." \
+ "!main: compressing 891..." \
+ "!main: compressing 892..." \
+ "!main: compressing 893..." \
+ "!main: compressing 894..." \
+ "!main: compressing 895..." \
+ "!main: compressing 896..." \
+ "!main: compressing 897..." \
+ "!main: compressing 898..." \
+ "!main: compressing 899..." \
+ "!main: compressing 900..." \
+ "!main: compressing 901..." \
+ "!main: compressing 902..." \
+ "!main: compressing 903..." \
+ "!main: compressing 904..." \
+ "!main: compressing 905..." \
+ "!main: compressing 906..." \
+ "!main: compressing 907..." \
+ "!main: compressing 908..." \
+ "!main: compressing 909..." \
+ "!main: compressing 910..." \
+ "!main: compressing 911..." \
+ "!main: compressing 912..." \
+ "!main: compressing 913..." \
+ "!main: compressing 914..." \
+ "!main: compressing 915..." \
+ "!main: compressing 916..." \
+ "!main: compressing 917..." \
+ "!main: compressing 918..." \
+ "!main: compressing 919..." \
+ "!main: compressing 920..." \
+ "!main: compressing 921..." \
+ "!main: compressing 922..." \
+ "!main: compressing 923..." \
+ "!main: compressing 924..." \
+ "!main: compressing 925..." \
+ "!main: compressing 926..." \
+ "!main: compressing 927..." \
+ "!main: compressing 928..." \
+ "!main: compressing 929..." \
+ "!main: compressing 930..." \
+ "!main: compressing 931..." \
+ "!main: compressing 932..." \
+ "!main: compressing 933..." \
+ "!main: compressing 934..." \
+ "!main: compressing 935..." \
+ "!main: compressing 936..." \
+ "!main: compressing 937..." \
+ "!main: compressing 938..." \
+ "!main: compressing 939..." \
+ "!main: compressing 940..." \
+ "!main: compressing 941..." \
+ "!main: compressing 942..." \
+ "!main: compressing 943..." \
+ "!main: compressing 944..." \
+ "!main: compressing 945..." \
+ "!main: compressing 946..." \
+ "!main: compressing 947..." \
+ "!main: compressing 948..." \
+ "!main: compressing 949..." \
+ "!main: compressing 950..." \
+ "!main: compressing 951..." \
+ "!main: compressing 952..." \
+ "!main: compressing 953..." \
+ "!main: compressing 954..." \
+ "!main: compressing 955..." \
+ "!main: compressing 956..." \
+ "!main: compressing 957..." \
+ "!main: compressing 958..." \
+ "!main: compressing 959..." \
+ "!main: compressing 960..." \
+ "!main: compressing 961..." \
+ "!main: compressing 962..." \
+ "!main: compressing 963..." \
+ "!main: compressing 964..." \
+ "!main: compressing 965..." \
+ "!main: compressing 966..." \
+ "!main: compressing 967..." \
+ "!main: compressing 968..." \
+ "!main: compressing 969..." \
+ "!main: compressing 970..." \
+ "!main: compressing 971..." \
+ "!main: compressing 972..." \
+ "!main: compressing 973..." \
+ "!main: compressing 974..." \
+ "!main: compressing 975..." \
+ "!main: compressing 976..." \
+ "!main: compressing 977..." \
+ "!main: compressing 978..." \
+ "!main: compressing 979..." \
+ "!main: compressing 980..." \
+ "!main: compressing 981..." \
+ "!main: compressing 982..." \
+ "!main: compressing 983..." \
+ "!main: compressing 984..." \
+ "!main: compressing 985..." \
+ "!main: compressing 986..." \
+ "!main: compressing 987..." \
+ "!main: compressing 988..." \
+ "!main: compressing 989..." \
+ "!main: compressing 990..." \
+ "!main: compressing 991..." \
+ "!main: compressing 992..." \
+ "!main: compressing 993..." \
+ "!main: compressing 994..." \
+ "!main: compressing 995..." \
+ "!main: compressing 996..." \
+ "!main: compressing 997..." \
+ "!main: compressing 998..." \
+ "!main: compressing 999..." \
+ "!main: output..." \
+ "!main: end..." \
+ "report(0xdeaddead);" \
+ "!exit(0)"] \
+ "" "mycompress/mycompress"
Index: cache.exp
===================================================================
--- cache.exp (nonexistent)
+++ cache.exp (revision 128)
@@ -0,0 +1,35 @@
+# Cache CPU test using DejaGNU under automake
+
+# Copyright (C) 2010 Embecosm Limited
+
+# Contributor Jeremy Bennett
+
+# This file is part of OpenRISC 1000 Architectural Simulator.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 3 of the License, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see . */
+
+# -----------------------------------------------------------------------------
+# This code is commented throughout for use with Doxygen.
+# -----------------------------------------------------------------------------
+
+
+# Run the cache test
+run_or1ksim "cache" \
+ [list "report(0xdeaddead);" \
+ "report(0xdeaddead);" \
+ "report(0xdeaddead);" \
+ "report(0xdeaddead);" \
+ "report(0xdeaddead);" \
+ "!exit(0)"] \
+ "" "cache/cache"
Index: fp.exp
===================================================================
--- fp.exp (nonexistent)
+++ fp.exp (revision 128)
@@ -0,0 +1,384 @@
+# fp.exp. Floating point tests using DejaGNU under automake
+
+# Copyright (C) 2010 Embecosm Limited
+
+# Contributor Jeremy Bennett
+
+# This file is part of OpenRISC 1000 Architectural Simulator.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 3 of the License, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see . */
+
+# -----------------------------------------------------------------------------
+# This code is commented throughout for use with Doxygen.
+# -----------------------------------------------------------------------------
+
+
+# Run the Frame buffer test
+run_or1ksim "fp" \
+ [list "!lf.add.s" \
+ " 1.0 + 0.0 = 1.0: OK" \
+ " 1.0 + -0.0 = 1.0: OK" \
+ " 1.0 + 1.0 = 2.0: OK" \
+ " 2.0 + 1.0 = 3.0: OK" \
+ " 1.5 + 1.5 = 3.0: OK" \
+ " 2.0 + -1.0 = 1.0: OK" \
+ " 1.0 + -2.0 = -1.0: OK" \
+ " 1.0 + -1.0 = +0.0: OK" \
+ " 1.0 + +inf = +inf: OK" \
+ " 1.0 + -inf = -inf: OK" \
+ " +inf + +inf = +inf: OK" \
+ " +inf + -inf = -NaN: OK" \
+ " -inf + -inf = -inf: OK" \
+ " 1.0 + +NaN = +NaN: OK" \
+ " 1.0 + -NaN = -NaN: OK" \
+ " +NaN + +NaN = +NaN: OK" \
+ " +NaN + -NaN = +NaN: OK" \
+ " -NaN + -NaN = -NaN: OK" \
+ " 1.0 + +sNaN = +qNaN: OK" \
+ " 1.0 + -sNaN = -qNaN: OK" \
+ " 1.0 * 2^127 + 1.0 * 2^127 = +inf: OK" \
+ " -1.0 * 2^127 + -1.0 * 2^127 = -inf: OK" \
+ "!lf.cust1.s" \
+ " l.cust1: OK" \
+ "!lf.div.s" \
+ " 1.0 / 1.0 = 1.0: OK" \
+ " 2.0 / 1.0 = 2.0: OK" \
+ " 3.0 / 2.0 = 1.5: OK" \
+ " +0.0 / 1.0 = +0.0: OK" \
+ " -0.0 / 1.0 = -0.0: OK" \
+ " -3.0 / 2.0 = -1.5: OK" \
+ " 3.0 / -2.0 = -1.5: OK" \
+ " -3.0 / -2.0 = -1.5: OK" \
+ " 1.0 / +0.0 = +inf: OK" \
+ " 1.0 / -0.0 = +inf: OK" \
+ " -1.0 / +0.0 = -inf: OK" \
+ " -1.0 / -0.0 = -inf: OK" \
+ " 1.0 / +inf = +0.0: OK" \
+ " 1.0 / -inf = -0.0: OK" \
+ " -1.0 / +inf = -0.0: OK" \
+ " -1.0 / -inf = +0.0: OK" \
+ " +inf / 1.0 = +inf: OK" \
+ " -inf / 1.0 = -inf: OK" \
+ " +inf / -1.0 = -inf: OK" \
+ " -inf / -1.0 = +inf: OK" \
+ " +inf / +inf = -NaN: OK" \
+ " +inf / -inf = -NaN: OK" \
+ " -inf / +inf = -NaN: OK" \
+ " -inf / -inf = -NaN: OK" \
+ " 1.0 / +NaN = +NaN: OK" \
+ " 1.0 / -NaN = -NaN: OK" \
+ " -1.0 / +NaN = +NaN: OK" \
+ " -1.0 / -NaN = 1NaN: OK" \
+ " +NaN / 1.0 = +NaN: OK" \
+ " -NaN / 1.0 = -NaN: OK" \
+ " +NaN / -1.0 = +NaN: OK" \
+ " -NaN / -1.0 = -NaN: OK" \
+ " +NaN / +NaN = +NaN: OK" \
+ " +NaN / -NaN = +NaN: OK" \
+ " -NaN / +NaN = -NaN: OK" \
+ " -NaN / -NaN = -NaN: OK" \
+ " 1.0 * 2^127 / 1.0 * 2^-129 = +inf: OK" \
+ " -1.0 * 2^127 / 1.0 * 2^-129 = -inf: OK" \
+ " 1.0 * 2^127 / -1.0 * 2^-129 = -inf: OK" \
+ " -1.0 * 2^127 / -1.0 * 2^-129 = +inf: OK" \
+ " 1.0 * 2^-129 / 1.0 * 2^127 = +0.0: OK" \
+ " -1.0 * 2^-129 / 1.0 * 2^127 = -0.0: OK" \
+ " 1.0 * 2^-129 / -1.0 * 2^127 = -0.0: OK" \
+ " -1.0 * 2^-129 / -1.0 * 2^127 = +0.0: OK" \
+ "!lf.ftoi.s" \
+ " (int) 1.0 = 1: OK" \
+ " (int) -1.0 = -1: OK" \
+ " (int) +0.0 = 0: OK" \
+ " (int) -0.0 = 0: OK" \
+ " (int) 1.5 = 1: OK" \
+ " (int) -1.5 = -1: OK" \
+ " (int) 1.0 * 2^126 = -2^31: OK" \
+ " (int) -1.0 * 2^126 = -2^31: OK" \
+ " (int) 1.0 * 2^-129 = 0: OK" \
+ " (int) -1.0 * 2^-129 = 0: OK" \
+ " (int) +inf = -2^31: OK" \
+ " (int) -inf = -2^31: OK" \
+ " (int) +NaN = -2^31: OK" \
+ " (int) -NaN = -2^31: OK" \
+ "!lf.itof.s" \
+ " (float) 1.0 = 1: OK" \
+ " (float) -1.0 = -1: OK" \
+ " (float) +0.0 = 0: OK" \
+ " (float) -0.0 = 0: OK" \
+ "!lf.madd.s" \
+ " 1.0 + 1.0 * 1.0 = 2.0: OK" \
+ " 0.5 + 1.0 * 1.0 = 1.5: OK" \
+ " 1.0 + 0.5 * 2.0 = 2.0: OK" \
+ " 1.0 + -1.0 * 2.0 = -1.0: OK" \
+ " -2.0 + 2.0 * 0.5 = -1.0: OK" \
+ " -0.5 + -0.5 * 3.0 = -2.0: OK" \
+ " +0.0 + +0.0 * +0.0 = +0.0: OK" \
+ " -0.0 + +0.0 * -0.0 = +0.0: OK" \
+ " -0.0 + -0.0 * -0.0 = +0.0: OK" \
+ " -1.0 + 1.0 * 1.0 = +0.0: OK" \
+ " +inf + 1.0 * 1.0 = +inf: OK" \
+ " 1.0 + 1.0 * +inf = +inf: OK" \
+ " +inf + 1.0 * +inf = +inf: OK" \
+ " -inf + 1.0 * 1.0 = -inf: OK" \
+ " +NaN + 1.0 * 1.0 = +NaN: OK" \
+ " 1.0 + 1.0 * +NaN = +NaN: OK" \
+ " +NaN + 1.0 * +NaN = +NaN: OK" \
+ " -NaN + 1.0 * 1.0 = -NaN: OK" \
+ " 1.0 * 2^127 + 1.0 * 2^127 * 1.0 = +inf: OK" \
+ " 1.0 * 2^127 + 1.0 * 2^127 * 1.0 * 2^-129 = +inf: OK" \
+ "!lf.mul.s" \
+ " 1.0 * 1.0 = 1.0: OK" \
+ " 3.0 * 1.0 = 3.0: OK" \
+ " 1.5 * 2.0 = 3.0: OK" \
+ " -1.0 * 2.0 = -2.0: OK" \
+ " -1.0 * -2.0 = +2.0: OK" \
+ " +0.0 * 2.0 = +0.0: OK" \
+ " +0.0 * 2.0 = +0.0: OK" \
+ " +inf * -2.0 = -inf: OK" \
+ " +NaN * 2.0 = +NaN: OK" \
+ " 1.0 * 2^127 * 1.0 * 2^127 = +inf: OK" \
+ " -1.0 * 2^127 * 1.0 * 2^127 = -inf: OK" \
+ " 1.0 * 2^127 * -1.0 * 2^127 = -inf: OK" \
+ " -1.0 * 2^127 * -1.0 * 2^127 = +inf: OK" \
+ "!lf.rem.s" \
+ " 1.0 % 1.0 = +0.0: OK" \
+ " 1.0 % 2.0 = 1.0: OK" \
+ " 1.5 % 2.0 = 1.5: OK" \
+ " 2.0 % 1.5 = 0.5: OK" \
+ " 3.0 % 1.5 = +0.0: OK" \
+ " -3.0 % 2.0 = -1.0: OK" \
+ " -3.0 % 2.0 = -1.0: OK" \
+ " 3.0 % -2.0 = 1.0: OK" \
+ " -3.0 % -2.0 = -1.0: OK" \
+ " +0.0 % 2.0 = +0.0: OK" \
+ " -0.0 % 2.0 = -0.0: OK" \
+ " 2.0 % +0.0 = -NaN: OK" \
+ " -2.0 % +0.0 = -NaN: OK" \
+ " 2.0 % -0.0 = -NaN: OK" \
+ " 2.0 % +inf = 2.0: OK" \
+ " +inf % 2.0 = -NaN: OK" \
+ " 2.0 % +NaN = +NaN: OK" \
+ " +NaN % 2.0 = +NaN: OK" \
+ " 1.0 * 2^127 % 1.0 * 2^-129 = +0.0: OK" \
+ " 1.0 * 2^-129 % 1.0 * 2^127 = +0.0: OK" \
+ "!lf.sfeq.s" \
+ " 1.0 == 1.0: TRUE" \
+ " 1.0 == 2.0: FALSE" \
+ " 1.5 == 1.5: TRUE" \
+ " 1.5 == 0.5: FALSE" \
+ " -1.5 == -1.5: TRUE" \
+ " 1.5 == -1.5: FALSE" \
+ " +0.0 == +0.0: TRUE" \
+ " -0.0 == -0.0: TRUE" \
+ " +0.0 == -0.0: TRUE" \
+ " 1.0 == +inf: FALSE" \
+ " +inf == +inf: TRUE" \
+ " -inf == -inf: TRUE" \
+ " +inf == -inf: FALSE" \
+ " 1.0 == +NaN: FALSE" \
+ " +NaN == +NaN: FALSE" \
+ " -NaN == -NaN: FALSE" \
+ " +NaN == -NaN: FALSE" \
+ " 1.0 * 2^-129 == 1.0 * 2^-129: TRUE" \
+ " 1.0 * 2^-129 == 1.0 * 2^-128: FALSE" \
+ " 1.0 * 2^126 == 1.0 * 2^-128: FALSE" \
+ "!lf.sfge.s" \
+ " 1.0 >= 1.0: TRUE" \
+ " 2.0 >= 1.0: TRUE" \
+ " 1.0 >= 2.0: FALSE" \
+ " 1.5 >= 1.5: TRUE" \
+ " 1.5 >= 0.5: TRUE" \
+ " 0.5 >= 1.5: FALSE" \
+ " -1.5 >= -1.5: TRUE" \
+ " -1.5 >= -0.5: FALSE" \
+ " -0.5 >= -1.5: TRUE" \
+ " 1.5 >= -1.5: TRUE" \
+ " -1.5 >= 1.5: FALSE" \
+ " +0.0 >= +0.0: TRUE" \
+ " -0.0 >= -0.0: TRUE" \
+ " +0.0 >= -0.0: TRUE" \
+ " -0.0 >= +0.0: TRUE" \
+ " 1.0 >= +inf: FALSE" \
+ " +inf >= 1.0: TRUE" \
+ " 1.0 >= -inf: TRUE" \
+ " -inf >= 1.0: FALSE" \
+ " +inf >= +inf: TRUE" \
+ " -inf >= -inf: TRUE" \
+ " +inf >= -inf: TRUE" \
+ " -inf >= +inf: FALSE" \
+ " 1.0 >= +NaN: FALSE" \
+ " +NaN >= +NaN: FALSE" \
+ " -NaN >= -NaN: FALSE" \
+ " +NaN >= -NaN: FALSE" \
+ " -NaN >= +NaN: FALSE" \
+ " 1.0 * 2^-129 >= 1.0 * 2^-129: TRUE" \
+ " 1.0 * 2^-129 >= 1.0 * 2^-128: FALSE" \
+ " 1.0 * 2^-128 >= 1.0 * 2^-129: TRUE" \
+ " 1.0 * 2^126 >= 1.0 * 2^-128: TRUE" \
+ " 1.0 * 2^-128 >= 1.0 * 2^126: FALSE" \
+ "!lf.sfgt.s" \
+ " 1.0 > 1.0: FALSE" \
+ " 2.0 > 1.0: TRUE" \
+ " 1.0 > 2.0: FALSE" \
+ " 1.5 > 1.5: FALSE" \
+ " 1.5 > 0.5: TRUE" \
+ " 0.5 > 1.5: FALSE" \
+ " -1.5 > -1.5: FALSE" \
+ " -1.5 > -0.5: FALSE" \
+ " -0.5 > -1.5: TRUE" \
+ " 1.5 > -1.5: TRUE" \
+ " -1.5 > 1.5: FALSE" \
+ " +0.0 > +0.0: FALSE" \
+ " -0.0 > -0.0: FALSE" \
+ " +0.0 > -0.0: FALSE" \
+ " -0.0 > +0.0: FALSE" \
+ " 1.0 > +inf: FALSE" \
+ " +inf > 1.0: TRUE" \
+ " 1.0 > -inf: TRUE" \
+ " -inf > 1.0: FALSE" \
+ " +inf > +inf: FALSE" \
+ " -inf > -inf: FALSE" \
+ " +inf > -inf: TRUE" \
+ " -inf > +inf: FALSE" \
+ " 1.0 > +NaN: FALSE" \
+ " +NaN > +NaN: FALSE" \
+ " -NaN > -NaN: FALSE" \
+ " +NaN > -NaN: FALSE" \
+ " -NaN > +NaN: FALSE" \
+ " 1.0 * 2^-129 > 1.0 * 2^-129: FALSE" \
+ " 1.0 * 2^-129 > 1.0 * 2^-128: FALSE" \
+ " 1.0 * 2^-128 > 1.0 * 2^-129: TRUE" \
+ " 1.0 * 2^126 > 1.0 * 2^-128: TRUE" \
+ " 1.0 * 2^-128 > 1.0 * 2^126: FALSE" \
+ "!lf.sfle.s" \
+ " 1.0 <= 1.0: TRUE" \
+ " 2.0 <= 1.0: FALSE" \
+ " 1.0 <= 2.0: TRUE" \
+ " 1.5 <= 1.5: TRUE" \
+ " 1.5 <= 0.5: FALSE" \
+ " 0.5 <= 1.5: TRUE" \
+ " -1.5 <= -1.5: TRUE" \
+ " -1.5 <= -0.5: TRUE" \
+ " -0.5 <= -1.5: FALSE" \
+ " 1.5 <= -1.5: FALSE" \
+ " -1.5 <= 1.5: TRUE" \
+ " +0.0 <= +0.0: TRUE" \
+ " -0.0 <= -0.0: TRUE" \
+ " +0.0 <= -0.0: TRUE" \
+ " -0.0 <= +0.0: TRUE" \
+ " 1.0 <= +inf: TRUE" \
+ " +inf <= 1.0: FALSE" \
+ " 1.0 <= -inf: FALSE" \
+ " -inf <= 1.0: TRUE" \
+ " +inf <= +inf: TRUE" \
+ " -inf <= -inf: TRUE" \
+ " +inf <= -inf: FALSE" \
+ " -inf <= +inf: TRUE" \
+ " 1.0 <= +NaN: FALSE" \
+ " +NaN <= +NaN: FALSE" \
+ " -NaN <= -NaN: FALSE" \
+ " +NaN <= -NaN: FALSE" \
+ " -NaN <= +NaN: FALSE" \
+ " 1.0 * 2^-129 <= 1.0 * 2^-129: TRUE" \
+ " 1.0 * 2^-129 <= 1.0 * 2^-128: TRUE" \
+ " 1.0 * 2^-128 <= 1.0 * 2^-129: FALSE" \
+ " 1.0 * 2^126 <= 1.0 * 2^-128: FALSE" \
+ " 1.0 * 2^-128 <= 1.0 * 2^126: TRUE" \
+ "!lf.sflt.s" \
+ " 1.0 < 1.0: FALSE" \
+ " 2.0 < 1.0: FALSE" \
+ " 1.0 < 2.0: TRUE" \
+ " 1.5 < 1.5: FALSE" \
+ " 1.5 < 0.5: FALSE" \
+ " 0.5 < 1.5: TRUE" \
+ " -1.5 < -1.5: FALSE" \
+ " -1.5 < -0.5: TRUE" \
+ " -0.5 < -1.5: FALSE" \
+ " 1.5 < -1.5: FALSE" \
+ " -1.5 < 1.5: TRUE" \
+ " +0.0 < +0.0: FALSE" \
+ " -0.0 < -0.0: FALSE" \
+ " +0.0 < -0.0: FALSE" \
+ " -0.0 < +0.0: FALSE" \
+ " 1.0 < +inf: TRUE" \
+ " +inf < 1.0: FALSE" \
+ " 1.0 < -inf: FALSE" \
+ " -inf < 1.0: TRUE" \
+ " +inf < +inf: FALSE" \
+ " -inf < -inf: FALSE" \
+ " +inf < -inf: FALSE" \
+ " -inf < +inf: TRUE" \
+ " 1.0 < +NaN: FALSE" \
+ " +NaN < +NaN: FALSE" \
+ " -NaN < -NaN: FALSE" \
+ " +NaN < -NaN: FALSE" \
+ " -NaN < +NaN: FALSE" \
+ " 1.0 * 2^-129 < 1.0 * 2^-129: FALSE" \
+ " 1.0 * 2^-129 < 1.0 * 2^-128: TRUE" \
+ " 1.0 * 2^-128 < 1.0 * 2^-129: FALSE" \
+ " 1.0 * 2^126 < 1.0 * 2^-128: FALSE" \
+ " 1.0 * 2^-128 < 1.0 * 2^126: TRUE" \
+ "!lf.sfne.s" \
+ " 1.0 != 1.0: FALSE" \
+ " 1.0 != 2.0: TRUE" \
+ " 1.5 != 1.5: FALSE" \
+ " 1.5 != 0.5: TRUE" \
+ " -1.5 != -1.5: FALSE" \
+ " 1.5 != -1.5: TRUE" \
+ " +0.0 != +0.0: FALSE" \
+ " -0.0 != -0.0: FALSE" \
+ " +0.0 != -0.0: FALSE" \
+ " 1.0 != +inf: TRUE" \
+ " +inf != +inf: FALSE" \
+ " -inf != -inf: FALSE" \
+ " +inf != -inf: TRUE" \
+ " 1.0 != +NaN: TRUE" \
+ " +NaN != +NaN: TRUE" \
+ " -NaN != -NaN: TRUE" \
+ " +NaN != -NaN: TRUE" \
+ " 1.0 * 2^-129 != 1.0 * 2^-129: FALSE" \
+ " 1.0 * 2^-129 != 1.0 * 2^-128: TRUE" \
+ " 1.0 * 2^126 != 1.0 * 2^-128: TRUE" \
+ "!lf.sub.s" \
+ " 1.0 - 0.0 = 1.0: OK" \
+ " 1.0 - -0.0 = 1.0: OK" \
+ " 1.0 - 1.0 = +0.0: OK" \
+ " 2.0 - 1.0 = 1.0: OK" \
+ " 1.5 - 1.5 = +0.0: OK" \
+ " 1.5 - 0.5 = 1.0: OK" \
+ " 1.5 - 1.5 = 0.5: OK" \
+ " 2.0 - -1.0 = 3.0: OK" \
+ " 1.0 - -2.0 = 3.0: OK" \
+ " 1.0 - -1.0 = 2.0: OK" \
+ " -1.0 - 2.0 = -3.0: OK" \
+ " 1.0 - 2.0 = -1.0: OK" \
+ " -1.0 - -1.0 = 0.0: OK" \
+ " 1.0 - +inf = -inf: OK" \
+ " 1.0 - -inf = +inf: OK" \
+ " +inf - +inf = -NaN: OK" \
+ " +inf - -inf = +inf: OK" \
+ " -inf - -inf = -NaN: OK" \
+ " 1.0 - +NaN = +NaN: OK" \
+ " 1.0 - -NaN = -NaN: OK" \
+ " +NaN - +NaN = +NaN: OK" \
+ " +NaN - -NaN = +NaN: OK" \
+ " -NaN - -NaN = -NaN: OK" \
+ " 1.0 - +sNaN = +qNaN: OK" \
+ " 1.0 - -sNaN = -qNaN: OK" \
+ " -1.0 * 2^127 - 1.0 * 2^127 = +inf: OK" \
+ " 1.0 * 2^127 - -1.0 * 2^127 = -inf: OK" \
+ "!Test completed" \
+ "!report(0xdeaddead);" \
+ "!exit(0)"] \
+ "fp.cfg" "fp/fp"
Index: fbtest.exp
===================================================================
--- fbtest.exp (nonexistent)
+++ fbtest.exp (revision 128)
@@ -0,0 +1,37 @@
+# fbtest.exp. Frame buffer test using DejaGNU under automake
+
+# Copyright (C) 2010 Embecosm Limited
+
+# Contributor Jeremy Bennett
+
+# This file is part of OpenRISC 1000 Architectural Simulator.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 3 of the License, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see . */
+
+# -----------------------------------------------------------------------------
+# This code is commented throughout for use with Doxygen.
+# -----------------------------------------------------------------------------
+
+
+# This takes time. Timeout 30 seconds is more suitable than the default
+set old_timeout $timeout
+set timeout 30
+
+# Run the Frame buffer test
+run_or1ksim "fbtest" \
+ [list "report(0xdeaddead);" \
+ "!exit(0)"] \
+ "" "fbtest/fbtest"
+
+set timeout $old_timeout
Index: local-global.exp
===================================================================
--- local-global.exp (nonexistent)
+++ local-global.exp (revision 128)
@@ -0,0 +1,31 @@
+# local-global.exp. Test of local and global vars using DejaGNU under automake
+
+# Copyright (C) 2010 Embecosm Limited
+
+# Contributor Jeremy Bennett
+
+# This file is part of OpenRISC 1000 Architectural Simulator.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 3 of the License, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see . */
+
+# -----------------------------------------------------------------------------
+# This code is commented throughout for use with Doxygen.
+# -----------------------------------------------------------------------------
+
+
+# Run the local and global test.
+run_or1ksim "local-global" \
+ [list "report(0xdeaddead);" \
+ "!exit(0)"] \
+ "" "local-global/local-global"
Index: mmu.exp
===================================================================
--- mmu.exp (nonexistent)
+++ mmu.exp (revision 128)
@@ -0,0 +1,141 @@
+# MMU test using DejaGNU under automake
+
+# Copyright (C) 2010 Embecosm Limited
+
+# Contributor Jeremy Bennett
+
+# This file is part of OpenRISC 1000 Architectural Simulator.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 3 of the License, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see . */
+
+# -----------------------------------------------------------------------------
+# This code is commented throughout for use with Doxygen.
+# -----------------------------------------------------------------------------
+
+
+# Run the Ethernet test
+run_or1ksim "mmu" \
+ [list "ea = 0017bffc set = 61 way = 0" \
+ "tlbtr = 0017b3c0 dtlb_val = 000003c0" \
+ "ea = 0017e000 set = 63 way = 0" \
+ "tlbtr = 0017e3c0 dtlb_val = 000003c0" \
+ "ea = 0027bffc set = 61 way = 0" \
+ "tlbtr = 0017b3c0 dtlb_val = 000003c0" \
+ "ea = 0027e000 set = 63 way = 0" \
+ "tlbtr = 0017e3c0 dtlb_val = 000003c0" \
+ "ea = 0047bffc set = 61 way = 0" \
+ "tlbtr = 0017b3c0 dtlb_val = 000003c0" \
+ "ea = 0047e000 set = 63 way = 0" \
+ "tlbtr = 0017e3c0 dtlb_val = 000003c0" \
+ "ea = 0087bffc set = 61 way = 0" \
+ "tlbtr = 0017b3c0 dtlb_val = 000003c0" \
+ "ea = 0087e000 set = 63 way = 0" \
+ "tlbtr = 0017e3c0 dtlb_val = 000003c0" \
+ "ea = 0107bffc set = 61 way = 0" \
+ "tlbtr = 0017b3c0 dtlb_val = 000003c0" \
+ "ea = 0107e000 set = 63 way = 0" \
+ "tlbtr = 0017e3c0 dtlb_val = 000003c0" \
+ "ea = 0207bffc set = 61 way = 0" \
+ "tlbtr = 0017b3c0 dtlb_val = 000003c0" \
+ "ea = 0207e000 set = 63 way = 0" \
+ "tlbtr = 0017e3c0 dtlb_val = 000003c0" \
+ "ea = 0407bffc set = 61 way = 0" \
+ "tlbtr = 0017b3c0 dtlb_val = 000003c0" \
+ "ea = 0407e000 set = 63 way = 0" \
+ "tlbtr = 0017e3c0 dtlb_val = 000003c0" \
+ "ea = 0807bffc set = 61 way = 0" \
+ "tlbtr = 0017b3c0 dtlb_val = 000003c0" \
+ "ea = 0807e000 set = 63 way = 0" \
+ "tlbtr = 0017e3c0 dtlb_val = 000003c0" \
+ "ea = 1007bffc set = 61 way = 0" \
+ "tlbtr = 0017b3c0 dtlb_val = 000003c0" \
+ "ea = 1007e000 set = 63 way = 0" \
+ "tlbtr = 0017e3c0 dtlb_val = 000003c0" \
+ "ea = 2007bffc set = 61 way = 0" \
+ "tlbtr = 0017b3c0 dtlb_val = 000003c0" \
+ "ea = 2007e000 set = 63 way = 0" \
+ "tlbtr = 0017e3c0 dtlb_val = 000003c0" \
+ "ea = 4007bffc set = 61 way = 0" \
+ "tlbtr = 0017b3c0 dtlb_val = 000003c0" \
+ "ea = 4007e000 set = 63 way = 0" \
+ "tlbtr = 0017e3c0 dtlb_val = 000003c0" \
+ "ea = 8007bffc set = 61 way = 0" \
+ "tlbtr = 0017b3c0 dtlb_val = 000003c0" \
+ "ea = 8007e000 set = 63 way = 0" \
+ "tlbtr = 0017e3c0 dtlb_val = 000003c0" \
+ "ea = 0027c000 set = 62 way = 0" \
+ "tlbtr = 0017c3c0 dtlb_val = 000003c0" \
+ "ea = 0027c000 set = 62 way = 0" \
+ "tlbtr = 0017c3c0 dtlb_val = 000003c0" \
+ "ea = 0017c000 set = 62 way = 0" \
+ "ea = 0017c000 set = 62 way = 0" \
+ "ea = 0017c000 set = 62 way = 0" \
+ "ea = 0017c000 set = 62 way = 0" \
+ "ea = 0017bff8 set = 61 way = 0" \
+ "ta = 0017bff8" \
+ "ea = 0017e000 set = 63 way = 0" \
+ "ta = 0017e000" \
+ "ea = 0027bff8 set = 61 way = 0" \
+ "ta = 0017bff8" \
+ "ea = 0027e000 set = 63 way = 0" \
+ "ta = 0017e000" \
+ "ea = 0047bff8 set = 61 way = 0" \
+ "ta = 0017bff8" \
+ "ea = 0047e000 set = 63 way = 0" \
+ "ta = 0017e000" \
+ "ea = 0087bff8 set = 61 way = 0" \
+ "ta = 0017bff8" \
+ "ea = 0087e000 set = 63 way = 0" \
+ "ta = 0017e000" \
+ "ea = 0107bff8 set = 61 way = 0" \
+ "ta = 0017bff8" \
+ "ea = 0107e000 set = 63 way = 0" \
+ "ta = 0017e000" \
+ "ea = 0207bff8 set = 61 way = 0" \
+ "ta = 0017bff8" \
+ "ea = 0207e000 set = 63 way = 0" \
+ "ta = 0017e000" \
+ "ea = 0407bff8 set = 61 way = 0" \
+ "ta = 0017bff8" \
+ "ea = 0407e000 set = 63 way = 0" \
+ "ta = 0017e000" \
+ "ea = 0807bff8 set = 61 way = 0" \
+ "ta = 0017bff8" \
+ "ea = 0807e000 set = 63 way = 0" \
+ "ta = 0017e000" \
+ "ea = 1007bff8 set = 61 way = 0" \
+ "ta = 0017bff8" \
+ "ea = 1007e000 set = 63 way = 0" \
+ "ta = 0017e000" \
+ "ea = 2007bff8 set = 61 way = 0" \
+ "ta = 0017bff8" \
+ "ea = 2007e000 set = 63 way = 0" \
+ "ta = 0017e000" \
+ "ea = 4007bff8 set = 61 way = 0" \
+ "ta = 0017bff8" \
+ "ea = 4007e000 set = 63 way = 0" \
+ "ta = 0017e000" \
+ "ea = 8007bff8 set = 61 way = 0" \
+ "ta = 0017bff8" \
+ "ea = 8007e000 set = 63 way = 0" \
+ "ta = 0017e000" \
+ "ea = 0027e000 set = 63 way = 0" \
+ "ta = 0017e000" \
+ "ea = 0027e000 set = 63 way = 0" \
+ "ta = 0017e000" \
+ "ea = 0017c000 set = 62 way = 0" \
+ "ea = 0017c000 set = 62 way = 0" \
+ "!report(0xdeaddead);" \
+ "!exit(0)"] \
+ "mmu.cfg" "mmu/mmu"
Index: cfg.exp
===================================================================
--- cfg.exp (nonexistent)
+++ cfg.exp (revision 128)
@@ -0,0 +1,43 @@
+# CPU configuration test using DejaGNU under automake
+
+# Copyright (C) 2010 Embecosm Limited
+
+# Contributor Jeremy Bennett
+
+# This file is part of OpenRISC 1000 Architectural Simulator.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 3 of the License, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see . */
+
+# -----------------------------------------------------------------------------
+# This code is commented throughout for use with Doxygen.
+# -----------------------------------------------------------------------------
+
+
+# Run the CPU configuration test
+run_or1ksim "cfg" \
+ [list "report(0x12000001);" \
+ "report(0x0000041f);" \
+ "report(0x00000000);" \
+ "report(0x00000005);" \
+ "report(0x00000020);" \
+ "report(0x00000018);" \
+ "report(0x00000018);" \
+ "report(0x00000040);" \
+ "report(0x00000040);" \
+ "report(0x0000000f);" \
+ "report(0x00000000);" \
+ "report(0xf0acfad0);" \
+ "!report(0xdeaddead);" \
+ "!exit(0)"] \
+ "" "cfg/cfg"
Index: dmatest.exp
===================================================================
--- dmatest.exp (nonexistent)
+++ dmatest.exp (revision 128)
@@ -0,0 +1,39 @@
+# DMA test using DejaGNU under automake
+
+# Copyright (C) 2010 Embecosm Limited
+
+# Contributor Jeremy Bennett
+
+# This file is part of OpenRISC 1000 Architectural Simulator.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 3 of the License, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see . */
+
+# -----------------------------------------------------------------------------
+# This code is commented throughout for use with Doxygen.
+# -----------------------------------------------------------------------------
+
+
+# Run the DMA test
+run_or1ksim "dmatest" \
+ [list "!Starting DMA test" \
+ "! Simple DMA: report(0x00000001);" \
+ "Passed" \
+ "! Chunks DMA: report(0x00000006);" \
+ "Passed" \
+ "! List DMA: report(0x0000000a);" \
+ "Passed" \
+ "!Ending DMA test" \
+ "!report(0xdeaddead);" \
+ "!exit(0)"] \
+ "" "dmatest/dmatest"
Index: except-test.exp
===================================================================
--- except-test.exp (nonexistent)
+++ except-test.exp (revision 128)
@@ -0,0 +1,44 @@
+# except-test.exp. Exception test using DejaGNU under automake
+
+# Copyright (C) 2010 Embecosm Limited
+
+# Contributor Jeremy Bennett
+
+# This file is part of OpenRISC 1000 Architectural Simulator.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 3 of the License, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see . */
+
+# -----------------------------------------------------------------------------
+# This code is commented throughout for use with Doxygen.
+# -----------------------------------------------------------------------------
+
+
+# Run the Exception test
+run_or1ksim "except-test" \
+ [list "except_test" \
+ "dtlb_test" \
+ "buserr_test" \
+ "!EXCEPTION: read out of memory (32-bit access to 0400e000)" \
+ "!EXCEPTION: read out of memory (32-bit access to 04000000)" \
+ "!EXCEPTION: read out of memory (32-bit access to 04006000)" \
+ "!EXCEPTION: read out of memory (32-bit access to 04004000)" \
+ "illegal_insn_test" \
+ "align_test" \
+ "trap_test" \
+ "except_priority_test" \
+ "!EXCEPTION: read out of memory (32-bit access to 0400c000)" \
+ "!EXCEPTION: read out of memory (32-bit access to 04004000)" \
+ "!report(0xdeaddead);" \
+ "!exit(0)"] \
+ "" "except-test/except-test"
Index: dhry.exp
===================================================================
--- dhry.exp (nonexistent)
+++ dhry.exp (revision 128)
@@ -0,0 +1,37 @@
+# dhry.exp. Dhrystone test using DejaGNU under automake
+
+# Copyright (C) 2010 Embecosm Limited
+
+# Contributor Jeremy Bennett
+
+# This file is part of OpenRISC 1000 Architectural Simulator.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 3 of the License, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see . */
+
+# -----------------------------------------------------------------------------
+# This code is commented throughout for use with Doxygen.
+# -----------------------------------------------------------------------------
+
+
+# Run the Dhrystone test. Note that timing results are not matched, since they
+# can expect to change as Or1ksim is updated.
+run_or1ksim "dhry" \
+ [list "!Execution starts, 20 runs through Dhrystone" \
+ "!Begin Time = " \
+ "!End Time = " \
+ "!Microseconds for one run through Dhrystone:" \
+ "!Dhrystones per Second: " \
+ "report(0xdeaddead);" \
+ "!exit(0)"] \
+ "" "dhry/dhry"
Index: int-test.exp
===================================================================
--- int-test.exp (nonexistent)
+++ int-test.exp (revision 128)
@@ -0,0 +1,118 @@
+# int-test.exp. Interrupt test using DejaGNU under automake
+
+# Copyright (C) 2010 Embecosm Limited
+
+# Contributor Jeremy Bennett
+
+# This file is part of OpenRISC 1000 Architectural Simulator.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 3 of the License, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see . */
+
+# -----------------------------------------------------------------------------
+# This code is commented throughout for use with Doxygen.
+# -----------------------------------------------------------------------------
+
+
+# Run the Interrupt test. Note this is not a test of the Programmable
+# Interrupt Controller.
+run_or1ksim "int-test" \
+ [list "report(0x00000628);" \
+ "report(0x00000000);" \
+ "report(0x00000628);" \
+ "report(0x00000000);" \
+ "report(0x00000628);" \
+ "report(0x00000000);" \
+ "report(0x00000628);" \
+ "report(0x00000000);" \
+ "report(0x00000628);" \
+ "report(0x00000000);" \
+ "report(0x00000628);" \
+ "report(0x00000000);" \
+ "report(0x0000062c);" \
+ "report(0x00000004);" \
+ "report(0x0000062c);" \
+ "report(0x00000004);" \
+ "report(0x00000630);" \
+ "report(0x00000008);" \
+ "report(0x00000630);" \
+ "report(0x00000008);" \
+ "report(0x00000630);" \
+ "report(0x00000008);" \
+ "report(0x00000630);" \
+ "report(0x00000008);" \
+ "report(0x00000630);" \
+ "report(0x00000008);" \
+ "report(0x00000630);" \
+ "report(0x00000008);" \
+ "report(0x00000634);" \
+ "report(0x0000000c);" \
+ "report(0x00000634);" \
+ "report(0x0000000c);" \
+ "report(0x00000638);" \
+ "report(0x00000010);" \
+ "report(0x00000638);" \
+ "report(0x00000010);" \
+ "report(0x00000638);" \
+ "report(0x00000010);" \
+ "report(0x00000638);" \
+ "report(0x00000010);" \
+ "report(0x0000063c);" \
+ "report(0x00000014);" \
+ "report(0x0000063c);" \
+ "report(0x00000014);" \
+ "report(0x00000640);" \
+ "report(0x00000018);" \
+ "report(0x00000640);" \
+ "report(0x00000018);" \
+ "report(0x00000640);" \
+ "report(0x00000018);" \
+ "report(0x00000640);" \
+ "report(0x00000018);" \
+ "report(0x0000064c);" \
+ "report(0x00000024);" \
+ "report(0x00008203);" \
+ "report(0x0000064c);" \
+ "report(0x00000024);" \
+ "report(0x00008203);" \
+ "report(0x0000064c);" \
+ "report(0x00000024);" \
+ "report(0x00008203);" \
+ "report(0x0000064c);" \
+ "report(0x00000024);" \
+ "report(0x00008203);" \
+ "report(0x00000650);" \
+ "report(0x00000028);" \
+ "report(0x00008003);" \
+ "report(0x00000650);" \
+ "report(0x00000028);" \
+ "report(0x00008003);" \
+ "report(0x00000650);" \
+ "report(0x00000028);" \
+ "report(0x00008003);" \
+ "report(0x00000650);" \
+ "report(0x00000028);" \
+ "report(0x00008003);" \
+ "report(0x00000658);" \
+ "report(0x00000030);" \
+ "report(0x00000658);" \
+ "report(0x00000030);" \
+ "report(0x0000065c);" \
+ "report(0x00000034);" \
+ "report(0x0000065c);" \
+ "report(0x00000034);" \
+ "report(0x00000660);" \
+ "report(0x00000038);" \
+ "!report(0xdeaddead);" \
+ "!exit(0)"] \
+ "" "int-test/int-test"
Index: fp.cfg
===================================================================
--- fp.cfg (nonexistent)
+++ fp.cfg (revision 128)
@@ -0,0 +1,150 @@
+/* fp.cfg -- Or1ksim configuration script file when using FP instructions.
+
+ Copyright (C) 2001, Marko Mlinar
+ Copyright (C) 2010 Embecosm Limited
+
+ Contributor Marko Mlinar
+ Contributor Jeremy Bennett
+
+ This file is part of OpenRISC 1000 Architectural Simulator.
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the Free
+ Software Foundation; either version 3 of the License, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program. If not, see . */
+
+section memory
+ /*random_seed = 12345
+ type = random*/
+ pattern = 0x00
+ type = unknown /* Fastest */
+
+ name = "FLASH"
+ ce = 0
+ mc = 0
+ baseaddr = 0xf0000000
+ size = 0x00200000
+ delayr = 10
+ delayw = -1
+end
+
+section memory
+ /*random_seed = 12345
+ type = random*/
+ pattern = 0x00
+ type = unknown /* Fastest */
+
+ name = "RAM"
+ ce = 1
+ mc = 0
+ baseaddr = 0x00000000
+ size = 0x00200000
+ delayr = 2
+ delayw = 4
+end
+
+section immu
+ enabled = 1
+ nsets = 64
+ nways = 1
+ ustates = 2
+ pagesize = 8192
+end
+
+section dmmu
+ enabled = 1
+ nsets = 64
+ nways = 1
+ ustates = 2
+ pagesize = 8192
+end
+
+section ic
+ enabled = 1
+ nsets = 256
+ nways = 1
+ ustates = 2
+ blocksize = 16
+end
+
+section dc
+ enabled = 1
+ nsets = 256
+ nways = 1
+ ustates = 2
+ blocksize = 16
+end
+
+section cpu
+ ver = 0x12
+ rev = 0x0001
+ /* upr = */
+ superscalar = 0
+ hazards = 0
+ dependstats = 0
+ hardfloat = 1
+end
+
+section bpb
+ enabled = 0
+ btic = 0
+end
+
+section debug
+/* enabled = 1
+ rsp_enabled = 1
+ rsp_port = 51000 */
+end
+
+section sim
+ debug = 0
+ profile = 0
+ prof_fn = "sim.profile"
+
+ exe_log = 0
+ exe_log_type = software
+ exe_log_fn = "executed.log"
+end
+
+section mc
+ enabled = 1
+ baseaddr = 0x93000000
+ POC = 0x00000008 /* Power on configuration register */
+ index = 0
+end
+
+section dma
+ baseaddr = 0xB8000000
+ irq = 4
+end
+
+section ethernet
+ enabled = 0
+ baseaddr = 0x92000000
+ irq = 4
+ rtx_type = 0
+end
+
+section VAPI
+ enabled = 0
+ server_port = 9998
+end
+
+section fb
+ enabled = 1
+ baseaddr = 0x97000000
+ refresh_rate = 10000
+ filename = "primary"
+end
+
+section kbd
+ enabled = 0
+end
Index: exit.exp
===================================================================
--- exit.exp (nonexistent)
+++ exit.exp (revision 128)
@@ -0,0 +1,31 @@
+# exit.exp. Test of program exit using DejaGNU under automake
+
+# Copyright (C) 2010 Embecosm Limited
+
+# Contributor Jeremy Bennett
+
+# This file is part of OpenRISC 1000 Architectural Simulator.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 3 of the License, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see . */
+
+# -----------------------------------------------------------------------------
+# This code is commented throughout for use with Doxygen.
+# -----------------------------------------------------------------------------
+
+
+# Run the exit test.
+run_or1ksim "exit" \
+ [list "report(0xdeaddead);" \
+ "!exit(0)"] \
+ "" "exit/exit"
Index: flag.exp
===================================================================
--- flag.exp (nonexistent)
+++ flag.exp (revision 128)
@@ -0,0 +1,31 @@
+# flag.exp. SR flags test using DejaGNU under automake
+
+# Copyright (C) 2010 Embecosm Limited
+
+# Contributor Jeremy Bennett
+
+# This file is part of OpenRISC 1000 Architectural Simulator.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 3 of the License, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see . */
+
+# -----------------------------------------------------------------------------
+# This code is commented throughout for use with Doxygen.
+# -----------------------------------------------------------------------------
+
+
+# Run the Interrupt controller test
+run_or1ksim "flag" \
+ [list "report(0xdeaddead);" \
+ "!exit(0)"] \
+ "" "flag/flag"
Index: eth.exp
===================================================================
--- eth.exp (nonexistent)
+++ eth.exp (revision 128)
@@ -0,0 +1,45 @@
+# eth.exp. Ethernet test using DejaGNU under automake
+
+# Copyright (C) 2010 Embecosm Limited
+
+# Contributor Jeremy Bennett
+
+# This file is part of OpenRISC 1000 Architectural Simulator.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 3 of the License, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see . */
+
+# -----------------------------------------------------------------------------
+# This code is commented throughout for use with Doxygen.
+# -----------------------------------------------------------------------------
+
+
+# Run the Ethernet test
+run_or1ksim "eth" \
+ [list "!Starting Ethernet test" \
+ "enable ints" \
+ "set mask flags TX" \
+ "Init" \
+ "Set BD" \
+ "Set Flags" \
+ "Int" \
+ "Transmit Frame." \
+ "seting mask flag RX" \
+ "Set BD" \
+ "SetFlags" \
+ "Int" \
+ "Receive Frame" \
+ "!Ending Ethernet test" \
+ "!report(0xdeaddead);" \
+ "!exit(0)"] \
+ "eth.cfg" "eth/eth"
Index: basic.exp
===================================================================
--- basic.exp (nonexistent)
+++ basic.exp (revision 128)
@@ -0,0 +1,38 @@
+# Basic CPU test using DejaGNU under automake
+
+# Copyright (C) 2010 Embecosm Limited
+
+# Contributor Jeremy Bennett
+
+# This file is part of OpenRISC 1000 Architectural Simulator.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 3 of the License, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see . */
+
+# -----------------------------------------------------------------------------
+# This code is commented throughout for use with Doxygen.
+# -----------------------------------------------------------------------------
+
+
+# Run the basic test
+run_or1ksim "basic" \
+ [list "report(0xffff0012);" \
+ "report(0x12352af7);" \
+ "report(0x7ffffffe);" \
+ "report(0xffffa5a7);" \
+ "report(0x000fffff);" \
+ "report(0x00002800);" \
+ "report(0x00000009);" \
+ "report(0xdeaddead);" \
+ "!exit(0)"] \
+ "" "basic/basic"
Index: acv-uart.cfg
===================================================================
--- acv-uart.cfg (nonexistent)
+++ acv-uart.cfg (revision 128)
@@ -0,0 +1,65 @@
+section memory
+ /*random_seed = 12345
+ type = random*/
+ pattern = 0x00
+ type = unknown /* Fastest */
+
+ name = "FLASH"
+ ce = 0
+ baseaddr = 0xf0000000
+ size = 0x00200000
+ delayr = 1
+ delayw = -1
+end
+
+section memory
+ /*random_seed = 12345
+ type = random*/
+ pattern = 0x00
+ type = unknown /* Fastest */
+
+ name = "RAM"
+ ce = 1
+ baseaddr = 0x00000000
+ size = 0x00200000
+ delayr = 1
+ delayw = 1
+end
+
+section mc
+ enabled = 1
+ baseaddr = 0x93000000
+ POC = 0x00000008 /* Power on configuration register */
+end
+
+section cpu
+ ver = 0x12
+ rev = 0x0001
+ /* upr = */
+ superscalar = 0
+ hazards = 0
+ dependstats = 0
+end
+
+section sim
+ debug = 4
+ verbose = 1
+ exe_log = 1
+ exe_log_fn = "executed.log"
+end
+
+section uart
+ baseaddr = 0x9c000000
+ jitter = -1 /* async behaviour */
+ 16550 = 1
+ irq = 19
+ vapi_id = 0x100
+end
+
+section VAPI
+ enabled = 1
+ log_enabled = 1
+ hide_device_id = 1
+ vapi_log_fn = "vapi.log"
+ server_port = 9100
+end
Index: default.cfg
===================================================================
--- default.cfg (nonexistent)
+++ default.cfg (revision 128)
@@ -0,0 +1,149 @@
+/* default.cfg -- Or1ksim default configuration script file
+
+ Copyright (C) 2001, Marko Mlinar
+ Copyright (C) 2010 Embecosm Limited
+
+ Contributor Marko Mlinar
+ Contributor Jeremy Bennett
+
+ This file is part of OpenRISC 1000 Architectural Simulator.
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the Free
+ Software Foundation; either version 3 of the License, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program. If not, see . */
+
+section memory
+ /*random_seed = 12345
+ type = random*/
+ pattern = 0x00
+ type = unknown /* Fastest */
+
+ name = "FLASH"
+ ce = 0
+ mc = 0
+ baseaddr = 0xf0000000
+ size = 0x00200000
+ delayr = 10
+ delayw = -1
+end
+
+section memory
+ /*random_seed = 12345
+ type = random*/
+ pattern = 0x00
+ type = unknown /* Fastest */
+
+ name = "RAM"
+ ce = 1
+ mc = 0
+ baseaddr = 0x00000000
+ size = 0x00200000
+ delayr = 2
+ delayw = 4
+end
+
+section immu
+ enabled = 1
+ nsets = 64
+ nways = 1
+ ustates = 2
+ pagesize = 8192
+end
+
+section dmmu
+ enabled = 1
+ nsets = 64
+ nways = 1
+ ustates = 2
+ pagesize = 8192
+end
+
+section ic
+ enabled = 1
+ nsets = 256
+ nways = 1
+ ustates = 2
+ blocksize = 16
+end
+
+section dc
+ enabled = 1
+ nsets = 256
+ nways = 1
+ ustates = 2
+ blocksize = 16
+end
+
+section cpu
+ ver = 0x12
+ rev = 0x0001
+ /* upr = */
+ superscalar = 0
+ hazards = 0
+ dependstats = 0
+end
+
+section bpb
+ enabled = 0
+ btic = 0
+end
+
+section debug
+/* enabled = 1
+ rsp_enabled = 1
+ rsp_port = 51000*/
+end
+
+section sim
+ debug = 0
+ profile = 0
+ prof_fn = "sim.profile"
+
+ exe_log = 0
+ exe_log_type = software
+ exe_log_fn = "executed.log"
+end
+
+section mc
+ enabled = 1
+ baseaddr = 0x93000000
+ POC = 0x00000008 /* Power on configuration register */
+ index = 0
+end
+
+section dma
+ baseaddr = 0xB8000000
+ irq = 4
+end
+
+section ethernet
+ enabled = 0
+ baseaddr = 0x92000000
+ irq = 4
+ rtx_type = 0
+end
+
+section VAPI
+ enabled = 0
+ server_port = 9998
+end
+
+section fb
+ enabled = 1
+ baseaddr = 0x97000000
+ refresh_rate = 10000
+ filename = "primary"
+end
+
+section kbd
+ enabled = 0
+end
Index: kbdtest.rx
===================================================================
--- kbdtest.rx (nonexistent)
+++ kbdtest.rx (revision 128)
@@ -0,0 +1,2 @@
+Te3+=-
eth0.rx
Property changes :
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: mmu.cfg
===================================================================
--- mmu.cfg (nonexistent)
+++ mmu.cfg (revision 128)
@@ -0,0 +1,102 @@
+/* mmu.cfg -- Or1ksim configuration script file for MMU test
+
+ Copyright (C) 2001, Marko Mlinar
+ Copyright (C) 2010 Embecosm Limited
+
+ Contributor Marko Mlinar
+ Contributor Jeremy Bennett
+
+ This file is part of OpenRISC 1000 Architectural Simulator.
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the Free
+ Software Foundation; either version 3 of the License, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program. If not, see . */
+
+section memory
+ /*random_seed = 12345
+ type = random*/
+ pattern = 0x00
+ type = unknown /* Fastest */
+
+ name = "RAM"
+ ce = 1
+ baseaddr = 0x00000000
+ size = 0x00200000
+ delayr = 1
+ delayw = 2
+end
+
+section memory
+ /*random_seed = 12345
+ type = random*/
+ pattern = 0x00
+ type = unknown /* Fastest */
+
+ name = "FLASH"
+ ce = 0
+ baseaddr = 0xf0000000
+ size = 0x00200000
+ delayr = 10
+ delayw = -1
+end
+
+section immu
+ enabled = 1
+ nsets = 64
+ nways = 1
+ ustates = 2
+ pagesize = 8192
+end
+
+section dmmu
+ enabled = 1
+ nsets = 64
+ nways = 1
+ ustates = 2
+ pagesize = 8192
+end
+
+section ic
+ enabled = 1
+ nsets = 256
+ nways = 1
+ ustates = 2
+ blocksize = 16
+end
+
+section dc
+ enabled = 1
+ nsets = 256
+ nways = 1
+ ustates = 2
+ blocksize = 16
+end
+
+section sim
+ /* verbose = 1 */
+ debug = 0
+ profile = 0
+ prof_fn = "sim.profile"
+
+ history = 1
+ /* iprompt = 0 */
+ exe_log = 0
+ exe_log_fn = "executed.log"
+end
+
+section mc
+ enabled = 1
+ baseaddr = 0x93000000
+ POC = 0x00000008 /* Power on configuration register */
+end
+
+
Index: kbdtest.cfg
===================================================================
--- kbdtest.cfg (nonexistent)
+++ kbdtest.cfg (revision 128)
@@ -0,0 +1,152 @@
+/* default.cfg -- Or1ksim default configuration script file
+
+ Copyright (C) 2001, Marko Mlinar
+ Copyright (C) 2010 Embecosm Limited
+
+ Contributor Marko Mlinar
+ Contributor Jeremy Bennett
+
+ This file is part of OpenRISC 1000 Architectural Simulator.
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the Free
+ Software Foundation; either version 3 of the License, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program. If not, see . */
+
+section memory
+ /*random_seed = 12345
+ type = random*/
+ pattern = 0x00
+ type = unknown /* Fastest */
+
+ name = "FLASH"
+ ce = 0
+ mc = 0
+ baseaddr = 0xf0000000
+ size = 0x00200000
+ delayr = 10
+ delayw = -1
+end
+
+section memory
+ /*random_seed = 12345
+ type = random*/
+ pattern = 0x00
+ type = unknown /* Fastest */
+
+ name = "RAM"
+ ce = 1
+ mc = 0
+ baseaddr = 0x00000000
+ size = 0x00200000
+ delayr = 2
+ delayw = 4
+end
+
+section immu
+ enabled = 1
+ nsets = 64
+ nways = 1
+ ustates = 2
+ pagesize = 8192
+end
+
+section dmmu
+ enabled = 1
+ nsets = 64
+ nways = 1
+ ustates = 2
+ pagesize = 8192
+end
+
+section ic
+ enabled = 1
+ nsets = 256
+ nways = 1
+ ustates = 2
+ blocksize = 16
+end
+
+section dc
+ enabled = 1
+ nsets = 256
+ nways = 1
+ ustates = 2
+ blocksize = 16
+end
+
+section cpu
+ ver = 0x12
+ rev = 0x0001
+ /* upr = */
+ superscalar = 0
+ hazards = 0
+ dependstats = 0
+end
+
+section bpb
+ enabled = 0
+ btic = 0
+end
+
+section debug
+ /*enabled = 0
+ gdb_enabled = 0*/
+ server_port = 9999
+end
+
+section sim
+ debug = 0
+ profile = 0
+ prof_fn = "sim.profile"
+
+ exe_log = 0
+ exe_log_type = software
+ exe_log_fn = "executed.log"
+end
+
+section mc
+ enabled = 1
+ baseaddr = 0x93000000
+ POC = 0x00000008 /* Power on configuration register */
+ index = 0
+end
+
+section dma
+ baseaddr = 0xB8000000
+ irq = 4
+end
+
+section ethernet
+ enabled = 0
+ baseaddr = 0x92000000
+ irq = 4
+ rtx_type = 0
+end
+
+section VAPI
+ enabled = 0
+ server_port = 9998
+end
+
+section fb
+ enabled = 1
+ baseaddr = 0x97000000
+ refresh_rate = 10000
+ filename = "primary"
+end
+
+section kbd
+ enabled = 1
+ irq = 5
+ baseaddr = 0x94000000
+ rxfile = "./kbdtest.rx"
+end
Index: acv-gpio.cfg
===================================================================
--- acv-gpio.cfg (nonexistent)
+++ acv-gpio.cfg (revision 128)
@@ -0,0 +1,63 @@
+section memory
+ /*random_seed = 12345
+ type = random*/
+ pattern = 0x00
+ type = unknown /* Fastest */
+
+ name = "RAM"
+ ce = 1
+ baseaddr = 0x00000000
+ size = 0x00200000
+ delayr = 1
+ delayw = 1
+end
+
+section memory
+ /*random_seed = 12345
+ type = random*/
+ pattern = 0x00
+ type = unknown /* Fastest */
+
+ name = "FLASH"
+ ce = 0
+ baseaddr = 0xf0000000
+ size = 0x00200000
+ delayr = 1
+ delayw = -1
+end
+
+section mc
+ enabled = 1
+ baseaddr = 0x93000000
+ POC = 0x00000008 /* Power on configuration register */
+end
+
+section cpu
+ ver = 0x12
+ rev = 0x0001
+ /* upr = */
+ superscalar = 0
+ hazards = 0
+ dependstats = 0
+end
+
+section sim
+ debug = 3
+ verbose = 1
+ exe_log = 1
+ exe_log_fn = "executed.log"
+end
+
+section gpio
+ baseaddr = 0xB0000000
+ irq = 23
+ base_vapi_id = 0x0200 /* GPIO uses 8 VAPI IDs */
+end
+
+section VAPI
+ enabled = 1
+ log_enabled = 1
+ hide_device_id = 1
+ vapi_log_fn = "vapi.log"
+ server_port = 9100
+end
Index: eth.cfg
===================================================================
--- eth.cfg (nonexistent)
+++ eth.cfg (revision 128)
@@ -0,0 +1,153 @@
+/* eth.cfg -- Or1ksim configuration script file for Ethernet test
+
+ Copyright (C) 2001, Marko Mlinar
+ Copyright (C) 2010 Embecosm Limited
+
+ Contributor Marko Mlinar
+ Contributor Jeremy Bennett
+
+ This file is part of OpenRISC 1000 Architectural Simulator.
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the Free
+ Software Foundation; either version 3 of the License, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program. If not, see . */
+
+section memory
+ /*random_seed = 12345
+ type = random*/
+ pattern = 0x00
+ type = unknown /* Fastest */
+
+ name = "FLASH"
+ ce = 0
+ mc = 0
+ baseaddr = 0xf0000000
+ size = 0x00200000
+ delayr = 10
+ delayw = -1
+end
+
+section memory
+ /*random_seed = 12345
+ type = random*/
+ pattern = 0x00
+ type = unknown /* Fastest */
+
+ name = "RAM"
+ ce = 1
+ mc = 0
+ baseaddr = 0x00000000
+ size = 0x00200000
+ delayr = 2
+ delayw = 4
+end
+
+section immu
+ enabled = 1
+ nsets = 64
+ nways = 1
+ ustates = 2
+ pagesize = 8192
+end
+
+section dmmu
+ enabled = 1
+ nsets = 64
+ nways = 1
+ ustates = 2
+ pagesize = 8192
+end
+
+section ic
+ enabled = 1
+ nsets = 256
+ nways = 1
+ ustates = 2
+ blocksize = 16
+end
+
+section dc
+ enabled = 1
+ nsets = 256
+ nways = 1
+ ustates = 2
+ blocksize = 16
+end
+
+section cpu
+ ver = 0x12
+ rev = 0x0001
+ /* upr = */
+ superscalar = 0
+ hazards = 0
+ dependstats = 0
+end
+
+section bpb
+ enabled = 0
+ btic = 0
+end
+
+section debug
+ /*enabled = 0
+ gdb_enabled = 0*/
+ server_port = 9999
+end
+
+section sim
+ debug = 0
+ profile = 0
+ prof_fn = "sim.profile"
+
+ exe_log = 0
+ exe_log_type = software
+ exe_log_fn = "executed.log"
+end
+
+section mc
+ enabled = 1
+ baseaddr = 0x93000000
+ POC = 0x00000008 /* Power on configuration register */
+ index = 0
+end
+
+section dma
+ baseaddr = 0xB8000000
+ irq = 4
+end
+
+section ethernet
+ baseaddr = 0x92000000
+ irq = 4
+ rtx_type = 0
+ rxfile = "eth0.rx"
+ txfile = "eth0.tx"
+ sockif = "eth0"
+end
+
+section VAPI
+ enabled = 0
+ server_port = 9998
+end
+
+section fb
+ enabled = 1
+ baseaddr = 0x97000000
+ refresh_rate = 10000
+ filename = "primary"
+end
+
+section kbd
+ enabled = 0
+ irq = 5
+ baseaddr = 0x94000000
+end