SMMU example project for Xilinx Platform Studio (XPS)
This project assumes you have a Xilinx ML505 FPGA prototyping board,
but if you are familiar with XPS, you can adapt it for any other 
Xilinx FPGA board. 

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

At the command line, you can build the project by:
- Get access to the Xilinx tools, e.g. by sourcing the
  "settings64.sh" script in the EDK install directory (on Unix).
- Run "xps -nw ml505_bsb_system.xmp"
  and enter "save make" followed by "exit"
- Run "make -f ml505_bsb_system.make init_bram"
- This will (eventually) produce a file named "download.bit"
  in the "implementation" directory. This is the complete 
  system: it includes a boot ROM which accepts programs sent
  via the serial line. See the smmu_software package (on the web site)
  for suitable software.

In the XPS GUI, a similar process can be carried out using menu options.

Error messages like the following:-

    ERROR:MDT - issued from TCL procedure
    "::hw_microblaze_v7_10_d::check_syslevel_settings" line 41
    microblaze_0 (microblaze) - Detected non-standard LMB slave: smmu. XILINX
    does not support using the LMB interface with any IP except
    LMB_BRAM_IF_CNTLR. Other IP may severely limit the processor maximum
    frequency. 

should be solved by:
(1) copying the microblaze_v7_10_d directory
(search your EDK directory for it) to the pcores subdirectory
of the place where this README file resides, then (2) applying
a patch file using the command:

    cd pcores
    cp -r $XILINX_EDK/hw/XilinxProcessorIPLib/pcores/microblaze_v7_10_d .
    patch -p1 <microblaze.patch

