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.8 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-08-04.tar.bz2
|
tar jxf or1ksim-0.5.0rc1.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-08-04/configure --target=or32-uclinux ...
|
../or1ksim-0.5.0rc1/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 241... |
Line 241... |
This will install the three variations of the Or1ksim tool,
|
This will install the three variations of the Or1ksim tool,
|
`or32-uclinux-sim', `or32-uclinux-psim' and `or32-uclinux-mpsim', the
|
`or32-uclinux-sim', `or32-uclinux-psim' and `or32-uclinux-mpsim', the
|
Or1ksim library, `libsim', the header file, `or1ksim.h' and this
|
Or1ksim library, `libsim', the header file, `or1ksim.h' and this
|
documentation in `info' format.
|
documentation in `info' format.
|
|
|
Note: Testing Or1ksim with `make check' is not yet supported.
|
|
|
|
The documentation may be created and installed in alternative formats
|
The documentation may be created and installed in alternative formats
|
(PDF, Postscript, DVI, HTML) with for example:
|
(PDF, Postscript, DVI, HTML) with for example:
|
|
|
make pdf
|
make pdf
|
make install-pdf
|
make install-pdf
|
Line 255... |
Line 253... |
File: or1ksim.info, Node: Known Issues, Prev: Build and Install, Up: Installation
|
File: or1ksim.info, Node: Known Issues, Prev: Build and Install, Up: Installation
|
|
|
1.4 Known Problems and Issues
|
1.4 Known Problems and Issues
|
=============================
|
=============================
|
|
|
The following problems and issues are known about with Or1ksim
|
Full details of outstanding issues may be found in the `NEWS' file in
|
2010-08-04. The OpenRISC tracker may be used to see the current state
|
the main directory of the distribution. The OpenRISC tracker may be
|
of these issues and to raise new problems and feature requests. It may
|
used to see the current state of these issues and to raise new problems
|
be found at `http://www.opencores.org/ptracker.cgi/view/or1k/398'.
|
and feature requests. It may be found at bugtracker.
|
|
|
|
The following issues are long standing and unlikely to be fixed in
|
|
Or1ksim in the near future.
|
|
|
* 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
|
endian use, but that behavior cannot be changed dynamically.
|
endian use, but that behavior cannot be changed dynamically.
|
|
|
* The NPC is a read/write register, but after being written it
|
|
clears the pipeline. This means that if the processor is stalled,
|
|
the value should subsequently read back as 0, until the processor
|
|
is unstalled and able to refill its pipeline. By default Or1ksim
|
|
always reports back the value of NPC, even when it has been
|
|
written while stalled.
|
|
|
|
There is now an option, `--strict-npc', which will enforce this
|
|
behavior. At some stage in the future it will become the default
|
|
behavior, but for now it is an option, since its use will break
|
|
GDB.
|
|
|
|
* The memory components are given names in the configuration file.
|
|
However there is currently no way for Or1ksim to report that name
|
|
back to the user (for example to identify which memory block
|
|
corresponds to a particular access).
|
|
|
|
* Or1ksim allows the processor to be stalled (from the command
|
|
line), even if there is no debugger present. This seems to be a
|
|
meaningless operation.
|
|
|
|
* Or1ksim is not reentrant, so a program cannot instantiate multiple
|
* Or1ksim is not reentrant, so a program cannot instantiate multiple
|
instances using the library. This is clearly a problem when
|
instances using the library. This is clearly a problem when
|
considering multi-core applications. However it stems from the
|
considering multi-core applications. However it stems from the
|
original design, and can only be fixed by a complete rewrite. The
|
original design, and can only be fixed by a complete rewrite. The
|
entire source code uses static global constants liberally!
|
entire source code uses static global constants liberally!
|
|
|
* There is no support for single precision floating point
|
|
instructions in Or1ksim if configured in the CPU (*note CPU
|
|
Configuration: CPU Configuration.). These are implemented using
|
|
the floating point support in the host C library, which will
|
|
usually be IEEE 745 compliant. There is at present no support for
|
|
double precision floating point instructions, since these are
|
|
meaningless with 32-bit registers.
|
|
|
|
Floating point support within OpenRISC is intended to follow IEEE
|
|
745, which offers a degree of configurability. However at present
|
|
the FPSCR register is not supported, so there is no mechanism for
|
|
configuring floating point behavior. Thus the default
|
|
functionality of the host C library will be used.
|
|
|
|
* The single precision floating point multiply and add instruction,
|
|
`lf.madd.s', is not clearly specified in the original architectural
|
|
manual. User should consult the `OpenRISC 1200 version 2
|
|
Supplementary Programmer's Reference Manual' for a specification
|
|
of the functionality implemented.
|
|
|
|
|
|
|
|
File: or1ksim.info, Node: Usage, Next: Configuration, Prev: Installation, Up: Top
|
File: or1ksim.info, Node: Usage, Next: Configuration, Prev: Installation, Up: Top
|
|
|
2 Usage
|
2 Usage
|
Line 333... |
Line 293... |
2.1 Standalone Simulator
|
2.1 Standalone Simulator
|
========================
|
========================
|
|
|
The general form the standalone command is:
|
The general form the standalone command is:
|
|
|
or32-uclinux-sim [-vhi] [-f FILE] [--nosrv] [--srv=[N]] [-d STR]
|
or32-uclinux-sim [-vhiqV] [-f FILE] [--nosrv] [--srv=[N]]
|
|
[-m ][-d STR]
|
[--enable-profile] [--enable-mprofile] [FILE]
|
[--enable-profile] [--enable-mprofile] [FILE]
|
|
|
Many of the options have both a short and a long form. For example
|
Many of the options have both a short and a long form. For example
|
`-h' or `--help'.
|
`-h' or `--help'.
|
|
|
Line 347... |
Line 308... |
|
|
`-h'
|
`-h'
|
`--help'
|
`--help'
|
Print out help about the command line options and what they mean.
|
Print out help about the command line options and what they mean.
|
|
|
|
`-i'
|
|
`--interactive'
|
|
After starting, drop into the Or1ksim interactive command shell.
|
|
|
|
`-q'
|
|
`--quiet'
|
|
Do not generate any information messages, only error messages.
|
|
|
|
`-V'
|
|
`--verbose'
|
|
Generate extra output messages (equivalent of specifying the
|
|
"verbose" option in the simulator configuration section (see *note
|
|
Simulator Behavior: Simulator Behavior.).
|
|
|
`-f FILE'
|
`-f FILE'
|
`--file FILE'
|
`--file FILE'
|
Read configuration commands from the specified file, looking first
|
Read configuration commands from the specified file, looking first
|
in the current directory, and otherwise in the `$HOME/.or1k'
|
in the current directory, and otherwise in the `$HOME/.or1k'
|
directory. If this argument is not specified, the file `sim.cfg'
|
directory. If this argument is not specified, the file `sim.cfg'
|
Line 373... |
Line 348... |
server, otherwise a random value from the private port range
|
server, otherwise a random value from the private port range
|
(41920-65535) will be used. This option may not be specified with
|
(41920-65535) will be used. This option may not be specified with
|
`--nosrv'. If it is, a rude message is printed and the `--nosrv'
|
`--nosrv'. If it is, a rude message is printed and the `--nosrv'
|
option is ignored.
|
option is ignored.
|
|
|
|
`-m=SIZE'
|
|
`--memory=SIZE'
|
|
Configure a memory block of SIZE bytes, starting at address zero.
|
|
The size may be followed by `k', `K', `m', `M', `g', `G', to
|
|
indicate kilobytes (2^10 bytes), megabytes (2^20 bytes) and
|
|
gigabytes (2^30 bytes).
|
|
|
|
This is mainly intended for use when Or1ksim is used without a
|
|
configuration file, to allow just the processor and memory to be
|
|
set up. This is the equivalent of specifying a configuration
|
|
memory section with `baseaddr = 0' and `size = SIZE' and all other
|
|
parameters taking their default value.
|
|
|
|
If a configuration file is also used, it should be sure not to
|
|
specify an overlapping memory block.
|
|
|
`-d=CONFIG_STRING'
|
`-d=CONFIG_STRING'
|
`--debug-config=CONFIG_STRING'
|
`--debug-config=CONFIG_STRING'
|
Enable selected debug messages in Or1ksim. This parameter is for
|
Enable selected debug messages in Or1ksim. This parameter is for
|
use by developers only, and is not covered further here. See the
|
use by developers only, and is not covered further here. See the
|
source code for more details.
|
source code for more details.
|
|
|
`-i'
|
`--report-memory-errors'
|
`--interactive'
|
By default all exceptions are now handled silently. If this
|
After starting, drop into the Or1ksim interactive command shell.
|
option is specified, bus exceptions will be reported with a
|
|
message to standard error indicating the address at which the
|
|
exception occurred.
|
|
|
|
This was the default behaviour up to Or1ksim 0.4.0. This flag is
|
|
provided for those who wish to keep that behavior.
|
|
|
`--strict-npc'
|
`--strict-npc'
|
In real hardware, setting the next program counter (NPC, SPR 16),
|
In real hardware, setting the next program counter (NPC, SPR 16),
|
flushes the processor pipeline. The consequence of this is that
|
flushes the processor pipeline. The consequence of this is that
|
until the pipeline refills, reading the NPC will return zero.
|
until the pipeline refills, reading the NPC will return zero.
|
Line 518... |
Line 514... |
should be added to the link command.
|
should be added to the link command.
|
|
|
The header file `or1ksim.h' contains appropriate declarations of the
|
The header file `or1ksim.h' contains appropriate declarations of the
|
functions exported by the Or1ksim library. These are:
|
functions exported by the Or1ksim library. These are:
|
|
|
-- `or1ksim.h': int or1ksim_init (const char
|
-- `or1ksim.h': int or1ksim_init (int ARGC, char *ARGV, void
|
*CONFIG_FILE, const char *IMAGE_FILE, void *CLASS_PTR, int
|
*CLASS_PTR,
|
(*UPR)(void *CLASS_PTR, unsigned long int ADDR, unsigned char
|
int (*UPR)(void *CLASS_PTR, unsigned long int ADDR, unsigned char
|
MASK[], unsigned char RDATA[], int DATA_LEN), int (*UPW)(void
|
MASK[], unsigned char RDATA[], int DATA_LEN), int (*UPW)(void
|
*CLASS_PTR, unsigned long int ADDR, unsigned char MASK[], unsigned
|
*CLASS_PTR, unsigned long int ADDR, unsigned char MASK[], unsigned
|
char WDATA[], int DATA_LEN))
|
char WDATA[], int DATA_LEN))
|
|
|
The initialization function is supplied with the name of a
|
The initialization function is supplied with a vector of arguments,
|
configuration file, CONFIG_FILE, an executable image, IMAGE_FILE,
|
which are interpreted as arguments to the standalone version (see
|
a pointer to the calling class, CLASS_PTR (since the library may
|
*note Standalone Simulator: Standalone Simulator.), a pointer to
|
be used from C++) and two up-call functions, one for reads, UPR,
|
the calling class, CLASS_PTR (since the library may be used from
|
and one for writes, UPW.
|
C++) and two up-call functions, one for reads, UPR, and one for
|
|
writes, UPW.
|
*Note Configuration: Configuration, for detailed information on
|
|
configuring Or1ksim and the format of the configuration file.
|
|
|
|
UPW is called for any write to an address external to the model
|
UPW is called for any write to an address external to the model
|
(determined by a `generic' section in the configuration file).
|
(determined by a `generic' section in the configuration file).
|
UPR is called for any reads to an external address. The CLASS_PTR
|
UPR is called for any reads to an external address. The CLASS_PTR
|
is passed back with these upcalls, allowing the function to
|
is passed back with these upcalls, allowing the function to
|
Line 549... |
Line 543... |
Bytes to be read/written should have 0xff set in MASK. Otherwise
|
Bytes to be read/written should have 0xff set in MASK. Otherwise
|
the byte should be zero. The adddress, ADDR, is the _full_
|
the byte should be zero. The adddress, ADDR, is the _full_
|
address, since the upcall function must handle all generic
|
address, since the upcall function must handle all generic
|
devices, using the full address for decoding.
|
devices, using the full address for decoding.
|
|
|
Endianness is not completely transparent, since Or1ksim is
|
Endianness is not a concern, since Or1ksim is transferring byte
|
transferring byte vectors, not multi-byte values.
|
vectors, not multi-byte values.
|
|
|
Caution: This is a change from version 0.3.0. It simplifies
|
The result indicates whether the initialization was successful.
|
the interface, and makes Or1ksim more consistent with payload
|
The integer values are available as an `enum or1ksim', with
|
representation in SystemC TLM 2.0.
|
possible values `OR1KSIM_RC_OK' and `OR1KSIM_RC_BADINIT'.
|
|
|
|
Caution: This is a change from versions 0.3.0 and 0.4.0. It
|
|
further simplifies the interface, and makes Or1ksim more
|
|
consistent with payload representation in SystemC TLM 2.0.
|
|
|
Note: The current implementation of Or1ksim always transfers
|
Note: The current implementation of Or1ksim always transfers
|
single words (4 bytes), using masks if smaller values are
|
single words (4 bytes), using masks if smaller values are
|
required. In this it mimcs the behavior of the WishBone bus.
|
required. In this it mimcs the behavior of the WishBone bus.
|
|
|
|
|
-- `or1ksim.h': int or1ksim_run (double DURATION)
|
-- `or1ksim.h': int or1ksim_run (double DURATION)
|
Run the simulator for the simulated duration specified (in
|
Run the simulator for the simulated duration specified (in
|
seconds).
|
seconds). A duration of -1 indicates `run forever'
|
|
|
|
The result indicates how the run terminated. The integer values
|
|
are available as an `enum or1ksim', with possible values
|
|
`OR1KSIM_RC_OK' (ran for the full duration), `OR1KSIM_RC_BRKPT'
|
|
(terminated early due to hitting a breakpoint) and
|
|
`OR1KSIM_RC_HALTED' (terminated early due to hitting `l.nop 1').
|
|
|
|
|
-- `or1ksim.h': void or1ksim_reset_duration (double DURATION)
|
-- `or1ksim.h': void or1ksim_reset_duration (double DURATION)
|
Change the duration of a run specified in an earlier call to
|
Change the duration of a run specified in an earlier call to
|
`or1ksim_run'. Typically this is called from an upcall, which
|
`or1ksim_run'. Typically this is called from an upcall, which
|
Line 659... |
Line 663... |
|
|
For example a 12-bit register would have bits 0-7 in byte 0 and
|
For example a 12-bit register would have bits 0-7 in byte 0 and
|
bits 11-8 in the least significant 4 bits of byte 1.
|
bits 11-8 in the least significant 4 bits of byte 1.
|
|
|
|
|
|
-- `or1ksim.h': int or1ksim_read_mem (unsigned
|
|
long int ADDR, unsigned char *BUF, int LEN)
|
|
|
|
Read LEN bytes from ADDR, placing the result in BUF. Return LEN
|
|
on success and 0 on failure.
|
|
|
|
Note: This function was added in Or1ksim 0.5.0.
|
|
|
|
|
|
-- `or1ksim.h': int or1ksim_write_mem (unsigned
|
|
long int ADDR, unsigned char *BUF, int LEN)
|
|
|
|
Write LEN bytes to ADDR, taking the data from BUF. Return LEN on
|
|
success and 0 on failure.
|
|
|
|
Note: This function was added in Or1ksim 0.5.0.
|
|
|
|
|
|
-- `or1ksim.h': int or1ksim_read_spr (int SPRNUM, unsigned
|
|
long int *SPRVAL_PTR)
|
|
|
|
Read the SPR specified by SPRNUM, placing the result in
|
|
SPRVAL_PTR. Return non-zero on success and 0 on failure.
|
|
|
|
Note: This function was added in Or1ksim 0.5.0.
|
|
|
|
|
|
-- `or1ksim.h': int or1ksim_write_spr (int SPRNUM, unsigned
|
|
long int SPRVA)
|
|
|
|
Write SPRVAL to the SPR specified by SPRNUM. Return non-zero on
|
|
success and 0 on failure.
|
|
|
|
Note: This function was added in Or1ksim 0.5.0.
|
|
|
|
|
|
-- `or1ksim.h': int or1ksim_read_reg (int REGNUM, unsigned
|
|
long int *REGVAL_PTR)
|
|
|
|
Read the general purpose register specified by REGNUM, placing the
|
|
result in REGVAL_PTR. Return non-zero on success and 0 on failure.
|
|
|
|
Note: This function was added in Or1ksim 0.5.0.
|
|
|
|
|
|
-- `or1ksim.h': int or1ksim_write_reg (int REGNUM, unsigned
|
|
long int REGVA)
|
|
|
|
Write REGVAL to the general purpose register specified by REGNUM.
|
|
Return non-zero on success and 0 on failure.
|
|
|
|
Note: This function was added in Or1ksim 0.5.0.
|
|
|
|
|
|
-- `or1ksim.h': void or1ksim_set_stall_state (int
|
|
STATE)
|
|
|
|
Set the processor's state according to STATE (1 = stalled, 0 = not
|
|
stalled).
|
|
|
|
Note: This function was added in Or1ksim 0.5.0.
|
|
|
|
|
The libraries will be installed in the `lib' sub-directory of the main
|
The libraries will be installed in the `lib' sub-directory of the main
|
installation directory (as specified with the `--prefix' option to the
|
installation directory (as specified with the `--prefix' option to the
|
`configure' script).
|
`configure' script).
|
|
|
For example if the main installation directory is `/opt/or1ksim', the
|
For example if the main installation directory is `/opt/or1ksim', the
|
Line 714... |
Line 781... |
File: or1ksim.info, Node: Configuration File Format, Next: Simulator Configuration, Up: Configuration
|
File: or1ksim.info, Node: Configuration File Format, Next: Simulator Configuration, Up: Configuration
|
|
|
3.1 Configuration File Format
|
3.1 Configuration File Format
|
=============================
|
=============================
|
|
|
The configuration file is a plain text file.
|
The configuration file is a plain text file. A reference example,
|
|
`sim.cfg', is included in the top level directory of the distribution.
|
|
|
* Menu:
|
* Menu:
|
|
|
* Configuration File Preprocessing::
|
* Configuration File Preprocessing::
|
* Configuration File Syntax::
|
* Configuration File Syntax::
|
Line 848... |
Line 916... |
|
|
`prof_file = ``FILENAME'''
|
`prof_file = ``FILENAME'''
|
Specifies the file to be used with the `profile' parameter.
|
Specifies the file to be used with the `profile' parameter.
|
Default `sim.profile'. For backwards compatibility, the
|
Default `sim.profile'. For backwards compatibility, the
|
alternative name `prof_fn' is supported for this parameter, but
|
alternative name `prof_fn' is supported for this parameter, but
|
deprecated.
|
deprecated. Default `sim.profile'.
|
|
|
`mprofile = 0|1'
|
`mprofile = 0|1'
|
If 1 (true) generate a memory profiling file using the file
|
If 1 (true) generate a memory profiling file using the file
|
specified in the `mprof_file' parameter or otherwise
|
specified in the `mprof_file' parameter or otherwise
|
`sim.mprofile'. Default 0.
|
`sim.mprofile'. Default 0.
|
|
|
`mprof_fn = ``FILENAME'''
|
`mprof_file = ``FILENAME'''
|
Specifies the file to be used with the `mprofile' parameter.
|
Specifies the file to be used with the `mprofile' parameter.
|
Default `sim.mprofile'. For backwards compatibility, the
|
Default `sim.mprofile'. For backwards compatibility, the
|
alternative name `mprof_fn' is supported for this parameter, but
|
alternative name `mprof_fn' is supported for this parameter, but
|
deprecated.
|
deprecated. Default `sim.mprofile'.
|
|
|
`history = 0|1'
|
`history = 0|1'
|
If 1 (true) track execution flow. Default 0.
|
If 1 (true) track execution flow. Default 0.
|
|
|
Note: Setting this parameter seriously degrades performance.
|
Note: Setting this parameter seriously degrades performance.
|
Line 925... |
Line 993... |
Default `executed.log'. For backwards compatibility, the
|
Default `executed.log'. For backwards compatibility, the
|
alternative name `exe_log_fn' is supported for this parameter, but
|
alternative name `exe_log_fn' is supported for this parameter, but
|
deprecated.
|
deprecated.
|
|
|
`exe_bin_insn_log = 0|1'
|
`exe_bin_insn_log = 0|1'
|
Enable logging of executed instructions to a file in binary
|
Enable logging of executed instructions to a file in binary format.
|
format. This is helpful for off-line dynamic execution analysis.
|
This is helpful for off-line dynamic execution analysis.
|
|
|
Note: Execution logs can be _very_ big. For example, while
|
Note: Execution logs can be _very_ big. For example, while
|
booting the Linux kernel, version 2.6.34, a log file 1.2GB in
|
booting the Linux kernel, version 2.6.34, a log file 1.2GB in
|
size was generated.
|
size was generated.
|
|
|
Line 1009... |
Line 1077... |
|
|
`memory_order=none'
|
`memory_order=none'
|
Different memory ordering, even if there are dependencies.
|
Different memory ordering, even if there are dependencies.
|
Bursts can be made, width can change.
|
Bursts can be made, width can change.
|
|
|
|
`memory_order=weak'
|
Different memory ordering, even if there are dependencies. If
|
Different memory ordering, even if there are dependencies. If
|
dependencies cannot occur, then bursts can be made, width can
|
dependencies cannot occur, then bursts can be made, width can
|
change.
|
change.
|
|
|
|
`memory_order=strong'
|
Same memory ordering. Bursts can be made, width can change.
|
Same memory ordering. Bursts can be made, width can change.
|
|
|
|
`memory_order=exact'
|
Exactly the same memory ordering and widths.
|
Exactly the same memory ordering and widths.
|
|
|
|
|
The default value is `memory_order=exact'. Invalid memory
|
The default value is `memory_order=exact'. Invalid memory
|
orderings are ignored with a warning.
|
orderings are ignored with a warning.
|
Line 1222... |
Line 1293... |
using the `pattern' field in this section (see below).
|
using the `pattern' field in this section (see below).
|
|
|
`unknown'
|
`unknown'
|
The memory values are not initialized (i.e. left "unknown").
|
The memory values are not initialized (i.e. left "unknown").
|
This option will yield faster initialization of the
|
This option will yield faster initialization of the
|
simulator.
|
simulator. This is the default.
|
|
|
`zero'
|
`zero'
|
Set the memory values to be 0. This is the equivalent of
|
Set the memory values to be 0. This is the equivalent of
|
`type=pattern' and a `pattern' value of 0, and implemented as
|
`type=pattern' and a `pattern' value of 0, and implemented as
|
such.
|
such.
|
Line 1753... |
Line 1824... |
this port.
|
this port.
|
|
|
Tip: There is no registered port for Or1ksim telnet UART
|
Tip: There is no registered port for Or1ksim telnet UART
|
connection. Priviledged access is required to read
|
connection. Priviledged access is required to read
|
traffic on the registered "well-known" telnet port (23).
|
traffic on the registered "well-known" telnet port (23).
|
Instead users should use port values in the "Dynamic"
|
Instead users should use port values in the "Dynamic" or
|
or "Private" port range, i.e. 49152-65535.
|
"Private" port range, i.e. 49152-65535.
|
|
|
`channel="fd:`rxfd',`txfd'"'
|
`channel="fd:`rxfd',`txfd'"'
|
Read and write characters from and to the existing open
|
Read and write characters from and to the existing open
|
numerical file descriptors, file `rxfd' and `txfd'.
|
numerical file descriptors, file `rxfd' and `txfd'.
|
|
|
`channel="tty:device=/dev/ttyS0,baud=9600"'
|
`channel="tty:device=/dev/ttyS0,baud=9600"'
|
Read and write characters from and to a physical serial port.
|
Read and write characters from and to a physical serial port.
|
The precise device (shown here as `/dev/ttyS0') may vary
|
The precise device (shown here as `/dev/ttyS0') may vary from
|
from machine to machine.
|
machine to machine.
|
|
|
|
|
The default value for this field is `"xterm:"'.
|
The default value for this field is `"xterm:"'.
|
|
|
`irq = VALUE'
|
`irq = VALUE'
|
Line 2170... |
Line 2241... |
|
|
`rev = VALUE'
|
`rev = VALUE'
|
Set the VALUE as the revision of the OCIDEC ATA/ATAPI interface.
|
Set the VALUE as the revision of the OCIDEC ATA/ATAPI interface.
|
The default value is 1. The default value is 0. Its value should
|
The default value is 1. The default value is 0. Its value should
|
be in the range 0-15. Larger values are truncated with a warning.
|
be in the range 0-15. Larger values are truncated with a warning.
|
This only affects the reset value of the `STAT' register, where
|
This only affects the reset value of the `STAT' register, where it
|
it forms bits 24-27.
|
forms bits 24-27.
|
|
|
`pio_mode0_t1 = VALUE'
|
`pio_mode0_t1 = VALUE'
|
`pio_mode0_t2 = VALUE'
|
`pio_mode0_t2 = VALUE'
|
`pio_mode0_t4 = VALUE'
|
`pio_mode0_t4 = VALUE'
|
`pio_mode0_teoc = VALUE'
|
`pio_mode0_teoc = VALUE'
|
Line 2229... |
Line 2300... |
system hard disk.
|
system hard disk.
|
|
|
`file = "FILENAME"'
|
`file = "FILENAME"'
|
`filename' specifies the file to be used for a simulated ATA
|
`filename' specifies the file to be used for a simulated ATA
|
device if the file type (see `type' above) is 1. Default value
|
device if the file type (see `type' above) is 1. Default value
|
`"ata-FileN"', where N is the device number.
|
`"ata_fileN"', where N is the device number.
|
|
|
`size = VALUE'
|
`size = VALUE'
|
VALUE specifies the size of a simulated ATA device if the file
|
VALUE specifies the size of a simulated ATA device if the file
|
type (see `type' above) is 1. The default value is zero.
|
type (see `type' above) is 1. The default value is zero.
|
|
|
Line 2950... |
Line 3021... |
directory and create a `Makefile.am' in the new directory to drive
|
directory and create a `Makefile.am' in the new directory to drive
|
building the test program(s). Don't forget to add the new
|
building the test program(s). Don't forget to add the new
|
`Makefile' to the top level `configure.ac' so it gets generated.
|
`Makefile' to the top level `configure.ac' so it gets generated.
|
Not all tests require code here.
|
Not all tests require code here.
|
|
|
* Put new target C code in its own directory within
|
* Put new target C code in its own directory within `test-code-or1k'.
|
`test-code-or1k'. Once again modify & create `Makefile.am'. this
|
Once again modify & create `Makefile.am'. This time modify the
|
time though modify the `configure.ac' in the `test-code-or1k' so
|
`configure.ac' in the `test-code-or1k' so the `Makefile' gets
|
the `Makefile' gets generated. The existing programs provide
|
generated. The existing programs provide examples to start from,
|
examples to start from, including custom linker scripts where
|
including custom linker scripts where needed.
|
needed.
|
|
|
|
* Add one or more tests and configuration files to the relevant
|
* Add one or more tests and configuration files to the relevant
|
"tool" test directory. Use the existing tests as templates. They
|
"tool" test directory. Use the existing tests as templates. They
|
make heavy use of the `expect'/TCL procedures in the `config'
|
make heavy use of the `expect'/TCL procedures in the `config'
|
directory to facilitate driving the tests.
|
directory to facilitate driving the tests.
|
Line 3406... |
Line 3476... |
|