Microblaze/SMMU Simulator

** For information about the SMMU please visit
** http://www.jwhitham.org.uk/c/smmu.html


This package contains:
    A Microblaze-compatible CPU simulator
    An ELF file reader
    A simulated memory and device system
    An SMMU simulator

There are two programs:
    - A memory profiler
    - A simulator frontend.


You're advised to use a Linux system to build these programs, but the 
C source code should compile anywhere. Python is required to generate
some of the C code. You also need "libelf" installed. Do 
"apt-get install libelf-dev" (on Debian and derivatives) if you don't 
have it.

Once you have compiled the simulator, test it by running it
on the programs in the test subdirectory.

    ./simulator test/mbtest1.elf  <- opcode test, written in assembly
    ./simulator test/mbtest2.elf  <- another opcode test, written in C
    ./simulator test/djpeg.elf    <- JPEG decoding (uses SMMU)
    ./simulator test/djpeg2.elf   <- JPEG decoding, alternate version of binary
    ./simulator test/smmutest.elf <- SMMU test (runs for a long time)

The ./memprof program produces the data that appears in the case study
in the first SMMU technical report (http://www.jwhitham.org.uk/c/smmu.html).
It always uses the JPEG programs (takes no parameters). It produces a number
of .tex files and a report on the standard output.


