From e267fc31c65b383353289cf794e4f4b9c0e1155a Mon Sep 17 00:00:00 2001 From: Jacek Galowicz Date: Sun, 16 Sep 2012 10:58:37 +0200 Subject: [PATCH] Documentation of the configuration and compiling process was updated to our switch to the newer GCC. --- documentation/text/compilation.dox | 34 +++++++++++++----------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/documentation/text/compilation.dox b/documentation/text/compilation.dox index c883820c..67ca221c 100644 --- a/documentation/text/compilation.dox +++ b/documentation/text/compilation.dox @@ -16,11 +16,10 @@ * * \verbatim$ git clone git://git.lfbs.rwth-aachen.de/metalsvm.git \endverbatim * - * If you are asked for a password you are not authorized to clone the repository. In this case you will need to get your public SSH key authorized. - * * @section compiling Compiling MetalSVM * - * To compile MetalSVM, you will need a proper Makefile and configuration. To use the example files, just do the following: + * To compile MetalSVM, you will need a proper Makefile and configuration. + * To use the example files, just do the following: * * \verbatim $ cd MetalSVM @@ -28,8 +27,10 @@ $ cp Makefile.example Makefile $ (cd include/metalsvm; cp config.h.example config.h) \endverbatim * * The standard configuration works on usual PC hardware configurations as well as in emulators. + * There are also preconfigured example configs for the Intel SCC: `Makefile.scc` and `config.h.scc`. * - * Compiler settings can be edited in the Makefile, while the kernel configuration can be found in the just copied configuration file. + * Compiler settings can be edited in the Makefile, while the kernel configuration can be + * found in the configuration header file. * * @section runqemu Running MetalSVM in Qemu * @@ -41,19 +42,12 @@ $ (cd include/metalsvm; cp config.h.example config.h) \endverbatim * * @section runscc Running MetalSVM on the Intel SCC * - * -# Intel recommends to use their cross-compiler for generating code which is guaranteed to be SCC-compatible. Just set the environment variables with the following command: - * \verbatim$ . /opt/compilerSetupFiles/crosscompile.sh \endverbatim - * -# The Makefile needs to be adapted to actually use the cross compiler. - * Just uncomment two lines like seen here: - * \code -# Set your own cross compiler tool chain prefix here -CROSSCOMPREFIX= - -# Uncomment both lines if compiling for the SCC! -CROSSCOMPREFIX=i386-unknown-linux-gnu- -STACKPROT=\endcode - * -# Another important change in the Makefile is disabling the "-fno-stack-protector" option. It occurs several times. - * -# The SCC requires a special configuration for the MetalSVM kernel: + * -# Although Intel provides a special older GCC version for compiling code for the Intel SCC, + * the MetalSVM project switched to the current standard GCC. You don't need to source + * the cross compiler script which might be installed on your MCPC. + * -# An important change in the Makefile is disabling the "-fno-stack-protector" option. It occurs several times. This has already been done for you if you use `Makefile.scc`. + * -# The SCC requires a special configuration for the MetalSVM kernel (Already been done + * if you use `config.h.scc`): * \code //#define CONFIG_PCI //#define CONFIG_VGA @@ -78,6 +72,7 @@ STACKPROT=\endcode * \verbatim $ cd tools $ make SCC \endverbatim +* * -# The \c obj directory was just created, containing the MetalSVM kernel image. It can be loaded into the SCC's memory using \verbatim$ sccBoot -g obj \endverbatim * -# The default configuration lets MetalSVM run only on core 0. Its reset pin needs to be released: * \verbatim$ sccReset -r 0x00 \endverbatim @@ -90,9 +85,10 @@ $ make SCC \endverbatim * -# Build the kernel like described above (items 1-7) and change to the \c tools directory. * -# Now the file \c metalsvm.mt can be edited, depending on how many cores you want MetalSVM running. * Just remove the cores which shall be unaffected. Having a slim \c metalsvm.tm accelerates the build procedure. - * -# The final image must be generated then with \code$ make SCC\endcode + * -# The final image must be generated then with \code$ make SCC CORENUM=48\endcode + * where `CORENUM` is set to the actual number of cores which shall work together later. * -# A directory \c obj was created, containing the final MetalSVM Image. This image can now be loaded with the following command: \code$ sccBoot -g obj\endcode - * -# Everything has been placed in the cores' memory. To release the reset pins of the corresponding cores, type \code$ sccReset -r 0x00 0x01\endcode + * -# Everything has been placed in the cores' memory. To release the reset pins of the corresponding cores, type \code$ sccReset -r 0 1 2 3 ...\endcode * * @section msvmuart Enabling UART support *