@@ -9,7 +9,7 @@ require conf/machine/include/arm/armv8r/arch-armv8r64.inc
EXTRA_IMAGEDEPENDS += "boot-wrapper-aarch64"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
-PREFERRED_VERSION_u-boot ?= "2022.07"
+PREFERRED_VERSION_u-boot ?= "2022.10"
KERNEL_IMAGETYPE = "Image"
KERNEL_DEVICETREE = "arm/fvp-baser-aemv8r64.dtb"
@@ -1,4 +1,4 @@
-From 80c64d0c035a5cd0cb23c7b01be39f25e15c7193 Mon Sep 17 00:00:00 2001
+From 181f5efb401ffaa5ab0898b07a976796f75e502a Mon Sep 17 00:00:00 2001
From: Qi Feng <qi.feng@arm.com>
Date: Tue, 26 Jul 2022 18:13:23 +0800
Subject: [PATCH 2/9] vexpress64: add MPU memory map for the BASER_FVP
@@ -17,7 +17,7 @@ Signed-off-by: Qi Feng <qi.feng@arm.com>
1 file changed, 22 insertions(+)
diff --git a/board/armltd/vexpress64/vexpress64.c b/board/armltd/vexpress64/vexpress64.c
-index 709ebf3fb0..1791cd986f 100644
+index af326dc6f4..2310d18eb7 100644
--- a/board/armltd/vexpress64/vexpress64.c
+++ b/board/armltd/vexpress64/vexpress64.c
@@ -19,6 +19,7 @@
@@ -1,4 +1,4 @@
-From 61a2df4467c13bbc83bff8a3429e9ebb4b957b56 Mon Sep 17 00:00:00 2001
+From 07cc3e4af3def76d92faf39712d4fd8717b21d2b Mon Sep 17 00:00:00 2001
From: Peter Hoyes <Peter.Hoyes@arm.com>
Date: Fri, 10 Dec 2021 11:41:19 +0000
Subject: [PATCH 3/9] armv8: Allow disabling exception vectors on non-SPL
@@ -27,7 +27,7 @@ Change-Id: I0cf0fc6d7ef4d45791411cf1f67c65e198cc8b2b
4 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/arch/arm/cpu/armv8/Kconfig b/arch/arm/cpu/armv8/Kconfig
-index 09f3f50fa2..031faa909c 100644
+index 1305238c9d..dec4be0e30 100644
--- a/arch/arm/cpu/armv8/Kconfig
+++ b/arch/arm/cpu/armv8/Kconfig
@@ -1,8 +1,8 @@
@@ -55,7 +55,7 @@ index 09f3f50fa2..031faa909c 100644
bool "Enable multiple CPUs to enter into U-Boot"
diff --git a/arch/arm/cpu/armv8/Makefile b/arch/arm/cpu/armv8/Makefile
-index 85fe0475c8..8b3f695835 100644
+index 2e4bf9e038..001a31cae7 100644
--- a/arch/arm/cpu/armv8/Makefile
+++ b/arch/arm/cpu/armv8/Makefile
@@ -13,10 +13,8 @@ ifndef CONFIG_$(SPL_)SYS_DCACHE_OFF
@@ -94,11 +94,11 @@ index 28f0df13f0..f831e77af3 100644
adr x0, vectors
switch_el x1, 3f, 2f, 1f
diff --git a/configs/vexpress_aemv8r_defconfig b/configs/vexpress_aemv8r_defconfig
-index a1c5d88717..1d5b7411f0 100644
+index 495eb1dee3..683d983c36 100644
--- a/configs/vexpress_aemv8r_defconfig
+++ b/configs/vexpress_aemv8r_defconfig
-@@ -13,3 +13,4 @@ CONFIG_BOOTARGS="console=ttyAMA0 earlycon=pl011,0x9c090000 rootfstype=ext4 root=
- CONFIG_SYS_PROMPT="VExpress64# "
+@@ -16,3 +16,4 @@ CONFIG_SYS_CBSIZE=512
+ CONFIG_SYS_PBSIZE=541
# CONFIG_MMC is not set
CONFIG_VIRTIO_MMIO=y
+CONFIG_ARMV8_EXCEPTION_VECTORS=n
@@ -1,4 +1,4 @@
-From dbc1a218e9837e39cd50dd3c19f603f29a08ddba Mon Sep 17 00:00:00 2001
+From 30405f59881c73946b6b0ffdbf25804f9fbf1585 Mon Sep 17 00:00:00 2001
From: Peter Hoyes <Peter.Hoyes@arm.com>
Date: Wed, 14 Jul 2021 12:44:27 +0100
Subject: [PATCH 4/9] armv8: ARMV8_SWITCH_TO_EL1 improvements
@@ -17,29 +17,11 @@ Upstream-Status: Inappropriate [other]
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: If98478148d6d8d1f732acac5439276700614815f
---
- arch/arm/cpu/armv8/Kconfig | 8 +++++++
arch/arm/cpu/armv8/exception_level.c | 21 ++++++++++++++--
arch/arm/lib/bootm.c | 36 ++++++++++++++++------------
configs/vexpress_aemv8r_defconfig | 1 +
- 4 files changed, 49 insertions(+), 17 deletions(-)
+ 3 files changed, 41 insertions(+), 17 deletions(-)
-diff --git a/arch/arm/cpu/armv8/Kconfig b/arch/arm/cpu/armv8/Kconfig
-index 031faa909c..110adf63b3 100644
---- a/arch/arm/cpu/armv8/Kconfig
-+++ b/arch/arm/cpu/armv8/Kconfig
-@@ -191,4 +191,12 @@ config ARMV8_EA_EL3_FIRST
- Exception handling at all exception levels for External Abort and
- SError interrupt exception are taken in EL3.
-
-+config ARMV8_SWITCH_TO_EL1
-+ bool "Switch to EL1 before booting the operating system"
-+ default n
-+ help
-+ Switch to EL1 before booting the operating system, if for example the
-+ operating system does not support booting at EL2, or you wish to prevent
-+ any hypervisors from running. Supported for bootm, booti and bootefi.
-+
- endif
diff --git a/arch/arm/cpu/armv8/exception_level.c b/arch/arm/cpu/armv8/exception_level.c
index b11936548f..4aad1550f4 100644
--- a/arch/arm/cpu/armv8/exception_level.c
@@ -84,10 +66,10 @@ index b11936548f..4aad1550f4 100644
}
}
diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
-index a59a5e6c0e..e2cf2e6ec4 100644
+index 9f086f3b90..b044aeca88 100644
--- a/arch/arm/lib/bootm.c
+++ b/arch/arm/lib/bootm.c
-@@ -272,7 +272,6 @@ __weak void update_os_arch_secondary_cores(uint8_t os_arch)
+@@ -270,7 +270,6 @@ __weak void update_os_arch_secondary_cores(uint8_t os_arch)
{
}
@@ -95,7 +77,7 @@ index a59a5e6c0e..e2cf2e6ec4 100644
static void switch_to_el1(void)
{
if ((IH_ARCH_DEFAULT == IH_ARCH_ARM64) &&
-@@ -287,7 +286,6 @@ static void switch_to_el1(void)
+@@ -285,7 +284,6 @@ static void switch_to_el1(void)
ES_TO_AARCH64);
}
#endif
@@ -103,7 +85,7 @@ index a59a5e6c0e..e2cf2e6ec4 100644
/* Subcommand: GO */
static void boot_jump_linux(bootm_headers_t *images, int flag)
-@@ -314,21 +312,29 @@ static void boot_jump_linux(bootm_headers_t *images, int flag)
+@@ -312,21 +310,29 @@ static void boot_jump_linux(bootm_headers_t *images, int flag)
update_os_arch_secondary_cores(images->os.arch);
@@ -147,10 +129,10 @@ index a59a5e6c0e..e2cf2e6ec4 100644
#else
unsigned long machid = gd->bd->bi_arch_number;
diff --git a/configs/vexpress_aemv8r_defconfig b/configs/vexpress_aemv8r_defconfig
-index 1d5b7411f0..35e5e8a5e1 100644
+index 683d983c36..6044f82b00 100644
--- a/configs/vexpress_aemv8r_defconfig
+++ b/configs/vexpress_aemv8r_defconfig
-@@ -14,3 +14,4 @@ CONFIG_SYS_PROMPT="VExpress64# "
+@@ -17,3 +17,4 @@ CONFIG_SYS_PBSIZE=541
# CONFIG_MMC is not set
CONFIG_VIRTIO_MMIO=y
CONFIG_ARMV8_EXCEPTION_VECTORS=n
@@ -1,4 +1,4 @@
-From f75060be04aaed4bb5a07cb40361d694b3775f4a Mon Sep 17 00:00:00 2001
+From a6daca56b77d7f1b26483f10eb33ebdd6e157d3e Mon Sep 17 00:00:00 2001
From: Peter Hoyes <Peter.Hoyes@arm.com>
Date: Fri, 10 Dec 2021 16:37:26 +0000
Subject: [PATCH 5/9] armv8: Make disabling HVC configurable when switching to
@@ -22,12 +22,12 @@ Change-Id: I463d82f1db8a3cafcab40a9c0c208753569cc300
3 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/arch/arm/cpu/armv8/Kconfig b/arch/arm/cpu/armv8/Kconfig
-index 110adf63b3..a821e219d8 100644
+index dec4be0e30..95c03487a2 100644
--- a/arch/arm/cpu/armv8/Kconfig
+++ b/arch/arm/cpu/armv8/Kconfig
-@@ -199,4 +199,13 @@ config ARMV8_SWITCH_TO_EL1
- operating system does not support booting at EL2, or you wish to prevent
- any hypervisors from running. Supported for bootm, booti and bootefi.
+@@ -208,4 +208,13 @@ config ARMV8_CE_SHA256
+
+ endif
+config ARMV8_DISABLE_HVC
+ bool "Disable HVC calls before switching to EL1"
@@ -70,10 +70,10 @@ index 1a1edc9870..7167739210 100644
/* Return to AArch32 Supervisor mode from EL2 */
diff --git a/configs/vexpress_aemv8r_defconfig b/configs/vexpress_aemv8r_defconfig
-index 35e5e8a5e1..605a724a61 100644
+index 6044f82b00..6226f6b2c1 100644
--- a/configs/vexpress_aemv8r_defconfig
+++ b/configs/vexpress_aemv8r_defconfig
-@@ -15,3 +15,4 @@ CONFIG_SYS_PROMPT="VExpress64# "
+@@ -18,3 +18,4 @@ CONFIG_SYS_PBSIZE=541
CONFIG_VIRTIO_MMIO=y
CONFIG_ARMV8_EXCEPTION_VECTORS=n
CONFIG_ARMV8_SWITCH_TO_EL1=y
@@ -1,4 +1,4 @@
-From db7d4cc91ae19d0cbd05c0ff1b9bf6a55ac0d04a Mon Sep 17 00:00:00 2001
+From 862d3f1ac66a75cdf48adbdebd8adbaf671a9366 Mon Sep 17 00:00:00 2001
From: Qi Feng <qi.feng@arm.com>
Date: Thu, 28 Jul 2022 17:47:18 +0800
Subject: [PATCH 6/9] vexpress64: Do not set COUNTER_FREQUENCY
@@ -18,7 +18,7 @@ Signed-off-by: Qi Feng <qi.feng@arm.com>
1 file changed, 1 deletion(-)
diff --git a/configs/vexpress_aemv8r_defconfig b/configs/vexpress_aemv8r_defconfig
-index 605a724a61..153fa14efc 100644
+index 6226f6b2c1..b902a6a7d9 100644
--- a/configs/vexpress_aemv8r_defconfig
+++ b/configs/vexpress_aemv8r_defconfig
@@ -1,5 +1,4 @@
@@ -1,4 +1,4 @@
-From f4986ed954ffad36abfa27db5520e702cba2531e Mon Sep 17 00:00:00 2001
+From 32beea722c1167c9b33f1ecfdc28d360cabd6823 Mon Sep 17 00:00:00 2001
From: Peter Hoyes <Peter.Hoyes@arm.com>
Date: Tue, 22 Feb 2022 15:32:51 +0000
Subject: [PATCH 7/9] vexpress64: Enable LIBFDT_OVERLAY in the vexpress_aemv8r
@@ -14,10 +14,10 @@ Change-Id: Ide0532cf2de89f1bca9c8d4bd2ed0c1a1c57599f
1 file changed, 1 insertion(+)
diff --git a/configs/vexpress_aemv8r_defconfig b/configs/vexpress_aemv8r_defconfig
-index 153fa14efc..94651768b3 100644
+index b902a6a7d9..a58a9db385 100644
--- a/configs/vexpress_aemv8r_defconfig
+++ b/configs/vexpress_aemv8r_defconfig
-@@ -15,3 +15,4 @@ CONFIG_VIRTIO_MMIO=y
+@@ -18,3 +18,4 @@ CONFIG_VIRTIO_MMIO=y
CONFIG_ARMV8_EXCEPTION_VECTORS=n
CONFIG_ARMV8_SWITCH_TO_EL1=y
CONFIG_ARMV8_DISABLE_HVC=n
@@ -1,4 +1,4 @@
-From af05764e7b64e0704291ba2e71138f2345737afa Mon Sep 17 00:00:00 2001
+From 01490ab8deb0f0b61eeb55a02ee5ea430cfe7eee Mon Sep 17 00:00:00 2001
From: Peter Hoyes <Peter.Hoyes@arm.com>
Date: Wed, 18 May 2022 15:24:19 +0100
Subject: [PATCH 8/9] armv8: Allow PRBAR MPU attributes to be configured
@@ -75,7 +75,7 @@ index 8de627cafd..dd4c689ea6 100644
extern struct mpu_region *mpu_mem_map;
diff --git a/board/armltd/vexpress64/vexpress64.c b/board/armltd/vexpress64/vexpress64.c
-index 1791cd986f..7858521fec 100644
+index 2310d18eb7..531fa4d618 100644
--- a/board/armltd/vexpress64/vexpress64.c
+++ b/board/armltd/vexpress64/vexpress64.c
@@ -42,15 +42,18 @@ static struct mpu_region vexpress64_aemv8r_mem_map[] = {