Giter Site home page Giter Site logo

hoangt / gem5_arm_fullsystem_files_generator Goto Github PK

View Code? Open in Web Editor NEW

This project forked from metempsy/gem5_arm_fullsystem_files_generator

0.0 2.0 0.0 17 KB

Generator of kernels, bootloaders, DTBs and disk images for aarch32 and aarch64 gem5 Full System simulations (updated April 2018)

License: GNU General Public License v2.0

Shell 100.00%

gem5_arm_fullsystem_files_generator's Introduction

gem5_arm_fullsystem_files_generator

Generator of kernels, bootloaders, DTBs and disk images for aarch32 and aarch64 gem5 Full System simulations (updated April 2018)

List of known changes from aarch-system-2014-10.tar.xz

  1. The aarch64 bootloader is newer (info).
  2. The DTB for the VExpress_EMM64 platform is newer (info).
  3. Added DTBs and kernels (version 4.14) for the VExpress_GEM5_V1 platforms.
  4. Updated the /sbin/m5 binary for the different disk images (info, info).
  5. Kernel for VExpress_EMM is 3.14 (it used to be 3.13)
  6. Kernels for VExpress_EMM* platforms are compiled with gcc 4.8.5 (it used to be 4.8.2)

Prerequisites for generating the files (tested on an Ubuntu 16.04 environment)

  1. Docker must be installed (info).
  2. Optionally let users run docker as non-root (info).

How to generate the files

  1. Just run the run.sh script on the cloned repository (use sudo if you did not let users run docker as non-root as indicated above). On a successful run (that may take more than an hour), the user will get the aarch-system-.tar.xz file in the same directory.
    • ./run.sh
  2. Create a new_m5_path directory and untar the contents of the generated aarch-system-.tar.xz file into it.
    • mkdir new_m5_path
    • tar xJvf aarch-system-<date>.tar.xz -C new_m5_path
  3. Make the M5_PATH environment variable point to the new directory before running any gem5 arm FullSystem simulation.
    • export M5_PATH=$PWD/new_m5_path
  4. Under new_m5_path/revisions, one will find the SHA-1 hash of the revision used for each repository involved in the files generation.

How to use the files

There are files generated for the VExpress_GEM5_V1 (both aarch32 and aarch64), VExpress_EMM (aarch32) and VExpress_EMM64 (aarch64) platforms.

These are some example command lines depending on the simulated platform:

VExpress_GEM5_V1 aarch64

./build/ARM/gem5.opt \
configs/example/fs.py \
--machine-type=VExpress_GEM5_V1 \
--dtb=armv8_gem5_v1_1cpu.dtb \
--kernel=vmlinux.vexpress_gem5_v1_64 \
--script=$PWD/tests/halt.sh

VExpress_GEM5_V1 aarch32

./build/ARM/gem5.opt \
configs/example/fs.py \
--machine-type=VExpress_GEM5_V1 \
--dtb=armv7_gem5_v1_1cpu.dtb \
--kernel=vmlinux.vexpress_gem5_v1 \
--script=$PWD/tests/halt.sh

VExpress_EMM64

For this command to work, one may need to remove the VExpress_EMM64 platform from the default_kernels dictionary in configs/common/FSConfig.py (or add a copy/link of the old vmlinux.aarch64.20140821 kernel from aarch-system-2014-10.tar.xz to $M5_PATH/binaries)

./build/ARM/gem5.opt \
configs/example/fs.py \
--machine-type=VExpress_EMM64 \
--dtb=aarch64_gem5_server.dtb \
--kernel=vmlinux.vexpress_emm64 \
--script=$PWD/tests/halt.sh

VExpress_EMM

For this command to work, one may need to remove the VExpress_EMM platform from the default_kernels dictionary in configs/common/FSConfig.py (or add a copy/link of the old vmlinux.aarch32.ll_20131205.0-gem5 kernel from aarch-system-2014-10.tar.xz to $M5_PATH/binaries)

./build/ARM/gem5.opt \
configs/example/fs.py \
--machine-type=VExpress_EMM \
--dtb=vexpress-v2p-ca15-tc1-gem5_1cpus.dtb \
--kernel=vmlinux.vexpress_emm \
--script=$PWD/tests/halt.sh

gem5_arm_fullsystem_files_generator's People

Contributors

pcabre avatar relokin avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.