diff --git a/README.md b/README.md
index 6b7ca1b..b78abd4 100644
--- a/README.md
+++ b/README.md
@@ -331,6 +331,14 @@
 
 To compile:
 
+**Note**: Make sure you are in gem5-resources directory (resources like square are not present in the gem5 repository)
+To clone the gem5-resources repository, run the following command:
+
+```
+git clone https://gem5.googlesource.com/public/gem5-resources
+```
+
+
 ```
 cd src/gpu/square
 docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu make gfx8-apu
diff --git a/resources.json b/resources.json
index 7064752..c51d0e7 100644
--- a/resources.json
+++ b/resources.json
@@ -1,7 +1,7 @@
 
 {
-    "version" : "22.0",
-    "url_base" : "http://dist.gem5.org/dist/v22-0",
+    "version" : "develop",
+    "url_base" : "http://dist.gem5.org/dist/develop",
     "previous-versions" : {
         "develop" : "https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/develop/resources.json?format=TEXT",
         "21.2" : "http://resources.gem5.org/prev-resources-json/resources-21-2.json"
@@ -20,7 +20,7 @@
         {
             "type": "resource",
             "name" : "riscv-hello-example-checkpoint",
-            "documentation" : "A checkpoint used in 'configs/example/gem5_library/checkpoints/riscv-hello-restore-checkpoint.py'.",
+            "documentation" : "A checkpoint used in 'configs/example/gem5_library/checkpoints/riscv-hello-restore-checkpoint.py'. This was used for the v22.0 release and should not be used for future releases.",
             "architecture": "RISCV",
             "is_zipped" : false,
             "md5sum" : "3a57c1bb1077176c4587b8a3bf4f8ace",
@@ -30,6 +30,17 @@
         },
         {
             "type": "resource",
+            "name" : "riscv-hello-example-checkpoint-v22-1",
+            "documentation" : "A checkpoint used in 'configs/example/gem5_library/checkpoints/riscv-hello-restore-checkpoint.py'. Used for v22.1 onwards.",
+            "architecture": "RISCV",
+            "is_zipped" : false,
+            "md5sum" : "346c7d079320ef7daead4e03914266c7",
+            "source" : null,
+            "is_tar_archive" : true,
+            "url": "{url_base}/checkpoints/riscv-hello-example-checkpoint-20220801.tar"
+        },
+        {
+            "type": "resource",
             "name" : "riscv-disk-img",
             "documentation" : "A simple RISCV disk image based on busybox.",
             "architecture": "RISCV",
@@ -377,16 +388,42 @@
                 {
                     "type" : "resource",
                     "name" : "riscv-lupio-linux-kernel",
-                    "documentation": "A kernel built with LupIO device (https://gitlab.com/luplab/lupio) drivers. Must be used when setting LupIO board workloads. Compataible with the 'riscv-lupio-busybox-img' disk image resource.",
+                    "documentation": "A kernel built with LupIO device (https://gitlab.com/luplab/lupio) drivers. Must be used when setting LupIO board workloads. Compatible with the 'riscv-lupio-busybox-img' disk image resource.",
                     "is_zipped" : false,
                     "architecture" : "RISCV",
-                    "md5sum" : "f94351edbbb0e7bd9617f7b381635546",
-                    "url" : "{url_base}/kernels/riscv/static/lupio-linux",
+                    "md5sum" : "1b7d6523647db85f9dd2b00d751f5f6f",
+                    "url" : "{url_base}/kernels/riscv/static/lupio-linux-20220727",
                     "source" : "src/lupv"
                 }
             ]
         },
         {
+            "type": "group",
+            "name": "print-this",
+            "contents": [
+                {
+                    "type" : "resource",
+                    "name": "riscv-print-this",
+                    "documentation": "A simple RISC-V binary that prints a string a set number of times. It takes two mandatory arguments: A string to print and an integer specifying how many times the string is to be printed.",
+                    "architecture" :"RISCV",
+                    "is_zipped" : false,
+                    "md5sum" : "ee2963ca71ce13ae2f096198b58064ad",
+                    "url" : "{url_base}/test-progs/print-this/riscv-print-this",
+                    "source" : "src/print-this"
+                },
+                {
+                    "type" : "resource",
+                    "name": "x86-print-this",
+                    "documentation": "A simple X86 binary that prints a string a set number of times. It takes two mandatory arguments: A string to print and an integer specifying how many times the string is to be printed.",
+                    "architecture" :"X86",
+                    "is_zipped" : false,
+                    "md5sum" : "eab785f7c14ab97b89e17c9af2f43002",
+                    "url" : "{url_base}/test-progs/print-this/x86-print-this",
+                    "source" : "src/print-this"
+                }
+            ]
+        },
+        {
             "type" : "group",
             "name" : "hello",
             "contents" : [
@@ -397,7 +434,7 @@
                     "architecture" : "RISCV",
                     "is_zipped" :  false,
                     "md5sum" : "6d9494d22b90d817e826b0d762fda973",
-                    "url" : "{url_base}/test-progs/hello/bin/riscv/linux/hello",
+                    "url" : "{url_base}/test-progs/hello/bin/riscv/linux/hello-20220728",
                     "source" : "src/simple"
                 },
                 {
diff --git a/src/gpu/heterosync/README.md b/src/gpu/heterosync/README.md
index 9d1d79b..30a03a7 100644
--- a/src/gpu/heterosync/README.md
+++ b/src/gpu/heterosync/README.md
@@ -28,7 +28,7 @@
 GCN3-based dGPU. There are other targets (release) that build for GPU types
 that are currently unsupported in gem5.
 
-## Running HeterSync on GCN3_X86/gem5.opt
+## Running HeteroSync on GCN3_X86/gem5.opt
 
 HeteroSync has multiple applications that can be run (see below).  For example, to run sleepMutex with 10 ld/st per thread, 16 WGs, and 4 iterations of the critical section:
 
diff --git a/src/lupv/README.md b/src/lupv/README.md
index f34ba53..648b5b5 100644
--- a/src/lupv/README.md
+++ b/src/lupv/README.md
@@ -11,7 +11,8 @@
 author: ["Joël Porquet-Lupine"]
 ---
 
-This README will cover how to create a bootloader/kernel, and a disk image which may be used to run LupV (LupIO with RISC-V) in gem5.
+This README will cover how to create a bootloader/kernel, and a disk image which
+may be used to run LupV (LupIO with RISC-V) in gem5.
 
 An example script which uses these resources is provided here: <https://gem5.googlesource.com/public/gem5/+/refs/tags/v22.0.0.0/configs/example/lupv/>.
 
@@ -36,7 +37,7 @@
 ```terminal
 $ git clone https://gitlab.com/luplab/lupio/linux
 $ cd linux
-$ git checkout lupio
+$ git checkout lupio-dev-v5.8
 $ make ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- lupv_defconfig
 $ make ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- -j8
 ```
@@ -45,9 +46,7 @@
 - Adapt `CROSS_COMPILE` to your toolchain's prefix
 - Adapt `-j8` to the number of parallel jobs you want to run
 
-The resulting kernel image is in `arch/riscv/boot/Image`
-
-
+The resulting kernel image is in `arch/riscv/boot/Image`.
 
 ### Bootloader
 
@@ -65,7 +64,12 @@
 The resulting firmware which includes the bootloader and the kernel, and can be
 loaded as a kernel image in gem5, is in `build/bbl`.
 
+<<<<<<< HEAD
+A pre-built bootloader/kernel binary can be obtained from
+[here](http://dist.gem5.org/dist/v21-2/kernels/riscv/static/lupio-linux).
+=======
 A pre-built bootloader/kernel binary can be obtained from [here](http://dist.gem5.org/dist/v22-0/kernels/riscv/static/lupio-linux).
+>>>>>>> stable
 
 ## Root filesystem
 
@@ -76,8 +80,8 @@
 
 ### Busybox
 
-Copy `config_busybox_rv64_092021` file to your computer and compile busybox using this
-configuration.
+Copy `config_busybox_rv64_092021` file to your computer and compile busybox
+using this configuration.
 
 ```terminal
 $ git clone https://git.busybox.net/busybox/
@@ -134,4 +138,9 @@
 The resulting filesystem image, which can be loaded as a partition image in
 gem5, is `rootfs.img`.
 
+<<<<<<< HEAD
+A pre-built, gzipped, image can be obtained
+[here](http://dist.gem5.org/dist/v21-2/images/riscv/busybox/riscv-lupio-busybox.img.gz).
+=======
 A pre-built, gzipped, image can be obtained [here](http://dist.gem5.org/dist/v22-0/images/riscv/busybox/riscv-lupio-busybox.img.gz).
+>>>>>>> stable
diff --git a/src/print-this/Makefile b/src/print-this/Makefile
new file mode 100644
index 0000000..3bb1445
--- /dev/null
+++ b/src/print-this/Makefile
@@ -0,0 +1,8 @@
+all: print-this
+
+print_this: print-this-src.c Makefile
+	gcc -O0 -ggdb3 -std=c99 -static print-this-src.c -o print-this
+
+
+clean:
+	rm -rf print-this
diff --git a/src/print-this/README.md b/src/print-this/README.md
new file mode 100644
index 0000000..689540e
--- /dev/null
+++ b/src/print-this/README.md
@@ -0,0 +1,53 @@
+---
+title: The 'print-this' binary
+layout: default
+permalink: resources/print-this
+shortdoc: >
+    Sources for 'print-this' binary.
+author: ["Zhantong Qiu"]
+---
+
+This 'print-this' resource is a simple binary which takes in two parameters: a string to print and an integer specifying the number of times it is to be printed.
+
+This resource is deliberately kept simple and is used primarily for testing purposes.
+
+## Building Instructions
+
+Run `make`.
+
+## Cleaning Instructions
+
+Run `make clean` on the Makefile directory.
+
+## Usage
+
+It takes two parameters, a string to print and an integer stating how many times it should be printed.
+
+### Example
+
+`./print_this "a string to print" 10`
+
+Will output:
+
+```
+1 a string to print
+2 a string to print
+3 a string to print
+4 a string to print
+5 a string to print
+6 a string to print
+7 a string to print
+8 a string to print
+9 a string to print
+10 a string to print
+```
+
+## Pre-built binaries
+
+Compiled to the RISC-V ISA: http://dist.gem5.org/dist/develop/test-progs/print-this/riscv-print-this
+
+Compiled to the X86 ISA: http://dist.gem5.org/dist/develop/test-progs/print-this/x86-print-this
+
+## License
+
+This code is covered by By the [03-Clause BSD License (BSD-3-Clause)](https://opensource.org/licenses/BSD-3-Clause).
diff --git a/src/print-this/print-this.c b/src/print-this/print-this.c
new file mode 100644
index 0000000..f717685
--- /dev/null
+++ b/src/print-this/print-this.c
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2022 The Regents of the University of California
+ * All rights reserved
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met: redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer;
+ * redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution;
+ * neither the name of the copyright holders nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+void main(int argc, char *argv[]) {
+
+    if(argc<=2) {
+        printf("please enter a string and an number\n ex. ['print this' 9]\n");
+        exit(1);
+     }  //otherwise continue on our merry way....
+
+    int arg2 = atoi(argv[2]);
+
+    for(int i =0; i<arg2; i++){
+        printf("%i %s\n",i+1,argv[1]);
+    }
+}
