aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichele Paolino <m.paolino@virtualopensystems.com>2017-05-03 17:48:42 +0200
committerRonan Le Martret <ronan.lemartret@iot.bzh>2017-07-07 12:25:23 +0200
commita497732be52e339ba406aa359e30c805ae7879f6 (patch)
tree45297d3e86c186f76466231477fdadd438544dc8
parent4fa88fc2e452dd1ca5992cb605b3cd1823ee5316 (diff)
[COMMUNITY] Enable Linux-based hypervisor execution in AGLdab_3.99.2dab/3.99.23.99.2
The upstream version of AGL boots Linux in EL1. This mode is not privileged enough to put in place the correct configuration of an hypervisor (e.g., KVM). This patch leverages the ATF rcar platform configuration variables to boot the Linux kernel in EL2, instead of EL1, allowing Linux-based hypervisors such as KVM to configure all the necessary stubs to properly run virtual machines. This patch has been successfully tested with ATF, KVM and AGL rootfs on the Renesas R-Car M3. Changelog: - Added arm-trusted-firmware patch, which makes this work easy to be tested by the community - This patch version does not contain Linux kernel modifications. In fact, these resulted not necessary with the proposed ATF patch and a recent kernel (higher than 4.6) Bug-AGL: SPEC-497 Change-Id: I5a22411135b33137cb2236562b3de9c966f1be21 Signed-off-by: Michele Paolino <m.paolino@virtualopensystems.com>
-rw-r--r--meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bb4
-rw-r--r--meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/files/0001-Boot-Normal-World-in-EL2.patch28
2 files changed, 32 insertions, 0 deletions
diff --git a/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bb b/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bb
index bef24a4..401c153 100644
--- a/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bb
+++ b/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bb
@@ -23,6 +23,10 @@ ATFW_OPT_r8a7795 = "LSI=H3 RCAR_DRAM_SPLIT=1 ${ATFW_OPT_LOSSY}"
ATFW_OPT_r8a7796 = "LSI=M3 RCAR_DRAM_SPLIT=2 ${ATFW_OPT_LOSSY}"
ATFW_OPT_append_ulcb = " RCAR_GEN3_ULCB=1 PMIC_LEVEL_MODE=0"
+SRC_URI_append = " \
+ file://0001-Boot-Normal-World-in-EL2.patch \
+"
+
# requires CROSS_COMPILE set by hand as there is no configure script
export CROSS_COMPILE="${TARGET_PREFIX}"
diff --git a/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/files/0001-Boot-Normal-World-in-EL2.patch b/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/files/0001-Boot-Normal-World-in-EL2.patch
new file mode 100644
index 0000000..6ce9c0f
--- /dev/null
+++ b/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/files/0001-Boot-Normal-World-in-EL2.patch
@@ -0,0 +1,28 @@
+From c97f38b09f8b7d9c57a6e6f500c6ba8f7abd9914 Mon Sep 17 00:00:00 2001
+From: Michele Paolino <m.paolino@virtualopensystems.com>
+Date: Fri, 19 May 2017 14:50:55 +0200
+Subject: [PATCH] Boot Normal World in EL2
+
+This patch configures ATF (SPSR register) to boot BL33 in EL2.
+
+Signed-off-by: Michele Paolino <m.paolino@virtualopensystems.com>
+---
+ plat/renesas/rcar/platform.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plat/renesas/rcar/platform.mk b/plat/renesas/rcar/platform.mk
+index ef7bf0f..06bc592 100644
+--- a/plat/renesas/rcar/platform.mk
++++ b/plat/renesas/rcar/platform.mk
+@@ -186,7 +186,7 @@ $(eval $(call add_define,RCAR_DRAM_SPLIT))
+
+ # Process RCAR_BL33_EXECUTION_EL flag
+ ifndef RCAR_BL33_EXECUTION_EL
+-RCAR_BL33_EXECUTION_EL := 0
++RCAR_BL33_EXECUTION_EL := 1
+ endif
+ $(eval $(call add_define,RCAR_BL33_EXECUTION_EL))
+
+--
+2.7.4
+