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.
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
The following additional headers are made avaliable for general use: