Sulima Core Documentation

Overview

Most of Sulima code has been written in C++. The simulator makes extensive use of the ISO C++ features, but does not utilise the standard C++ library except for a few core components such as <typeinfo>. It has been successfully compiled with GNU C++ 2.95.2. Versions of GCC earlier than 2.95 cannot swallow much of Sulima's use of templates.

Class hierarchy

The following global classes have been implemented in Sulima. Each class has a corresponding header in include/sulima which should be included by all files that refer to that class. For consistency reasons, this is true even for trivial classes such as OutOfMemory and Sulima.

           
MIPS64BasicBus
MIPS64Bus
MIPS64SimpleBus
BasicMemDevice
MemDevice
Console
MT49Tx2
MuxDevice
ROM
NullDevice
BasicPCIDevice
PCIDevice
NullDevice
BasicProcessor
Processor
InterruptController
MIPS64
Chameleon
Koala
SPARCv9
Dynamic
Event
Module
DynamicType
InputStream
InputBuffer
OutputStream
BasicModule
Module
DataBus
MemDevice
PCIDevice
Processor
Sulima
Error
ConfError
FileError
OutOfMemory
SysError
OutputBuffer

Headers

The following additional headers are made avaliable for general use:

<sulima/base>
<sulima/int>