aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: bb60441f00490a1b8d47a191931d3a3e5409ad05 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
QtMips
======
MIPS CPU simulator for education purposes.

Dependencies
------------
* Qt 5 (version 4 is not tested but it might work)
* libelf

Compilation
-----------
To compile whole project just run these commands:
```
qmake /path/to/qtmips
make
```
Where `/path/to/qtmips` is path to this project root.

Running
-------
Because simulator it self is implemented as library you need to have that library
in common path where loader can found it. Which is not commonly a case, so you can
also run it using this command (in case of cli version, gui version is the same)
```
LD_LIBRARY_PATH=qtmips_machine qtmips_cli/qtmips_cli
```

Tests
-----
There are two types of tests in QtMips. One type are unit tests for simulator it
self and second one are integration tests with command line client and real
compiled elf binaries. All these tests can be executed using script
`tests/run-all.sh` or one by one by running respective `test.sh` scripts.

Source files for unit tests can be found in path `qtmips_machine/tests` and
integration tests are located in `tests` directory.

Not implemented features
------------------------
These are features that are not implemented and are not currently being planned as
being so.

* Privileged instructions and all features dependent on it
* Coprocessors (so no floating point unit nor any other type)
* Peripherals