Or1ksim: The OpenRISC 1000 Architectural Simulator
|
Or1ksim: The OpenRISC 1000 Architectural Simulator
|
==================================================
|
==================================================
|
|
|
|
|
New in release 0.5.0rc3
|
New in release 0.5.1rc1
|
=======================
|
=======================
|
|
|
New features (shouldn't be there during a release cycle, but prompted by debug
|
New features (shouldn't be there during a release cycle, but prompted by debug
|
needs elsewhere in the tool chain).
|
needs elsewhere in the tool chain).
|
|
|
New option --trace provides a one line dump of instruction executed and any
|
New option --trace provides a one line dump of instruction executed and any
|
register or memory location changed after each instruction.
|
register or memory location changed after each instruction.
|
|
|
A new configuration option "use_nmi" is added to the programmable interrupt
|
A new configuration option "use_nmi" is added to the programmable interrupt
|
controller (PIC). This causes interrupt lines 0 and 1 to be non-maskable, but
|
controller (PIC). This causes interrupt lines 0 and 1 to be non-maskable, but
|
only in the sense that the corresponding bits in PICMR are hard-wired to 1.
|
only in the sense that the corresponding bits in PICMR are hard-wired to 1.
|
|
|
New config setting for memory initialization "exitnops" fills memory with
|
New config setting for memory initialization "exitnops" fills memory with
|
"l.nop 1", which will cause the simulator to exit. Good for tracking pointer
|
"l.nop 1", which will cause the simulator to exit. Good for tracking pointer
|
corruption.
|
corruption.
|
|
|
New l.nop opcodes to turn instruction tracing on and off. Good for debugging
|
New l.nop opcodes to turn instruction tracing on and off. Good for debugging
|
applications.
|
applications.
|
|
|
New l.nop opcode to return a random number. Good for applications (like the
|
New l.nop opcode to return a random number. Good for applications (like the
|
Linux kernel) which need access to the host entropy to ensure randomness.
|
Linux kernel) which need access to the host entropy to ensure randomness.
|
|
|
New l.nop opcode to identify that this is an Or1ksim session. Allows
|
New l.nop opcode to identify that this is an Or1ksim session. Allows
|
applications to determine if they are running on Or1ksim or hardware.
|
applications to determine if they are running on Or1ksim or hardware.
|
|
|
No bugs are fixed.
|
No bugs are fixed.
|
|
|
The following bugs are outstanding
|
The following bugs are outstanding
|
* Bug 1973: Or1ksim needs PIC tests.
|
* Bug 1973: Or1ksim needs PIC tests.
|
* But 1931: Or1ksim needs test for l.nop opcodes.
|
* But 1931: Or1ksim needs test for l.nop opcodes.
|
* Bug 1823: Configuration file error line numbers are wrong.
|
* Bug 1823: Configuration file error line numbers are wrong.
|
|
* Bug 1822: ATA configuration is broken. Documented in user guide.
|
|
* Bug 1758: Memory controller issues. Workaround in the user guide.
|
|
|
|
|
|
New in release 0.5.0rc3
|
|
=======================
|
|
|
|
No bugs are fixed.
|
|
|
|
The following bugs are outstanding
|
|
* Bug 1823: Configuration file error line numbers are wrong.
|
* Bug 1822: ATA configuration is broken. Documented in user guide.
|
* Bug 1822: ATA configuration is broken. Documented in user guide.
|
* Bug 1758: Memory controller issues. Workaround in the user guide.
|
* Bug 1758: Memory controller issues. Workaround in the user guide.
|
|
|
|
|
New in release 0.5.0rc2
|
New in release 0.5.0rc2
|
=======================
|
=======================
|
|
|
No new features. This is purely bug fixes post-0.5.0rc1.
|
No new features. This is purely bug fixes post-0.5.0rc1.
|
|
|
The following bugs are fixed.
|
The following bugs are fixed.
|
* Bug 1847: Build issues with RSP server (duplicate of 1815).
|
* Bug 1847: Build issues with RSP server (duplicate of 1815).
|
* Bug 1846: Casting errors.
|
* Bug 1846: Casting errors.
|
* Bug 1824: Memory controller issue (marked as duplicate of Bug 1758).
|
* Bug 1824: Memory controller issue (marked as duplicate of Bug 1758).
|
* Bug 1816: Error message when target not set is obscure (duplicate of 1813).
|
* Bug 1816: Error message when target not set is obscure (duplicate of 1813).
|
* Bug 1815: Build errors with RSP server.
|
* Bug 1815: Build errors with RSP server.
|
* Bug 1813: "make check" fails before installation.
|
* Bug 1813: "make check" fails before installation.
|
|
|
The following bugs are outstanding
|
The following bugs are outstanding
|
* Bug 1823: Configuration file error line numbers are wrong.
|
* Bug 1823: Configuration file error line numbers are wrong.
|
* Bug 1822: ATA configuration is broken. Documented in user guide.
|
* Bug 1822: ATA configuration is broken. Documented in user guide.
|
* Bug 1758: Memory controller issues. Workaround in the user guide.
|
* Bug 1758: Memory controller issues. Workaround in the user guide.
|
|
|
|
|
New in release 0.5.0rc1
|
New in release 0.5.0rc1
|
=======================
|
=======================
|
|
|
The floating point implementation is now based on John Hauser's "softfloat"
|
The floating point implementation is now based on John Hauser's "softfloat"
|
package, ensuring rigorous compliance with the IEEE 754-2008 standard.
|
package, ensuring rigorous compliance with the IEEE 754-2008 standard.
|
|
|
The library interface is extended to allow registers and memory to be written
|
The library interface is extended to allow registers and memory to be written
|
directly and processor stalled and unstalled. This is to allow direct
|
directly and processor stalled and unstalled. This is to allow direct
|
integration as a simulator in GDB.
|
integration as a simulator in GDB.
|
|
|
Some of the existing library interface functions have different prototypes.
|
Some of the existing library interface functions have different prototypes.
|
|
|
The "include" feature of configuration files (which never worked, but no one
|
The "include" feature of configuration files (which never worked, but no one
|
ever noticed) is dropped.
|
ever noticed) is dropped.
|
|
|
If the configuration file is not found in the local directory, it is searched
|
If the configuration file is not found in the local directory, it is searched
|
for in the ${HOME}/.or1ksim directory, then (for backwards compatibility) the
|
for in the ${HOME}/.or1ksim directory, then (for backwards compatibility) the
|
${HOME}/.or1k directory.
|
${HOME}/.or1k directory.
|
|
|
If no simulation file is specified, then sim.cfg is not searched for as a
|
If no simulation file is specified, then sim.cfg is not searched for as a
|
default.
|
default.
|
|
|
New options are added -q|--quiet, -V|--verbose, -m|--memory and
|
New options are added -q|--quiet, -V|--verbose, -m|--memory and
|
--report-memory-errors. The semantics of --nosrv and --src otpions are changed.
|
--report-memory-errors. The semantics of --nosrv and --src otpions are changed.
|
|
|
There is a configuration option to collect statistics on instruction execution
|
There is a configuration option to collect statistics on instruction execution
|
in binary form.
|
in binary form.
|
|
|
In previous versions, Bus exceptions were unique in that they produced an
|
In previous versions, Bus exceptions were unique in that they produced an
|
error message on standard output. The default is now for this exception to be
|
error message on standard output. The default is now for this exception to be
|
handled silently, unless requested by --report-memory-errors.
|
handled silently, unless requested by --report-memory-errors.
|
|
|
The following feature requests have been accepted.
|
The following feature requests have been accepted.
|
* Feature 393: Integrate Or1ksim in GDB.
|
* Feature 393: Integrate Or1ksim in GDB.
|
|
|
The following bugs are fixed.
|
The following bugs are fixed.
|
* Bug 1821: Reference configuration file has defective debug section.
|
* Bug 1821: Reference configuration file has defective debug section.
|
* Bug 1817: Reference configuration file missing from distribution.
|
* Bug 1817: Reference configuration file missing from distribution.
|
* Bug 1795: GDB breakpoints do not work with the instruction cache.
|
* Bug 1795: GDB breakpoints do not work with the instruction cache.
|
|
|
The following bugs are either cannot be reproduced or will not be fixed.
|
The following bugs are either cannot be reproduced or will not be fixed.
|
|
|
The following bugs are outstanding
|
The following bugs are outstanding
|
* Bug 1824: Memory controller issue (probably the same as Bug 1758).
|
* Bug 1824: Memory controller issue (probably the same as Bug 1758).
|
* Bug 1823: Configuration file error line numbers are wrong.
|
* Bug 1823: Configuration file error line numbers are wrong.
|
* Bug 1822: ATA section in configuration file is broken.
|
* Bug 1822: ATA section in configuration file is broken.
|
* Bug 1816: Error message when target not set is obscure.
|
* Bug 1816: Error message when target not set is obscure.
|
* Bug 1813: "make check" fails before installation.
|
* Bug 1813: "make check" fails before installation.
|
* Bug 1758: Memory controller issues. Workaround in the user guide.
|
* Bug 1758: Memory controller issues. Workaround in the user guide.
|
|
|
|
|
New in release 0.4.0
|
New in release 0.4.0
|
====================
|
====================
|
|
|
No new features or bugs. This is the full release based on 0.4.0rc2.
|
No new features or bugs. This is the full release based on 0.4.0rc2.
|
|
|
|
|
New in release 0.4.0rc2
|
New in release 0.4.0rc2
|
=======================
|
=======================
|
|
|
No new features are provided, pending full release of 0.4.0.
|
No new features are provided, pending full release of 0.4.0.
|
|
|
The configuration options --enable-arith-flag and --enable-ov-flag have been
|
The configuration options --enable-arith-flag and --enable-ov-flag have been
|
removed, since they were the source of bugs, notably Bugs 1782, 1783 and 1784.
|
removed, since they were the source of bugs, notably Bugs 1782, 1783 and 1784.
|
|
|
The configuration option --enable-unsigned-xori has been added to allow a
|
The configuration option --enable-unsigned-xori has been added to allow a
|
conditional solution to Bug 1790.
|
conditional solution to Bug 1790.
|
|
|
The following bugs are fixed.
|
The following bugs are fixed.
|
* Bug 1770: l.div does not set carry or give correct exception.
|
* Bug 1770: l.div does not set carry or give correct exception.
|
* Bug 1771: l.add* do not correctly set the overflow flag.
|
* Bug 1771: l.add* do not correctly set the overflow flag.
|
* Bug 1772: l.fl1 not implemented.
|
* Bug 1772: l.fl1 not implemented.
|
* Bug 1773: l.maci not correctly implemented.
|
* Bug 1773: l.maci not correctly implemented.
|
* Bug 1774: l.mulu not implemented.
|
* Bug 1774: l.mulu not implemented.
|
* Bug 1775: l.jalr and l.jr don't trigger alignment exceptions.
|
* Bug 1775: l.jalr and l.jr don't trigger alignment exceptions.
|
* Bug 1776: l.addic is not implemented.
|
* Bug 1776: l.addic is not implemented.
|
* Bug 1777: l.macrc not correctly implemented.
|
* Bug 1777: l.macrc not correctly implemented.
|
* Bug 1778: l.ror and l.rori are not implemented.
|
* Bug 1778: l.ror and l.rori are not implemented.
|
* Bug 1779: l.mtspr implementation is incorrect.
|
* Bug 1779: l.mtspr implementation is incorrect.
|
* Bug 1782: Or1ksim setting of overflow flag is wrong.
|
* Bug 1782: Or1ksim setting of overflow flag is wrong.
|
* Bug 1783: Or1ksim definition of overflow is wrong.
|
* Bug 1783: Or1ksim definition of overflow is wrong.
|
* Bug 1784: Or1ksim does not trigger overflow exceptions.
|
* Bug 1784: Or1ksim does not trigger overflow exceptions.
|
* Bug 1790: l.xori implementation is incorrect.
|
* Bug 1790: l.xori implementation is incorrect.
|
|
|
The following bugs are either cannot be reproduced or will not be fixed.
|
The following bugs are either cannot be reproduced or will not be fixed.
|
|
|
The following bugs are outstanding
|
The following bugs are outstanding
|
* Bug 1758: Memory controller issues. Workaround in the user guide.
|
* Bug 1758: Memory controller issues. Workaround in the user guide.
|
|
|
|
|
New in release 0.4.0rc1
|
New in release 0.4.0rc1
|
=======================
|
=======================
|
|
|
The following new features are provided.
|
The following new features are provided.
|
* testbench now renamed testsuite and fully integrated using DejaGNU.
|
* testbench now renamed testsuite and fully integrated using DejaGNU.
|
"make check" now works correctly if the OpenRISC toolchain is installed.
|
"make check" now works correctly if the OpenRISC toolchain is installed.
|
* New configuration flag --enable-all-tests to enable building of incomplete
|
* New configuration flag --enable-all-tests to enable building of incomplete
|
tests with "make check".
|
tests with "make check".
|
* The library offers an interface via modelled JTAG
|
* The library offers an interface via modelled JTAG
|
* Single precision floating point is available.
|
* Single precision floating point is available.
|
|
|
The user guide is updated.
|
The user guide is updated.
|
|
|
The following feature requests have been accepted.
|
The following feature requests have been accepted.
|
* Feature 413: ORFPX32 single precision floating point now supported.
|
* Feature 413: ORFPX32 single precision floating point now supported.
|
* Feature 469: Icache tags now intialized as invalid.
|
* Feature 469: Icache tags now intialized as invalid.
|
* Feature 1673: Or1ksim now builds on Mac OS X.
|
* Feature 1673: Or1ksim now builds on Mac OS X.
|
* Feature 1678: download, patch and build dirs removed from SVN.
|
* Feature 1678: download, patch and build dirs removed from SVN.
|
|
|
The following feature requests have been rejected.
|
The following feature requests have been rejected.
|
* Feature 399: Writeable SR_LEE bit will not be provided.
|
* Feature 399: Writeable SR_LEE bit will not be provided.
|
* Feature 409: Separate ELF loader library already exists in binutils.
|
* Feature 409: Separate ELF loader library already exists in binutils.
|
* Feature 586: Ignoring HW breakpoints is already possible.
|
* Feature 586: Ignoring HW breakpoints is already possible.
|
|
|
The following bugs are fixed.
|
The following bugs are fixed.
|
* Bug 534: Test suite fixed (see above).
|
* Bug 534: Test suite fixed (see above).
|
* Bug 1710: mprofile now handles mode args correctly.
|
* Bug 1710: mprofile now handles mode args correctly.
|
* Bug 1723: PS2 keyboard error message clearer if RX file won't open.
|
* Bug 1723: PS2 keyboard error message clearer if RX file won't open.
|
* Bug 1733: Or1ksim now accepts ELF image when working through RSP.
|
* Bug 1733: Or1ksim now accepts ELF image when working through RSP.
|
* Bug 1767: l.lws is not recognized as an opcode.
|
* Bug 1767: l.lws is not recognized as an opcode.
|
|
|
The following bugs are either cannot be reproduced or will not be fixed.
|
The following bugs are either cannot be reproduced or will not be fixed.
|
|
|
The following bugs are outstanding
|
The following bugs are outstanding
|
* Bug 1758: Memory controller issues. Workaround in the user guide.
|
* Bug 1758: Memory controller issues. Workaround in the user guide.
|
|
|
|
|
New in release 0.3.0
|
New in release 0.3.0
|
====================
|
====================
|
|
|
* No new features or bugs. This is the full release based on rc3.
|
* No new features or bugs. This is the full release based on rc3.
|
|
|
New in release 0.3.0rc3
|
New in release 0.3.0rc3
|
=======================
|
=======================
|
|
|
* Bug 376 fixed: 32 interrupts now supported
|
* Bug 376 fixed: 32 interrupts now supported
|
* Bug 377 fixed: Level triggered interrupts now work correctly
|
* Bug 377 fixed: Level triggered interrupts now work correctly
|
* Bug 378 fixed: xterm UART now works with RSP
|
* Bug 378 fixed: xterm UART now works with RSP
|
* Bug 379 fixed: RSP performance improved
|
* Bug 379 fixed: RSP performance improved
|
* Bug 380 fixed: GDB 6.8 stepi now works through Or1ksim JTAG interface
|
* Bug 380 fixed: GDB 6.8 stepi now works through Or1ksim JTAG interface
|
* Bug 398 fixed: Lack of support for LEE bit in SR documented
|
* Bug 398 fixed: Lack of support for LEE bit in SR documented
|
* Bug 415 fixed: NPC behavior on writing optionally matches real HW
|
* Bug 415 fixed: NPC behavior on writing optionally matches real HW
|
* Bug 418 fixed: All library up calls are host-endian
|
* Bug 418 fixed: All library up calls are host-endian
|
|
|
* Feature 395 added: Boot from 0xf0000000 now enabled.
|
* Feature 395 added: Boot from 0xf0000000 now enabled.
|
* Feature 408 added: Image file may be NULL for or1ksim_init.
|
* Feature 408 added: Image file may be NULL for or1ksim_init.
|
* Feature 410 added: RSP now clears sigval on unstalling the processor.
|
* Feature 410 added: RSP now clears sigval on unstalling the processor.
|
* Feature 417 added: Or1ksim prints out its version on startup.
|
* Feature 417 added: Or1ksim prints out its version on startup.
|
|
|
New in release 0.3.0rc2
|
New in release 0.3.0rc2
|
=======================
|
=======================
|
|
|
* A number of bug fixes
|
* A number of bug fixes
|
* Updates to user guide
|
* Updates to user guide
|
|
|
New in release 0.3.0rc1
|
New in release 0.3.0rc1
|
=======================
|
=======================
|
|
|
* Numerous bug fixes (see the OpenRISC tracker and the ChangeLog file)
|
* Numerous bug fixes (see the OpenRISC tracker and the ChangeLog file)
|
* User Guide
|
* User Guide
|
* Consistent coding style and file naming throughout
|
* Consistent coding style and file naming throughout
|
* Support for external SystemC models
|
* Support for external SystemC models
|
|
|
New in release 1.9 (old style numbering)
|
New in release 1.9 (old style numbering)
|
========================================
|
========================================
|
|
|
* support for binary COFF
|
* support for binary COFF
|
* generation of verilog memory models (used when you want to run simulation
|
* generation of verilog memory models (used when you want to run simulation
|
of OpenRISC processor cores)
|
of OpenRISC processor cores)
|
|
|
New in release 1.2 (old style numbering)
|
New in release 1.2 (old style numbering)
|
========================================
|
========================================
|
|
|
* support for OR16 ISA
|
* support for OR16 ISA
|
|
|
New in release 1.1 (old style numbering)
|
New in release 1.1 (old style numbering)
|
========================================
|
========================================
|
|
|
* First release
|
* First release
|
|
|