UNDER DEVELOPMENT == MPC7447A Processor Functional Description == This hardware component is a Freescale MPC7447A, a 32-bit implementation of the PowerPC architecture used for both general purpose (PowerMacintosh and CHRP machines) and embedded applications (industrial and network). This model is still in development and currently uses [wiki:Component/IssWrapper IssWrapper] to connect the ISS to the VCI xcache. The model should run applications not requiring the standard PowerPC MMU, and the PowerPC specific TLB and cache instructions. == Compiling the ISS == Some additionnal step are necessary to compile the model that will be removed once the model will be stable enough. The model needs three things to compile: * the macro SOCLIB must be defined: add '-DSOCLIB' to 'cflags' * libxml2 development headers must be installed: add -L/usr/include/libxml2 to the 'cflags' and -lxml2 to the 'libs' * UNISIM Library somewhere on the file system and do a symbolic link source and include directories: {{{ $ svn --username guest --password "" export https://unisim.org/svn/devel/unisim_lib/unisim@10987 $ ln -s unisim `soclib-cc --getpath`/soclib/lib/mpc7447a/src/iss/unisim $ ln -s unisim `soclib-cc --getpath`/soclib/lib/mpc7447a/include/iss/unisim }}} Here is a sample for soclib.conf to make it compile: {{{ # -*- python -*- # Maintainers: nipo def _platform(): """ Retrieves platform information and make it look-like systemc's lib-xxx thing. Working so far with: * linux * darwin """ import sys pf = sys.platform # Strip numeric suffix from platform name while pf[-1] in "0123456789": pf = pf[:-1] remap_pf = {'darwin':'macosx'} if pf in remap_pf: pf = remap_pf[pf] return pf config.systemc = Config( base = config.systemc, dir = "${SYSTEMC}", os = _platform(), ) config.mytoolchain = Config( base= config.toolchain, cflags=['-DSOCLIB', '-I/usr/include/libxml2'], libs=['-lxml2', '-lbfd'] ) config.default = Config( base = config.build_env, systemc = config.systemc, toolchain = config.mytoolchain, repos = "/tmp/build/sc", ) }}} == Example platform == An example platform is available in directory soclib/soclib/platform/topcells/caba-vgmn-mpc7447a It uses one MPC7447A module (Wrapped ISS), one VGMN interconnect module, two memory banks, and one output console (TTY). An software example is provided. The software includes a primitive firmware with some installed exceptions handlers and a primitive library to write characters on the TTY. [[Image(caba-vgmn-mpc7447a-tty-soft.png)]]