Skip to content

Commit

Permalink
Switched to kernel 4.4 for VExpress_GEM5_V1
Browse files Browse the repository at this point in the history
Previous release was using 4.3
  • Loading branch information
pcabre committed Apr 26, 2017
1 parent a926d98 commit 065d9e6
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 19 deletions.
6 changes: 3 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,9 @@ RUN cp boot.arm boot_emm.arm /generated_files/binaries

#checkout and build kernel for VExpress_GEM5_V1
WORKDIR /
RUN git clone https://github.com/gem5/linux-arm-gem5.git -b gem5/v4.3 linux-arm-gem5_4.3
WORKDIR linux-arm-gem5_4.3
RUN git rev-parse --short HEAD > /generated_files/revisions/linux-arm-gem5_4.3
RUN git clone https://github.com/gem5/linux-arm-gem5.git -b gem5/v4.4 linux-arm-gem5_4.4
WORKDIR linux-arm-gem5_4.4
RUN git rev-parse --short HEAD > /generated_files/revisions/linux-arm-gem5_4.4
RUN make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- gem5_defconfig
RUN make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4
RUN cp vmlinux /generated_files/binaries/vmlinux.vexpress_gem5_v1_64.$(cat /release_date.txt)
Expand Down
32 changes: 16 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# gem5_arm_fullsystem_files_generator
Generator of kernels, bootloaders, DTBs and disk images for aarch32 and aarch64 gem5 Full System simulations (updated April 2017)
Generator of kernels, bootloaders, DTBs and disk images for aarch32 and aarch64 gem5 Full System simulations (updated April 26 2017)

## List of known changes from [aarch-system-2014-10.tar.xz](http://www.gem5.org/dist/current/arm/aarch-system-2014-10.tar.xz)
1. The aarch64 bootloader is newer ([info](https://gem5.googlesource.com/public/gem5/+/47326f54222af99d96ab57508449d1bb62d03842)).
2. The DTB for the VExpress_EMM64 platform is newer ([info](https://github.com/gem5/linux-arm64-gem5/commit/24fd6238427aad5c212493efeb1)).
3. Added DTBs and kernels for the VExpress_GEM5_V1\* platforms.
3. Added DTBs and kernels (version 4.4) for the VExpress_GEM5_V1\* platforms.
4. Updated the /sbin/m5 binary for the different disk images ([info](https://gem5.googlesource.com/public/gem5/+/d4c1600c4e3e4f380f5582f8bfba97fb466a18ce)).
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)
Expand All @@ -14,17 +14,17 @@ Generator of kernels, bootloaders, DTBs and disk images for aarch32 and aarch64
2. Optionally let users run docker as non-root ([info](https://docs.docker.com/engine/installation/linux/linux-postinstall/#manage-docker-as-a-non-root-user)).

## 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-20170421.tar.xz file in the same directory.
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-20170426.tar.xz file in the same directory.
* `./run.sh`
2. Create a new_m5_path directory and untar the contents of the aarch-system-20170421.tar.xz file into it.
2. Create a new_m5_path directory and untar the contents of the aarch-system-20170426.tar.xz file into it.
* `mkdir new_m5_path`
* `tar xJvf aarch-system-20170421.tar.xz -C new_m5_path`
* `tar xJvf aarch-system-20170426.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. These are the values for the "April 2017" release:
* `gem5: 3cc6df4`
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. These are the values for the "April 26 2017" release:
* `gem5: 2ee0992`
* `linux-arm64-gem5: 24fd623`
* `linux-arm-gem5 (gem5/v4.3 branch): d5545a8`
* `linux-arm-gem5 (gem5/v4.4 branch): 2e54922`
* `linux-arm-gem5 (gem5/linaro branch): b2af788`

## How to use the files
Expand All @@ -37,8 +37,8 @@ These are some example command lines depending on the simulated platform:
./build/ARM/gem5.opt \
configs/example/fs.py \
--machine-type=VExpress_GEM5_V1 \
--dtb=armv8_gem5_v1_1cpu.20170421.dtb \
--kernel=vmlinux.vexpress_gem5_v1_64.20170421 \
--dtb=armv8_gem5_v1_1cpu.20170426.dtb \
--kernel=vmlinux.vexpress_gem5_v1_64.20170426 \
--script=$PWD/tests/halt.sh
```

Expand All @@ -47,8 +47,8 @@ configs/example/fs.py \
./build/ARM/gem5.opt \
configs/example/fs.py \
--machine-type=VExpress_GEM5_V1 \
--dtb=armv7_gem5_v1_1cpu.20170421.dtb \
--kernel=vmlinux.vexpress_gem5_v1.20170421 \
--dtb=armv7_gem5_v1_1cpu.20170426.dtb \
--kernel=vmlinux.vexpress_gem5_v1.20170426 \
--script=$PWD/tests/halt.sh
```

Expand All @@ -58,8 +58,8 @@ For this command to work, one may need to remove the VExpress_EMM64 platform fro
./build/ARM/gem5.opt \
configs/example/fs.py \
--machine-type=VExpress_EMM64 \
--dtb=aarch64_gem5_server.20170421.dtb \
--kernel=vmlinux.vexpress_emm64.20170421 \
--dtb=aarch64_gem5_server.20170426.dtb \
--kernel=vmlinux.vexpress_emm64.20170426 \
--script=$PWD/tests/halt.sh
```

Expand All @@ -69,7 +69,7 @@ For this command to work, one may need to remove the VExpress_EMM platform from
./build/ARM/gem5.opt \
configs/example/fs.py \
--machine-type=VExpress_EMM \
--dtb=vexpress-v2p-ca15-tc1-gem5.20170421.dtb \
--kernel=vmlinux.vexpress_emm.20170421 \
--dtb=vexpress-v2p-ca15-tc1-gem5.20170426.dtb \
--kernel=vmlinux.vexpress_emm.20170426 \
--script=$PWD/tests/halt.sh
```

0 comments on commit 065d9e6

Please sign in to comment.