From 44633abadb46ecf9bf661591e48a88f3e2d652ec Mon Sep 17 00:00:00 2001 From: Andre Przywara Date: Sun, 1 May 2016 22:48:30 +0100 Subject: sun50i: enter U-Boot in AArch64 Drop back into non-secure world into the AArch64 state now. This allows U-Boot to run in 64-bit mode, so no need to call back into the firmware to eventually launch 64-bit kernels. Signed-off-by: Andre Przywara --- plat/sun50iw1p1/aarch64/sunxi_common.c | 3 --- plat/sun50iw1p1/bl31_sunxi_setup.c | 4 ++-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/plat/sun50iw1p1/aarch64/sunxi_common.c b/plat/sun50iw1p1/aarch64/sunxi_common.c index ded47a7..20d185a 100644 --- a/plat/sun50iw1p1/aarch64/sunxi_common.c +++ b/plat/sun50iw1p1/aarch64/sunxi_common.c @@ -126,9 +126,6 @@ uint32_t sunxi_get_spsr_for_bl33_entry(int aarch) switch (aarch) { case 32: - /* HACK: keep entering U-Boot in SVC for now */ - mode = MODE32_svc; - spsr = SPSR_MODE32(mode, SPSR_T_ARM, SPSR_E_LITTLE, DISABLE_ALL_EXCEPTIONS); break; diff --git a/plat/sun50iw1p1/bl31_sunxi_setup.c b/plat/sun50iw1p1/bl31_sunxi_setup.c index 4096353..ab40114 100644 --- a/plat/sun50iw1p1/bl31_sunxi_setup.c +++ b/plat/sun50iw1p1/bl31_sunxi_setup.c @@ -155,7 +155,7 @@ void bl31_early_platform_setup(bl31_params_t *from_bl2, * is located and the entry state information */ bl33_image_ep_info.pc = plat_get_ns_image_entrypoint(); - bl33_image_ep_info.spsr = sunxi_get_spsr_for_bl33_entry(32); + bl33_image_ep_info.spsr = sunxi_get_spsr_for_bl33_entry(64); SET_SECURITY_STATE(bl33_image_ep_info.h.attr, NON_SECURE); #else @@ -183,7 +183,7 @@ void bl31_early_platform_setup(bl31_params_t *from_bl2, * is located and the entry state information */ bl33_image_ep_info.pc = plat_get_ns_image_entrypoint(); - bl33_image_ep_info.spsr = sunxi_get_spsr_for_bl33_entry(32); + bl33_image_ep_info.spsr = sunxi_get_spsr_for_bl33_entry(64); SET_SECURITY_STATE(bl33_image_ep_info.h.attr, NON_SECURE); -- cgit v1.2.3