Documentation of the configuration and compiling process was updated to
our switch to the newer GCC.
This commit is contained in:
parent
459ceaa42d
commit
e267fc31c6
1 changed files with 15 additions and 19 deletions
|
@ -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
|
||||
*
|
||||
|
|
Loading…
Add table
Reference in a new issue