From: Stefan Roese <sr@denx.de>
To: u-boot@lists.denx.de
Subject: [PATCH 22/26 v7] mips: spl: Flush cache before jumping to U-Boot proper
Date: Tue, 21 Apr 2020 09:28:46 +0200 [thread overview]
Message-ID: <20200421072850.4970-23-sr@denx.de> (raw)
In-Reply-To: <20200421072850.4970-1-sr@denx.de>
This patch adds a MIPS specific jump_to_image_no_args() implementation,
which flushes the U-Boot proper image loaded from the boot device in
SPL before jumping to it.
It has been noticed on MT76x8, that this cache flush is needed. Other
MIPS platforms might need it as well.
Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Weijie Gao <weijie.gao@mediatek.com>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
---
Changes in v7:
- Moved to MIPS specific file as suggested by Daniel
Changes in v6:
- New patch
arch/mips/lib/Makefile | 1 +
arch/mips/lib/spl.c | 21 +++++++++++++++++++++
2 files changed, 22 insertions(+)
create mode 100644 arch/mips/lib/spl.c
diff --git a/arch/mips/lib/Makefile b/arch/mips/lib/Makefile
index 24a72d9c97..9ee1fcb5c7 100644
--- a/arch/mips/lib/Makefile
+++ b/arch/mips/lib/Makefile
@@ -12,5 +12,6 @@ obj-y += traps.o
obj-$(CONFIG_CMD_BOOTM) += bootm.o
obj-$(CONFIG_CMD_GO) += boot.o
+obj-$(CONFIG_SPL_BUILD) += spl.o
lib-$(CONFIG_USE_PRIVATE_LIBGCC) += ashldi3.o ashrdi3.o lshrdi3.o
diff --git a/arch/mips/lib/spl.c b/arch/mips/lib/spl.c
new file mode 100644
index 0000000000..7ba3e53f6d
--- /dev/null
+++ b/arch/mips/lib/spl.c
@@ -0,0 +1,21 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2020 Stefan Roese <sr@denx.de>
+ */
+
+#include <common.h>
+#include <cpu_func.h>
+#include <spl.h>
+
+void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image)
+{
+ typedef void __noreturn (*image_entry_noargs_t)(void);
+ image_entry_noargs_t image_entry =
+ (image_entry_noargs_t)spl_image->entry_point;
+
+ /* Flush cache before jumping to application */
+ flush_cache((unsigned long)spl_image->load_addr, spl_image->size);
+
+ debug("image entry point: 0x%lx\n", spl_image->entry_point);
+ image_entry();
+}
--
2.26.2
next prev parent reply other threads:[~2020-04-21 7:28 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-21 7:28 [PATCH 00/26 v7] Refactor the architecture parts of mt7628 Stefan Roese
2020-04-21 7:28 ` [PATCH 01/26 v7] mips: add support to restore exception vector base before booting linux Stefan Roese
2020-04-21 7:28 ` [PATCH 02/26 v7] mips: mtmips: add predefined i-cache/d-cache size and linesize Stefan Roese
2020-04-21 7:28 ` [PATCH 03/26 v7] mips: add an option to support initialize SRAM for initial stack Stefan Roese
2020-04-21 7:28 ` [PATCH 04/26 v7] mips: start.S: avoid overwriting outside gd when clearing global data in stack Stefan Roese
2020-04-21 7:28 ` [PATCH 05/26 v7] sysreset: add reset controller based reboot driver Stefan Roese
2020-04-21 7:28 ` [PATCH 06/26 v7] mips: mtmips: make use of sysreset-resetctrl for mt7628 soc Stefan Roese
2020-04-21 7:28 ` [PATCH 07/26 v7] configs: enable CONFIG_RESTORE_EXCEPTION_VECTOR_BASE for all mtmips boards Stefan Roese
2020-04-21 7:28 ` [PATCH 08/26 v7] mips: add a mtmips-specific field to architecture-specific global data Stefan Roese
2020-04-21 7:28 ` [PATCH 09/26 v7] mips: add a option to support not reserving malloc space on initial stack Stefan Roese
2020-04-21 7:28 ` [PATCH 10/26 v7] mips: mtmips: rewrite lowlevel codes of mt7628 Stefan Roese
2020-04-21 7:28 ` [PATCH 11/26 v7] dts: mtmips: add alternative pinmux node for uart2 Stefan Roese
2020-04-21 7:28 ` [PATCH 12/26 v7] mips: enable support for appending dtb to spl binary Stefan Roese
2020-04-21 7:28 ` [PATCH 13/26 v7] mips: add an option to enable u_boot_list section for SPL loaders in u-boot-spl.lds Stefan Roese
2020-04-21 7:28 ` [PATCH 14/26 v7] lib: enable lzma decompression support for SPL build Stefan Roese
2020-04-21 7:28 ` [PATCH 15/26 v7] Makefile: add support to generate LZMA compressed u-boot image Stefan Roese
2020-04-21 7:28 ` [PATCH 16/26 v7] tools: binman: add etype file for u-boot-lzma-img Stefan Roese
2020-04-21 7:28 ` [PATCH 17/26 v7] spl: Extract legacy image handling into separate file Stefan Roese
2020-04-23 19:28 ` Daniel Schwierzeck
2020-04-21 7:28 ` [PATCH 18/26 v7] spl: spl_legacy: Use IS_ENABLED() to remove #ifdef Stefan Roese
2020-04-23 19:28 ` Daniel Schwierzeck
2020-04-21 7:28 ` [PATCH 19/26 v7] spl: spl_nor: Move legacy image loading into spl_legacy.c Stefan Roese
2020-04-23 19:29 ` Daniel Schwierzeck
2020-04-21 7:28 ` [PATCH 20/26 v7] spl: spl_nor: Remove unused variable 'ret' warning Stefan Roese
2020-04-23 19:30 ` Daniel Schwierzeck
2020-04-21 7:28 ` [PATCH 21/26 v7] spl: spl_legacy: Add lzma decompression support for legacy image Stefan Roese
2020-04-21 7:28 ` Stefan Roese [this message]
2020-04-23 19:26 ` [PATCH 22/26 v7] mips: spl: Flush cache before jumping to U-Boot proper Daniel Schwierzeck
2020-04-21 7:28 ` [PATCH 23/26 v7] mips: mtmips: add SPL support Stefan Roese
2020-04-21 11:28 ` Daniel Schwierzeck
2020-04-21 11:34 ` Stefan Roese
2020-04-21 11:57 ` Daniel Schwierzeck
2020-04-21 12:04 ` Stefan Roese
2020-04-21 7:28 ` [PATCH 24/26 v7] mips: mtmips: enable SPL for all boards Stefan Roese
2020-04-21 7:28 ` [PATCH 25/26 v7] mips: mtmips: add support for mt7628-rfb Stefan Roese
2020-04-21 7:28 ` [PATCH 26/26 v7] mips: mtmips: Increase CONFIG_SPL_SYS_MALLOC_F_LEN Stefan Roese
2020-04-27 13:35 ` [PATCH 00/26 v7] Refactor the architecture parts of mt7628 Daniel Schwierzeck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200421072850.4970-23-sr@denx.de \
--to=sr@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox