Line 1... |
Line 1... |
This is ../../or1ksim/doc/or1ksim.info, produced by makeinfo version
|
This is ../../doc/or1ksim.info, produced by makeinfo version 4.13 from
|
4.13 from ../../or1ksim/doc/or1ksim.texi.
|
../../doc/or1ksim.texi.
|
|
|
INFO-DIR-SECTION Embedded development
|
INFO-DIR-SECTION Embedded development
|
START-INFO-DIR-ENTRY
|
START-INFO-DIR-ENTRY
|
* Or1ksim: (or32-uclinux-or1ksim). The OpenRISC 1000 Architectural
|
* Or1ksim: (or32-uclinux-or1ksim). The OpenRISC 1000 Architectural
|
Simulator
|
Simulator
|
Line 62... |
Line 62... |
===============
|
===============
|
|
|
Unpack the software and create a _separate_ directory in which to build
|
Unpack the software and create a _separate_ directory in which to build
|
it:
|
it:
|
|
|
tar jxf or1ksim-2010-06-06.tar.bz2
|
tar jxf or1ksim-2010-06-09.tar.bz2
|
mkdir builddir_or1ksim
|
mkdir builddir_or1ksim
|
cd builddir_or1ksim
|
cd builddir_or1ksim
|
|
|
|
|
File: or1ksim.info, Node: Configuring the Build, Next: Build and Install, Prev: Preparation, Up: Installation
|
File: or1ksim.info, Node: Configuring the Build, Next: Build and Install, Prev: Preparation, Up: Installation
|
Line 79... |
Line 79... |
|
|
The most significant argument is `--target', which should specify the
|
The most significant argument is `--target', which should specify the
|
OpenRISC 1000 32-bit architecture. If this argument is omitted, it will
|
OpenRISC 1000 32-bit architecture. If this argument is omitted, it will
|
default to OpenRISC 1000 32-bit with a warning
|
default to OpenRISC 1000 32-bit with a warning
|
|
|
../or1ksim-2010-06-06/configure --target=or32-uclinux ...
|
../or1ksim-2010-06-09/configure --target=or32-uclinux ...
|
|
|
There are several other options available, many of which are standard
|
There are several other options available, many of which are standard
|
to GNU `configure' scripts. Use `configure --help' to see all the
|
to GNU `configure' scripts. Use `configure --help' to see all the
|
options. The most useful is `--prefix' to specify a directory for
|
options. The most useful is `--prefix' to specify a directory for
|
installation of the tools.
|
installation of the tools.
|
Line 139... |
Line 139... |
`--disable-range-stats'
|
`--disable-range-stats'
|
If enabled, this option allows statistics to be collected to
|
If enabled, this option allows statistics to be collected to
|
analyse register access over time. The default is for this to be
|
analyse register access over time. The default is for this to be
|
disabled.
|
disabled.
|
|
|
`--enable-ov-flag'
|
|
`--disable-ov-flag'
|
|
If enabled, this option causes instructions to set the overflow
|
|
flag. The instructions affected by this are `l.add', `l.addc',
|
|
`l.addi', `l.and', `l.andi', `l.div', `l.divu', `l.mul', `l.muli',
|
|
`l.or', `l.ori', `l.sll', `l.slli', `l.srl', `l.srli', `l.sra',
|
|
`l.srai', `l.sub', `l.xor' and `l.xori'.
|
|
|
|
The default is for this to be disabled.
|
|
|
|
Caution: This appears a very dangerous option, to the extent
|
|
of arguably being a bug. Whether or not flags are set is
|
|
part of the OpenRISC 1000 architectural specification.
|
|
Within the above list, the arithmetic instructions (`l.add',
|
|
`l.addc', `l.addi', `l.div', `l.divu', `l.mul', `l.muli' and
|
|
`l.sub'), together with `l.addic' which is missed out, set
|
|
the overflow flag. All the others (`l.and', `l.andi',
|
|
`l.or', `l.ori', `l.sll', `l.slli', `l.srl', `l.srli',
|
|
`l.sra', `l.srai', `l.xor' and `l.xori') do not.
|
|
|
|
Thus it is impossible to get correct behavior whichever way
|
|
this option is set.
|
|
|
|
`--enable-arith-flag'
|
`--enable-arith-flag'
|
`--disable-arith-flag'
|
`--disable-arith-flag'
|
If enabled, this option causes instructions to set the flag (`F'
|
If enabled, this option causes instructions to set the flag (`F'
|
bit) in the supervision register. The instructions affected by
|
bit) in the supervision register. The instructions affected by
|
this are `l.add', `l.addc', `l.addi', `l.and' and `l.andi'.
|
this are `l.add', `l.addc', `l.addi', `l.and' and `l.andi'.
|
Line 207... |
Line 184... |
|
|
This flag is intended for those working on the test package, who
|
This flag is intended for those working on the test package, who
|
wish to get the missing test(s) working.
|
wish to get the missing test(s) working.
|
|
|
|
|
|
A number of configuration flags have been removed since version 0.3.0,
|
|
because they led to invalid behavior of Or1ksim. Those removed include
|
|
|
|
`--enable-ov-flag'
|
|
`--disable-ov-flag'
|
|
This flag used to cause certain instructions to set the overflow
|
|
flag. If not, those instructions would not set the overflow flat.
|
|
The instructions affected by this were `l.add', `l.addc',
|
|
`l.addi', `l.and', `l.andi', `l.div', `l.divu', `l.mul', `l.muli',
|
|
`l.or', `l.ori', `l.sll', `l.slli', `l.srl', `l.srli', `l.sra',
|
|
`l.srai', `l.sub', `l.xor' and `l.xori'.
|
|
|
|
This guaranteed incorrect behavior. The OpenRISC 1000 architecture
|
|
specification defines which flags are set by which instructions.
|
|
|
|
Within the above list, the arithmetic instructions (`l.add',
|
|
`l.addc', `l.addi', `l.div', `l.divu', `l.mul', `l.muli' and
|
|
`l.sub'), together with `l.addic' which is missed out, set the
|
|
overflow flag. All the others (`l.and', `l.andi', `l.or',
|
|
`l.ori', `l.sll', `l.slli', `l.srl', `l.srli', `l.sra', `l.srai',
|
|
`l.xor' and `l.xori') do not.
|
|
|
|
|
|
|
File: or1ksim.info, Node: Build and Install, Next: Known Issues, Prev: Configuring the Build, Up: Installation
|
File: or1ksim.info, Node: Build and Install, Next: Known Issues, Prev: Configuring the Build, Up: Installation
|
|
|
1.3 Building and Installing
|
1.3 Building and Installing
|
===========================
|
===========================
|
Line 246... |
Line 246... |
|
|
1.4 Known Problems and Issues
|
1.4 Known Problems and Issues
|
=============================
|
=============================
|
|
|
The following problems and issues are known about with Or1ksim
|
The following problems and issues are known about with Or1ksim
|
2010-06-06. The OpenRISC tracker may be used to see the current state
|
2010-06-09. The OpenRISC tracker may be used to see the current state
|
of these issues and to raise new problems and feature requests. It may
|
of these issues and to raise new problems and feature requests. It may
|
be found at `http://www.opencores.org/ptracker.cgi/view/or1k/398'.
|
be found at `http://www.opencores.org/ptracker.cgi/view/or1k/398'.
|
|
|
* The Supervision Register Little Endian Enable (LEE) bit is
|
* The Supervision Register Little Endian Enable (LEE) bit is
|
ignored. Or1ksim can be built for either little endian or big
|
ignored. Or1ksim can be built for either little endian or big
|
Line 3424... |
Line 3424... |
|
|
* --cumulative: Profiling Utility. (line 26)
|
* --cumulative: Profiling Utility. (line 26)
|
* --debug-config: Standalone Simulator.
|
* --debug-config: Standalone Simulator.
|
(line 48)
|
(line 48)
|
* --disable-all-tests: Configuring the Build.
|
* --disable-all-tests: Configuring the Build.
|
(line 133)
|
(line 110)
|
* --disable-arith-flag: Configuring the Build.
|
* --disable-arith-flag: Configuring the Build.
|
(line 98)
|
(line 75)
|
* --disable-debug: Configuring the Build.
|
* --disable-debug: Configuring the Build.
|
(line 126)
|
(line 103)
|
* --disable-ethphy: Configuring the Build.
|
* --disable-ethphy: Configuring the Build.
|
(line 59)
|
(line 59)
|
* --disable-ov-flag: Configuring the Build.
|
* --disable-ov-flag: Configuring the Build.
|
(line 75)
|
(line 123)
|
* --disable-profiling: Configuring the Build.
|
* --disable-profiling: Configuring the Build.
|
(line 30)
|
(line 30)
|
* --disable-range-stats: Configuring the Build.
|
* --disable-range-stats: Configuring the Build.
|
(line 69)
|
(line 69)
|
* --enable-all-tests: Configuring the Build.
|
* --enable-all-tests: Configuring the Build.
|
(line 132)
|
(line 109)
|
* --enable-arith-flag: Configuring the Build.
|
* --enable-arith-flag: Configuring the Build.
|
(line 97)
|
(line 74)
|
* --enable-debug: Configuring the Build.
|
* --enable-debug: Configuring the Build.
|
(line 125)
|
(line 102)
|
* --enable-ethphy: Configuring the Build.
|
* --enable-ethphy: Configuring the Build.
|
(line 58)
|
(line 58)
|
* --enable-execution: Configuring the Build.
|
* --enable-execution: Configuring the Build.
|
(line 37)
|
(line 37)
|
* --enable-mprofile: Standalone Simulator.
|
* --enable-mprofile: Standalone Simulator.
|
(line 77)
|
(line 77)
|
* --enable-ov-flag: Configuring the Build.
|
* --enable-ov-flag: Configuring the Build.
|
(line 74)
|
(line 122)
|
* --enable-profile: Standalone Simulator.
|
* --enable-profile: Standalone Simulator.
|
(line 74)
|
(line 74)
|
* --enable-profiling: Configuring the Build.
|
* --enable-profiling: Configuring the Build.
|
(line 29)
|
(line 29)
|
* --enable-range-stats: Configuring the Build.
|
* --enable-range-stats: Configuring the Build.
|
Line 3522... |
Line 3522... |
(line 62)
|
(line 62)
|
* 0x04 UART VAPI sub-command (UART verification): Verification API.
|
* 0x04 UART VAPI sub-command (UART verification): Verification API.
|
(line 66)
|
(line 66)
|
* 16550 (UART configuration): UART Configuration. (line 73)
|
* 16550 (UART configuration): UART Configuration. (line 73)
|
* all tests enabled: Configuring the Build.
|
* all tests enabled: Configuring the Build.
|
(line 133)
|
(line 110)
|
* Argtable2 debugging: Configuring the Build.
|
* Argtable2 debugging: Configuring the Build.
|
(line 126)
|
(line 103)
|
* ATA/ATAPI configuration: Disc Interface Configuration.
|
* ATA/ATAPI configuration: Disc Interface Configuration.
|
(line 6)
|
(line 6)
|
* ATA/ATAPI device configuration: Disc Interface Configuration.
|
* ATA/ATAPI device configuration: Disc Interface Configuration.
|
(line 88)
|
(line 88)
|
* base_vapi_id (GPIO configuration - deprecated): GPIO Configuration.
|
* base_vapi_id (GPIO configuration - deprecated): GPIO Configuration.
|
Line 3677... |
Line 3677... |
(line 151)
|
(line 151)
|
* debug unit configuration: Debug Interface Configuration.
|
* debug unit configuration: Debug Interface Configuration.
|
(line 6)
|
(line 6)
|
* Debug Unit verification (VAPI): Verification API. (line 34)
|
* Debug Unit verification (VAPI): Verification API. (line 34)
|
* debugging enabled (Argtable2): Configuring the Build.
|
* debugging enabled (Argtable2): Configuring the Build.
|
(line 126)
|
(line 103)
|
* DejaGnu board configurations: Regression Testing. (line 35)
|
* DejaGnu board configurations: Regression Testing. (line 35)
|
* DejaGnu configuration: Regression Testing. (line 21)
|
* DejaGnu configuration: Regression Testing. (line 21)
|
* DejaGNU tests directories: Regression Testing. (line 50)
|
* DejaGNU tests directories: Regression Testing. (line 50)
|
* DejaGnu tool specific configuration: Regression Testing. (line 39)
|
* DejaGnu tool specific configuration: Regression Testing. (line 39)
|
* delayr (memory configuration): Memory Configuration.
|
* delayr (memory configuration): Memory Configuration.
|
Line 3804... |
Line 3804... |
* filename (VGA configuration - deprecated): Display Interface Configuration.
|
* filename (VGA configuration - deprecated): Display Interface Configuration.
|
(line 47)
|
(line 47)
|
* firmware (ATA/ATAPI device configuration): Disc Interface Configuration.
|
* firmware (ATA/ATAPI device configuration): Disc Interface Configuration.
|
(line 117)
|
(line 117)
|
* flag setting by instructions: Configuring the Build.
|
* flag setting by instructions: Configuring the Build.
|
(line 98)
|
(line 75)
|
* floating point multiply and add: Known Issues. (line 56)
|
* floating point multiply and add: Known Issues. (line 56)
|
* floating point support: Known Issues. (line 42)
|
* floating point support: Known Issues. (line 42)
|
* frame buffer configuration: Frame Buffer Configuration.
|
* frame buffer configuration: Frame Buffer Configuration.
|
(line 6)
|
(line 6)
|
* gdb_enabled (debug interface configuration): Debug Interface Configuration.
|
* gdb_enabled (debug interface configuration): Debug Interface Configuration.
|
Line 3960... |
Line 3960... |
* or1ksim_reset_duration: Simulator Library. (line 62)
|
* or1ksim_reset_duration: Simulator Library. (line 62)
|
* or1ksim_run: Simulator Library. (line 57)
|
* or1ksim_run: Simulator Library. (line 57)
|
* or1ksim_set_time_point: Simulator Library. (line 73)
|
* or1ksim_set_time_point: Simulator Library. (line 73)
|
* output rediretion: Concepts. (line 7)
|
* output rediretion: Concepts. (line 7)
|
* overflow flag setting by instructions: Configuring the Build.
|
* overflow flag setting by instructions: Configuring the Build.
|
(line 75)
|
(line 123)
|
* packet (ATA/ATAPI device configuration): Disc Interface Configuration.
|
* packet (ATA/ATAPI device configuration): Disc Interface Configuration.
|
(line 113)
|
(line 113)
|
* pagesize (MMU configuration): Memory Management Configuration.
|
* pagesize (MMU configuration): Memory Management Configuration.
|
(line 27)
|
(line 27)
|
* patching memory (Interactive CLI): Interactive Command Line.
|
* patching memory (Interactive CLI): Interactive Command Line.
|
Line 4214... |
Line 4214... |
* test code for target: Regression Testing. (line 63)
|
* test code for target: Regression Testing. (line 63)
|
* test make file: Regression Testing. (line 27)
|
* test make file: Regression Testing. (line 27)
|
* test README: Regression Testing. (line 32)
|
* test README: Regression Testing. (line 32)
|
* testing: Regression Testing. (line 6)
|
* testing: Regression Testing. (line 6)
|
* tests, all enabled.: Configuring the Build.
|
* tests, all enabled.: Configuring the Build.
|
(line 133)
|
(line 110)
|
* timings_file (CUC configuration): CUC Configuration. (line 46)
|
* timings_file (CUC configuration): CUC Configuration. (line 46)
|
* timings_fn (CUC configuration - deprecated): CUC Configuration.
|
* timings_fn (CUC configuration - deprecated): CUC Configuration.
|
(line 46)
|
(line 46)
|
* toggle breakpoint (Interactive CLI): Interactive Command Line.
|
* toggle breakpoint (Interactive CLI): Interactive Command Line.
|
(line 57)
|
(line 57)
|
Line 4292... |
Line 4292... |
(line 50)
|
(line 50)
|
|
|
|
|
|
|
Tag Table:
|
Tag Table:
|
Node: Top830
|
Node: Top814
|
Node: Installation1240
|
Node: Installation1224
|
Node: Preparation1487
|
Node: Preparation1471
|
Node: Configuring the Build1782
|
Node: Configuring the Build1766
|
Node: Build and Install7506
|
Node: Build and Install7464
|
Node: Known Issues8352
|
Node: Known Issues8310
|
Node: Usage11414
|
Node: Usage11372
|
Node: Standalone Simulator11628
|
Node: Standalone Simulator11586
|
Node: Profiling Utility14531
|
Node: Profiling Utility14489
|
Node: Memory Profiling Utility15441
|
Node: Memory Profiling Utility15399
|
Node: Simulator Library16806
|
Node: Simulator Library16764
|
Node: Configuration24584
|
Node: Configuration24542
|
Node: Configuration File Format25193
|
Node: Configuration File Format25151
|
Node: Configuration File Preprocessing25485
|
Node: Configuration File Preprocessing25443
|
Node: Configuration File Syntax25856
|
Node: Configuration File Syntax25814
|
Node: Simulator Configuration28641
|
Node: Simulator Configuration28599
|
Node: Simulator Behavior28932
|
Node: Simulator Behavior28890
|
Node: Verification API Configuration32976
|
Node: Verification API Configuration32934
|
Node: CUC Configuration34916
|
Node: CUC Configuration34874
|
Node: Core OpenRISC Configuration36833
|
Node: Core OpenRISC Configuration36791
|
Node: CPU Configuration37335
|
Node: CPU Configuration37293
|
Node: Memory Configuration41453
|
Node: Memory Configuration41411
|
Node: Memory Management Configuration47911
|
Node: Memory Management Configuration47869
|
Node: Cache Configuration50288
|
Node: Cache Configuration50246
|
Node: Interrupt Configuration52674
|
Node: Interrupt Configuration52632
|
Node: Power Management Configuration53410
|
Node: Power Management Configuration53368
|
Node: Branch Prediction Configuration54687
|
Node: Branch Prediction Configuration54645
|
Node: Debug Interface Configuration56047
|
Node: Debug Interface Configuration56005
|
Node: Peripheral Configuration60267
|
Node: Peripheral Configuration60225
|
Node: Memory Controller Configuration60893
|
Node: Memory Controller Configuration60851
|
Node: UART Configuration64307
|
Node: UART Configuration64265
|
Node: DMA Configuration67826
|
Node: DMA Configuration67784
|
Node: Ethernet Configuration69693
|
Node: Ethernet Configuration69651
|
Node: GPIO Configuration73669
|
Node: GPIO Configuration73627
|
Node: Display Interface Configuration75302
|
Node: Display Interface Configuration75260
|
Node: Frame Buffer Configuration77611
|
Node: Frame Buffer Configuration77569
|
Node: Keyboard Configuration79475
|
Node: Keyboard Configuration79433
|
Node: Disc Interface Configuration81713
|
Node: Disc Interface Configuration81671
|
Node: Generic Peripheral Configuration86656
|
Node: Generic Peripheral Configuration86614
|
Node: Interactive Command Line88951
|
Node: Interactive Command Line88909
|
Node: Verification API95925
|
Node: Verification API95883
|
Node: Code Internals100355
|
Node: Code Internals100313
|
Node: Coding Conventions100938
|
Node: Coding Conventions100896
|
Node: Global Data Structures105365
|
Node: Global Data Structures105323
|
Node: Concepts108022
|
Node: Concepts107980
|
Ref: Output Redirection108167
|
Ref: Output Redirection108125
|
Node: Internal Debugging108706
|
Node: Internal Debugging108664
|
Node: Regression Testing109230
|
Node: Regression Testing109188
|
Node: GNU Free Documentation License113025
|
Node: GNU Free Documentation License112983
|
Node: Index135432
|
Node: Index135390
|
|
|
End Tag Table
|
End Tag Table
|