misc: Add VExpress_GEM5_Foundation bootloader

The VExpress_GEM5_Foundation platform cannot use the VExpress_GEM5_V2
bootloader as the GIC has a different memory map

A new tarball has been uploaded to dist.gem5.org with the new bootloader

Change-Id: Ie0c16e623c3323b7be2a333cd6b0ffcf891b7b9b
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/59392
Tested-by: kokoro <noreply+kokoro@google.com>
diff --git a/src/dev/arm/RealView.py b/src/dev/arm/RealView.py
index 2c76bbf..6645b39 100644
--- a/src/dev/arm/RealView.py
+++ b/src/dev/arm/RealView.py
@@ -1449,5 +1449,5 @@
 
     def setupBootLoader(self, cur_sys, loc, boot_loader=None):
         if boot_loader is None:
-            boot_loader = [ loc('boot_v2.arm64') ]
+            boot_loader = [ loc('boot_foundation.arm64') ]
         super().setupBootLoader(cur_sys, boot_loader)
diff --git a/system/arm/bootloader/arm64/makefile b/system/arm/bootloader/arm64/makefile
index dbf7128..f434f46 100644
--- a/system/arm/bootloader/arm64/makefile
+++ b/system/arm/bootloader/arm64/makefile
@@ -41,7 +41,8 @@
 
 all: mkdir $(BUILDDIR)/boot_emm.arm64 \
 	$(BUILDDIR)/boot.arm64  \
-	$(BUILDDIR)/boot_v2.arm64
+	$(BUILDDIR)/boot_v2.arm64 \
+	$(BUILDDIR)/boot_foundation.arm64
 
 #v1 has a GIC V2
 $(BUILDDIR)/boot_emm.o: CPPFLAGS += -UGICV3 -DGIC_CPU_BASE=0x2c002000 \
@@ -53,6 +54,10 @@
 $(BUILDDIR)/boot_v2.o: CPPFLAGS += -DGICV3 -DGIC_REDIST_BASE=0x2c010000 \
 	-DGIC_DIST_BASE=0x2c000000
 
+#Foundation has a GIC V3
+$(BUILDDIR)/boot_foundation.o: CPPFLAGS += -DGICV3 -DGIC_REDIST_BASE=0x2f100000 \
+	-DGIC_DIST_BASE=0x2f000000
+
 $(BUILDDIR)/%.arm64: $(BUILDDIR)/%.o
 	$(LD) -o $@ $< $(LDFLAGS)
 
@@ -64,6 +69,7 @@
 	install -m 644 $(BUILDDIR)/boot_emm.arm64 \
 		$(BUILDDIR)/boot.arm64 \
 		$(BUILDDIR)/boot_v2.arm64 \
+		$(BUILDDIR)/boot_foundation.arm64 \
 		$(DESTDIR)/.
 
 mkdir:
@@ -71,4 +77,5 @@
 
 clean:
 	rm -f $(BUILDDIR)/*.o
-	rm -f $(BUILDDIR)/boot_emm.arm64 $(BUILDDIR)/boot.arm64 $(BUILDDIR)/boot_v2.arm64
+	rm -f $(BUILDDIR)/boot_emm.arm64 $(BUILDDIR)/boot.arm64 \
+        $(BUILDDIR)/boot_v2.arm64 $(BUILDDIR)/boot_foundation.arm64
diff --git a/tests/gem5/fs/linux/arm/test.py b/tests/gem5/fs/linux/arm/test.py
index 6184a75..42bd706 100644
--- a/tests/gem5/fs/linux/arm/test.py
+++ b/tests/gem5/fs/linux/arm/test.py
@@ -92,7 +92,7 @@
     #'realview-simple-timing-dual-ruby',
 ]
 
-tarball = 'aarch-system-20210904.tar.bz2'
+tarball = 'aarch-system-20220505.tar.bz2'
 url = config.resource_url + "/arm/" + tarball
 filepath = os.path.dirname(os.path.abspath(__file__))
 path = joinpath(config.bin_path, 'arm')