Each of the following directories in rsim-1.0 contains a Makefile for a specific simulation host platform and simulation target store-ordering policy. RSIM versions with store-ordering support the memory consistency models of sequential consistency and processor consistency, while versions without store-ordering support release consistency. (See Chapter 3 for more details.) Except where noted otherwise, the makefiles in the directories below compile a simulator for a release-consistency target system. Debugging makefiles are also provided to compile RSIM with debugging and tracing options. All makefiles are provided for the standard make utility for each system.
Makefile assumes GNU C and C++ compilers, version 2.5.8 or above
Makefile assumes SGI C and C++ compilers, version 6.2 or above
Makefile assumes SUN C and C++ compilers, version 4.0 or above
Makefile assumes SUN C and C++ compilers, version 4.0 or above
Makefile assumes SUN C and C++ compilers, version 4.0 or above
Makefile assumes GNU C and C++ compilers, version 2.5.8 or above
These makefiles create an executable called rsim. For example, to make an rsim executable that will run on a Convex Exemplar target to simulate a system with processor consistency, the user should type the following in the rsim-1.0 directory:
prompt% cd obj/SC_hp
prompt% make rsim
This sequence should cause the system to start compiling all of the C and C++ source files of RSIM into relocatable object files. After this, the make utility links these object files to form the rsim executable. The compile-time parameters specified in the Makefile are listed in Section 4.3.
Additionally, the predecode executable must be created on any of the Sun platforms listed above by typing the commands below from the rsim-1.0 directory (any of the Sun directories listed above may be used in place of ss10):
prompt% cd obj/ss10
prompt% make predecode
predecode translates the instructions of a SPARC application executable into a form that can be processed by RSIM, as explained in Section 1.
unelf must be built and run only if the user intends to run RSIM
on platforms that do not support the ELF library
functions. unelf must be built on a
platform that supports ELF (such as a Sun platform
with Solaris). For example, unelf can be built on a SPARCstation
10 by typing the following command
sequence from the rsim-1.0 directory:
prompt% cd obj/ss10
prompt% make unelf
It should be relatively simple to compile rsim, predecode, and unelf for related systems in the same processor and operating system families as specified above. The optimization options in the makefile may need to be changed to represent a processor of a different generation, and some C preprocessor flags may need to be defined or left undefined according to the characteristics of the specified system. Additionally, it should also be straightforward to change the Makefiles to run with another make utility on a supported platform, such as gnumake. The file obj/README documents the possible changes needed.
Porting RSIM to other architectures may or may not be straightforward. In particular, porting to 64-bit platforms or little-endian platforms may require additional effort.