resources: Merge branch 'master' into develop
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index a67107b..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-output
-__pycache__/
diff --git a/README.md b/README.md
index b2070d3..a6c339a 100755
--- a/README.md
+++ b/README.md
@@ -34,9 +34,9 @@
 applicable to gem5-resources.
 
 The compiled resources for gem5 can be found under
-http://dist.gem5.org/dist/{VERSION}. E.g. compiled resources for gem5 v20.2.0.0
+http://dist.gem5.org/dist/{VERSION}. E.g. compiled resources for gem5 v20.2.0.2
 are under http://dist.gem5.org/dist/v20-2-0-2 and are compiled from
-gem5-resources v20.2.0.0. http://dist.gem5.org/dist/develop is kept in sync
+gem5-resources v20.2.0.2. http://dist.gem5.org/dist/develop is kept in sync
 with the develop branch, and therefore should not be depended upon for stable,
 regular usage.
 
@@ -63,7 +63,7 @@
 The change will then be reviewed via our [Gerrit code review system](
 https://gem5-review.googlesource.com). Once fully accepted and merged into
 the gem5-resources repository, please contact Bobby R. Bruce
-[mailto:bbruce@ucdavis.edu](bbruce@ucdavis.edu) to have the compiled sources
+[bbruce@ucdavis.edu](mailto:bbruce@ucdavis.edu) to have the compiled sources
 uploaded to the gem5 resources bucket.
 
 # Requirements
@@ -359,15 +359,11 @@
 
 ## Compilation
 
-To compile Square the [ROCM HIPCC Compiler](
-https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html)
-must be installed.
-
 To compile:
 
 ```
 cd src/square
-make gfx8-apu
+docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu make gfx8-apu
 ```
 
 The compiled binary can be found in `src/square/bin`
@@ -376,12 +372,22 @@
 
 <http://dist.gem5.org/dist/v20/test-progs/square/square.o>
 
-# Resource: SPEC-2006 tests
+# Resource: SPEC 2006
 
-Contains scripts to create a disk image and to run SPEC-2006 tests on gem5.
-Instructions on how to use these scripts can be found here `src/spec2006-tests/README.md`.
+The [Standard Performance Evaluation Corporation](
+https://www.spec.org/benchmarks.html) (SPEC) CPU 2006 benchmarks are designed
+to provide performance measurements that can be used to compare
+compute-intensive workloads on different computer systems. SPEC CPU 2006
+contains 12 different benchmark tests.
 
-# Resource: SPEC 2017 tests
+`src/spec-2006` provides resources on creating a SPEC 2006 disk image, and
+necessary scripts to run the SPEC 2006 benchmarks within X86 gem5 simulations.
+Please consult the `src/spec-2006/README.md` for more information.
+
+**Please note, due to licensing issues, the SPEC 2006 iso cannot be provided
+as part of this repository.**
+
+# Resource: SPEC 2017
 
 The [Standard Performance Evaluation Corporation](
 https://www.spec.org/benchmarks.html) (SPEC) CPU 2017 benchmarks are designed
@@ -414,20 +420,20 @@
 The [Princeton Application Repository for Shared-Memory Computers (PARSEC)](
 https://parsec.cs.princeton.edu/) is a benchmark suite composed of
 multithreaded programs. In `src/parsec` we provide the source to build a disk
-image which may be used, along side configuration files, to run the PARSEC
+image which may be used, alongside configuration files, to run the PARSEC
 Benchmark Suite on gem5 architectural simulations. Please consult
 `src/parsec/README.md` for build and execution information.
 
-A pre-build parsec benchmark image, for X86, can be found here:
+A pre-built parsec benchmark image, for X86, can be found here:
 <http://dist.gem5.org/images/x86/ubuntu-18-04/parsec>.
 
 # Resource: NAS Parallel Benchmarks (NPB) Tests
 
 The [NAS Parallel Benchmarks] (NPB) are a small set of programs designed to
 help evaluate the performance of parallel supercomputers. The set consists of
-five kenels and three pseudo-applications. gem5 resources provides a disk
-image, and scripts allowing for the NPB image to be run within gem5 X86
-simulations. A pre-build npb disk image can be downloaded here:
+five Lunux Kernels and three pseudo-applications. gem5 resources provides a
+disk image, and scripts allowing for the NPB image to be run within gem5 X86
+simulations. A pre-built npb disk image can be downloaded here:
 <http://dist.gem5.org/images/x86/ubuntu-18-04/npb>.
 
 The npb resources can be found in `src/npb`. It consists of:
@@ -489,12 +495,12 @@
 `src/pthreads`.
 * **square**: Consult individual copyright notices of source files in
 `src/square`.
-* **spec2006-tests**: SPEC CPU 2006 requires purchase of benchmark suite from
+* **spec 2006**: SPEC CPU 2006 requires purchase of benchmark suite from
 [SPEC](https://www.spec.org/cpu2006/) thus, it cannot be freely distributed.
-Consult individual copyright notices of source files in `src/spec2006-tests`.
-* **spec-2017**: SPEC CPU 2017 requires purchase of benchmark suite from
+Consult individual copyright notices of source files in `src/spec-2006`.
+* **spec 2017**: SPEC CPU 2017 requires purchase of benchmark suite from
 [SPEC](https://www.spec.org/cpu2017/) thus, it cannot be freely distributed.
-Consult individual copyright notices of source files in `src/spec2017-tests`.
+Consult individual copyright notices of source files in `src/spec-2017`.
 * **gapbs**: Consult individual copyright notices of source files in
 `src/gapbs`.
 * **parsec**: The PARSEC license can be found at
diff --git a/src/boot-exit/README.md b/src/boot-exit/README.md
index d5c2b6c..eefe6dd 100755
--- a/src/boot-exit/README.md
+++ b/src/boot-exit/README.md
@@ -12,7 +12,7 @@
   |___ disk-image/
   |      |___ shared/                          # Auxiliary files needed for disk creation
   |      |___ boot-exit/
-  |      |     |___ boot-exit-image/           # Will be created once the disk is generated
+  |            |___ boot-exit-image/           # Will be created once the disk is generated
   |            |      |___ boot-exit           # The generated disk image
   |            |___ boot-exit.json             # The Packer script
   |            |___ exit.sh                    # Exits the simulated guest upon booting
@@ -45,8 +45,8 @@
 ```sh
 cd disk-image
 # if packer (tool to build the disk) is not already installed
-wget https://releases.hashicorp.com/packer/1.4.3/packer_1.4.3_linux_amd64.zip
-unzip packer_1.4.3_linux_amd64.zip
+wget https://releases.hashicorp.com/packer/1.6.0/packer_1.6.0_linux_amd64.zip
+unzip packer_1.6.0_linux_amd64.zip
 
 # validate the packer script
 ./packer validate boot-exit/boot-exit.json
@@ -100,7 +100,7 @@
 An example use of this script is the following:
 
 ```sh
-build/X86/gem5.opt configs-boot-tests/run_exit.py [path to the Linux kernel] [path to the disk image] kvm classic 4 init
+gem5/build/X86/gem5.opt configs/run_exit.py [path to the Linux kernel] [path to the disk image] kvm classic 4 init
 ```
 
 ## Linux Kernels
diff --git a/src/boot-exit/disk-image/boot-exit/boot-exit.json b/src/boot-exit/disk-image/boot-exit/boot-exit.json
index c82c2e7..1ad08df 100755
--- a/src/boot-exit/disk-image/boot-exit/boot-exit.json
+++ b/src/boot-exit/disk-image/boot-exit/boot-exit.json
@@ -32,8 +32,7 @@
             ],
             "headless": "{{ user `headless` }}",
             "http_directory": "shared",
-            "iso_checksum": "{{ user `iso_checksum` }}",
-            "iso_checksum_type": "{{ user `iso_checksum_type` }}",
+            "iso_checksum": "{{ user `iso_checksum_type` }}:{{ user `iso_checksum` }}",
             "iso_urls": [ "{{ user `iso_url` }}" ],
             "memory": "{{ user `vm_memory`}}",
             "output_directory": "boot-exit/{{ user `image_name` }}-image",
diff --git a/src/gapbs/README.md b/src/gapbs/README.md
index 12a3069..528f7b2 100644
--- a/src/gapbs/README.md
+++ b/src/gapbs/README.md
@@ -16,8 +16,8 @@
 
 ```sh
 cd disk-image/
-wget https://releases.hashicorp.com/packer/1.4.3/packer_1.4.3_linux_amd64.zip   # (if packer is not already installed)
-unzip packer_1.4.3_linux_amd64.zip # (if packer is not already installed)
+wget https://releases.hashicorp.com/packer/1.6.0/packer_1.6.0_linux_amd64.zip   # (if packer is not already installed)
+unzip packer_1.6.0_linux_amd64.zip # (if packer is not already installed)
 ./packer validate gapbs/gapbs.json
 ./packer build gapbs/gapbs.json
 ```
@@ -48,5 +48,5 @@
 Example usage:
 
 ```sh
-build/X86/gem5.opt configs/run_gapbs.py --kernel [path to the linux kernel] --disk [path to the disk image] --cpu-type kvm --num_cpus 1 --mem_sys classic --benchmark cc --synthetic 1 --graph 20
+gem5/build/X86/gem5.opt configs/run_gapbs.py [path to the linux kernel] [path to the disk image] kvm 1 classic cc 1 20
 ```
diff --git a/src/gapbs/disk-image/gapbs/gapbs.json b/src/gapbs/disk-image/gapbs/gapbs.json
index 96c3546..aefa3ef 100644
--- a/src/gapbs/disk-image/gapbs/gapbs.json
+++ b/src/gapbs/disk-image/gapbs/gapbs.json
@@ -42,7 +42,7 @@
                 [ "-cpu", "host" ],
                 [ "-display", "none" ]
             ],
-            "qemu_binary": "/usr/local/bin/qemu-system-x86_64",
+            "qemu_binary": "/usr/bin/qemu-system-x86_64",
             "shutdown_command": "echo '{{ user `ssh_password` }}'|sudo -S shutdown -P now",
             "ssh_password": "{{ user `ssh_password` }}",
             "ssh_username": "{{ user `ssh_username` }}",
diff --git a/src/npb/README.md b/src/npb/README.md
index 441e1e6..8babbbb 100755
--- a/src/npb/README.md
+++ b/src/npb/README.md
@@ -31,7 +31,7 @@
   |___ disk-image/
   |      |___ shared/                      # Auxiliary files needed for disk creation
   |      |___ npb/
-  |      |     |___ npb-image/             # Will be created once the disk is generated
+  |            |___ npb-image/             # Will be created once the disk is generated
   |            |      |___ npb             # The generated disk image
   |            |___ npb.json               # The Packer script to build the disk image
   |            |___ runscript.sh           # Executes a user provided script in simulated guest
@@ -63,8 +63,8 @@
 ```sh
 cd disk-image
 # if packer is not already installed
-wget https://releases.hashicorp.com/packer/1.4.3/packer_1.4.3_linux_amd64.zip
-unzip packer_1.4.3_linux_amd64.zip
+wget https://releases.hashicorp.com/packer/1.6.0/packer_1.6.0_linux_amd64.zip
+unzip packer_1.6.0_linux_amd64.zip
 
 # validate the packer script
 ./packer validate npb/npb.json
@@ -102,7 +102,7 @@
 An example of how to use these scripts:
 
 ```sh
-build/X86/gem5.opt configs-npb-tests/run_npb.py [path to the Linux kernel] [path to the npb disk image] kvm classic bt.A.x 4
+gem5/build/X86/gem5.opt configs/run_npb.py [path to the Linux kernel] [path to the npb disk image] kvm classic bt.A.x 4
 ```
 
 ## Linux Kernel
@@ -114,7 +114,7 @@
 cd linux
 git checkout v4.19.83
 # copy the Linux kernel configuration file for v4.19.83 from boot-tests/linux-configs/
-cp ../../boot-tests/linux-configs/config.4.19.83 .config
+cp ../../boot-exit/linux-configs/config.4.19.83 .config
 make -j8
 ```
 The compiled Linux binary will be named as `vmlinux`.
diff --git a/src/npb/disk-image/npb/npb.json b/src/npb/disk-image/npb/npb.json
index 1f8df4c..73e62d6 100755
--- a/src/npb/disk-image/npb/npb.json
+++ b/src/npb/disk-image/npb/npb.json
@@ -32,8 +32,7 @@
             ],
             "headless": "{{ user `headless` }}",
             "http_directory": "shared/",
-            "iso_checksum": "{{ user `iso_checksum` }}",
-            "iso_checksum_type": "{{ user `iso_checksum_type` }}",
+            "iso_checksum": "{{ user `iso_checksum_type` }}:{{ user `iso_checksum` }}",
             "iso_urls": [ "{{ user `iso_url` }}" ],
             "memory": "{{ user `vm_memory`}}",
             "output_directory": "npb/{{ user `image_name` }}-image",
diff --git a/src/parsec/README.md b/src/parsec/README.md
index b3a9e1a..17fed8e 100644
--- a/src/parsec/README.md
+++ b/src/parsec/README.md
@@ -1,4 +1,4 @@
-# PARSEC tests
+# PARSEC
 
 This document includes instructions on how to create an Ubuntu 18.04 disk-image with PARSEC benchmark installed. The disk-image will be compatible with the gem5 simulator.
 
@@ -46,8 +46,8 @@
 
 ```sh
 cd disk-image
-wget https://releases.hashicorp.com/packer/1.4.3/packer_1.4.3_linux_amd64.zip
-unzip packer_1.4.3_linux_amd64.zip
+wget https://releases.hashicorp.com/packer/1.6.0/packer_1.6.0_linux_amd64.zip
+unzip packer_1.6.0_linux_amd64.zip
 ```
 
 In order to build the disk-image first the script needs to be validated. Run the following command to validate `disk-image/parsec/parsec.json`.
@@ -83,9 +83,9 @@
 Below are the examples of running an experiment with the two configurations.
 
 ```sh
-gem5/build/gem5.opt configs/run_parsec.py linux-stable/vmlinux.4.19.83 disk-image/parsec/parsec-image/parsec timing bodytrack simsmall 1
+gem5/build/X86/gem5.opt configs/run_parsec.py linux-stable/vmlinux-4.19.83 disk-image/parsec/parsec-image/parsec timing bodytrack simsmall 1
 
-gem5/build/gem5.opt configs-mesi-two-level/run_parsec_mesi_two_level.py linux-stable/vmlinux.4.19.83 disk-image/parsec/parsec-image/parsec timing raytrace simsmall 2
+gem5/build/X86_MESI_Two_Level/gem5.opt configs-mesi-two-level/run_parsec_mesi_two_level.py linux-stable/vmlinux-4.19.83 disk-image/parsec/parsec-image/parsec timing raytrace simsmall 2
 ```
 
 ## Working Status
diff --git a/src/parsec/disk-image/parsec/parsec-install.sh b/src/parsec/disk-image/parsec/parsec-install.sh
index 75a6a05..c28961d 100644
--- a/src/parsec/disk-image/parsec/parsec-install.sh
+++ b/src/parsec/disk-image/parsec/parsec-install.sh
@@ -16,6 +16,8 @@
 
 # Installing packages needed to build PARSEC
 sudo apt install -y build-essential
+sudo apt install -y autotools-dev
+sudo apt install -y automake
 sudo apt install -y m4
 sudo apt install -y git
 sudo apt install -y python
diff --git a/src/parsec/disk-image/parsec/parsec.json b/src/parsec/disk-image/parsec/parsec.json
index 1d3b0e6..a4270d5 100644
--- a/src/parsec/disk-image/parsec/parsec.json
+++ b/src/parsec/disk-image/parsec/parsec.json
@@ -32,8 +32,7 @@
             ],
             "headless": "{{ user `headless` }}",
             "http_directory": "shared/",
-            "iso_checksum": "{{ user `iso_checksum` }}",
-            "iso_checksum_type": "{{ user `iso_checksum_type` }}",
+            "iso_checksum": "{{ user `iso_checksum_type` }}:{{ user `iso_checksum` }}",
             "iso_urls": [ "{{ user `iso_url` }}" ],
             "memory": "{{ user `vm_memory`}}",
             "output_directory": "parsec/{{ user `image_name` }}-image",
diff --git a/src/parsec/disk-image/parsec/post-installation.sh b/src/parsec/disk-image/parsec/post-installation.sh
index 958a8a3..b23246a 100644
--- a/src/parsec/disk-image/parsec/post-installation.sh
+++ b/src/parsec/disk-image/parsec/post-installation.sh
@@ -11,4 +11,6 @@
 # copy and run outside (host) script after booting
 cat /home/gem5/runscript.sh >> /root/.bashrc
 
+chmod -R gem5:gem5 /home/gem5/parsec-benchmark/
+
 echo 'Post Installation Done'
diff --git a/src/spec-2006/README.md b/src/spec-2006/README.md
index 3122f90..50052ce 100644
--- a/src/spec-2006/README.md
+++ b/src/spec-2006/README.md
@@ -22,10 +22,10 @@
   |___ disk-image/
   |      |___ shared/
   |      |___ spec-2006/
-  |      |      |___ spec-2006-image/
-  |      |      |      |___ spec2006           # the disk image will be generated here
-  |      |      |___ spec-2006.json            # the Packer script
-  |      |___ CPU2006v1.0.1.iso                # SPEC 2006 ISO (add here)
+  |             |___ spec-2006-image/
+  |             |      |___ spec-2006          # the disk image will be generated here
+  |             |___ spec-2006.json            # the Packer script
+  |             |___ CPU2006v1.0.1.iso         # SPEC 2006 ISO (add here)
   |
   |___ configs
   |      |___ system
@@ -52,13 +52,13 @@
 
 ```sh
 cd disk-image
-wget https://releases.hashicorp.com/packer/1.4.3/packer_1.4.3_linux_amd64.zip #(download the packer binary)
-unzip packer_1.4.3_linux_amd64.zip
+wget https://releases.hashicorp.com/packer/1.6.0/packer_1.6.0_linux_amd64.zip #(download the packer binary)
+unzip packer_1.6.0_linux_amd64.zip
 ./packer validate spec-2006/spec-2006.json #validate the Packer script
 ./packer build spec-2006/spec-2006.json
 ```
 
-The path to the disk image is `spec-2006/spec-2006-image/spec2006`.
+The path to the disk image is `spec-2006/spec-2006-image/spec-2006`.
 Please refer to [this tutorial](https://gem5art.readthedocs.io/en/latest/tutorials/spec2006-tutorial.html#preparing-scripts-to-modify-the-disk-image)
 for more information about the scripts used in this document.
 
@@ -109,7 +109,7 @@
 Assume the compiled Linux kernel is available in the assumed root folder, the
 following is an example of running a SPEC 2006 workload in full system mode,
 `
-gem5/build/X86/gem5.opt configs/run_spec.py -z vmlinux-4.19.83 disk-image/spec2006/spec2006-image/spec2006 atomic 403.gcc test
+gem5/build/X86/gem5.opt --outdir [path to the gem5 output directory] configs/run_spec.py -z vmlinux-4.19.83 disk-image/spec-2006/spec-2006-image/spec-2006 atomic 403.gcc test
 `
 
 ## Working Status
diff --git a/src/spec-2006/disk-image/spec-2006/spec-2006.json b/src/spec-2006/disk-image/spec-2006/spec-2006.json
index 1edfc3d..1e2fb7b 100644
--- a/src/spec-2006/disk-image/spec-2006/spec-2006.json
+++ b/src/spec-2006/disk-image/spec-2006/spec-2006.json
@@ -32,8 +32,7 @@
             ],
             "headless": "{{ user `headless` }}",
             "http_directory": "shared",
-            "iso_checksum": "{{ user `iso_checksum` }}",
-            "iso_checksum_type": "{{ user `iso_checksum_type` }}",
+            "iso_checksum": "{{ user `iso_checksum_type` }}:{{ user `iso_checksum` }}",
             "iso_urls": [ "{{ user `iso_url` }}" ],
             "memory": "{{ user `vm_memory`}}",
             "output_directory": "spec-2006/{{ user `image_name` }}-image",
diff --git a/src/spec-2017/README.md b/src/spec-2017/README.md
index 32d53bf..d03d2d7 100644
--- a/src/spec-2017/README.md
+++ b/src/spec-2017/README.md
@@ -22,10 +22,10 @@
   |___ disk-image/
   |      |___ shared/
   |      |___ spec-2017/
-  |      |      |___ spec-2017-image/
-  |      |      |      |___ spec-2017          # the disk image will be generated here
-  |      |      |___ spec-2017.json            # the Packer script
-  |      |___ cpu2017-1.1.0.iso                # SPEC 2017 ISO (add here)
+  |             |___ spec-2017-image/
+  |             |      |___ spec-2017          # the disk image will be generated here
+  |             |___ spec-2017.json            # the Packer script
+  |             |___ cpu2017-1.1.0.iso         # SPEC 2017 ISO (add here)
   |
   |___ configs
   |      |___ system/
@@ -53,8 +53,8 @@
 
 ```sh
 cd disk-image
-wget https://releases.hashicorp.com/packer/1.4.3/packer_1.4.3_linux_amd64.zip # download the packer binary
-unzip packer_1.4.3_linux_amd64.zip
+wget https://releases.hashicorp.com/packer/1.6.0/packer_1.6.0_linux_amd64.zip # download the packer binary
+unzip packer_1.6.0_linux_amd64.zip
 ./packer validate spec-2017/spec-2017.json # validate the Packer script
 ./packer build spec-2017/spec-2017.json
 ```
@@ -110,7 +110,7 @@
 Assume the compiled Linux kernel is available in the assumed root folder, the
 following is an example of running a SPEC 2017 workload in full system mode,
 `
-gem5/build/X86/gem5.opt configs/run_spec.py -z vmlinux-4.19.83 disk-image/spec-2017/spec-2017-image/spec-2017 atomic 403.gcc test
+gem5/build/X86/gem5.opt --outdir [path to the gem5 output directory] configs/run_spec.py -z vmlinux-4.19.83 disk-image/spec-2017/spec-2017-image/spec-2017 atomic 403.gcc test
 `
 
 ## Working Status
diff --git a/src/spec-2017/disk-image/spec-2017/spec-2017.json b/src/spec-2017/disk-image/spec-2017/spec-2017.json
index b750f14..007dea5 100644
--- a/src/spec-2017/disk-image/spec-2017/spec-2017.json
+++ b/src/spec-2017/disk-image/spec-2017/spec-2017.json
@@ -32,8 +32,7 @@
             ],
             "headless": "{{ user `headless` }}",
             "http_directory": "shared",
-            "iso_checksum": "{{ user `iso_checksum` }}",
-            "iso_checksum_type": "{{ user `iso_checksum_type` }}",
+            "iso_checksum": "{{ user `iso_checksum_type` }}:{{ user `iso_checksum` }}",
             "iso_urls": [ "{{ user `iso_url` }}" ],
             "memory": "{{ user `vm_memory`}}",
             "output_directory": "spec-2017/{{ user `image_name` }}-image",
diff --git a/src/square/.gitignore b/src/square/.gitignore
new file mode 100644
index 0000000..ba077a4
--- /dev/null
+++ b/src/square/.gitignore
@@ -0,0 +1 @@
+bin
diff --git a/src/square/Makefile b/src/square/Makefile
index 5d7f226..4f4eb82 100644
--- a/src/square/Makefile
+++ b/src/square/Makefile
@@ -3,7 +3,9 @@
 
 BIN_DIR?= ./bin
 
-gfx8-apu: square.cpp $(BIN_DIR)
+gfx8-apu: $(BIN_DIR)/square.o
+
+$(BIN_DIR)/square.o: square.cpp $(BIN_DIR)
 	$(HIPCC) --amdgpu-target=gfx801 $(CXXFLAGS) square.cpp -o $(BIN_DIR)/square.o
 
 $(BIN_DIR):