blob: 078b966725d9fca4a6e39e93d4a5216dc9f1c77b [file] [log] [blame]
/*
* Copyright 2008 Sony Corporation of America
*
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this Library and associated documentation files (the
* "Library"), to deal in the Library without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Library, and to
* permit persons to whom the Library is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Library.
*
* If you modify the Library, you may copy and distribute your modified
* version of the Library in object code or as an executable provided
* that you also do one of the following:
*
* Accompany the modified version of the Library with the complete
* corresponding machine-readable source code for the modified version
* of the Library; or,
*
* Accompany the modified version of the Library with a written offer
* for a complete machine-readable copy of the corresponding source
* code of the modified version of the Library.
*
*
* THE LIBRARY IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* LIBRARY OR THE USE OR OTHER DEALINGS IN THE LIBRARY.
*/
MARS Base README
Overview
========
The MARS (Multicore Application Runtime System) base package provides libraries
to manage and create user programs that will be scheduled to run on various MPUs
of a multicore environment with minimal runtime support required of the host.
The main components of the base package are:
- MARS host base library
- MARS MPU base library
- MARS MPU kernel
/base
|
|---/include Include directory
| |
| |---/mars MARS include sub-directory
| |
| |---/common All common header files shared by both host and MPU
| |
| |---/host All host specific header files
| |
| |---/mpu All MPU specific header files
|
|---/src Source directory
|
|---/host All host source files
| |
| |---/lib Source files for host MARS base library
|
|---/mpu All MPU source files
|
|---/kernel Source files for MPU MARS kernel
|
|---/lib Source files for MPU MARS base library
Building
========
* See the source file INSTALL for generic build info.
* The configure scripts require the option --with-mars-platform. Currently,
only the Cell Broadband Engine (--with-mars-platfrom=cell) is supported.
* Use the prefixes PPU_ and SPU_ on command line variables to the top level
configure to specify variables for the different Cell toolchains.
* When building 64-bit libraries for a powerpc host it is customary to use
the --libdir configure option to install the libraries in a EPREFIX/lib64
directory. Run configure with the --help option for more info.
For example, when using the Cell SDK toolchains use options similar to these:
32-bit powerpc host
-------------------
./configure \
--with-mars-platform=cell SPU_CC=spu-gcc PPU_CC=ppu-gcc PPU_CFLAGS=-m32
64-bit powerpc host
-------------------
./configure \
--libdir="/usr/lib64" \
--with-mars-platform=cell SPU_CC=spu-gcc PPU_CC=ppu-gcc PPU_CFLAGS=-m64