You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by pk...@apache.org on 2022/07/22 16:00:38 UTC
[incubator-nuttx] branch master updated: OpenSBI: Add configurable support for domain init
This is an automated email from the ASF dual-hosted git repository.
pkarashchenko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
The following commit(s) were added to refs/heads/master by this push:
new e268b23142 OpenSBI: Add configurable support for domain init
e268b23142 is described below
commit e268b23142834af317372d691f329828d387a22a
Author: Jouni Ukkonen <jo...@unikie.com>
AuthorDate: Wed May 11 12:51:56 2022 +0300
OpenSBI: Add configurable support for domain init
Initialize .domains_init function entry point in sbi_platform_operations when
CONFIG_OPENSBI_DOMAINS=y. In this case, the board specific code must provide
the "board_domains_init" function.
Signed-off-by: Jouni Ukkonen <jo...@unikie.com>
---
arch/risc-v/src/mpfs/mpfs_opensbi.c | 9 +++++++++
arch/risc-v/src/opensbi/Kconfig | 5 +++++
2 files changed, 14 insertions(+)
diff --git a/arch/risc-v/src/mpfs/mpfs_opensbi.c b/arch/risc-v/src/mpfs/mpfs_opensbi.c
index e3cbcc6d30..8ac3e6645d 100644
--- a/arch/risc-v/src/mpfs/mpfs_opensbi.c
+++ b/arch/risc-v/src/mpfs/mpfs_opensbi.c
@@ -124,6 +124,12 @@ static int mpfs_opensbi_ecall_handler(long extid, long funcid,
extern void riscv_lowputc(char ch);
+/* domains init implemented in board specific file */
+
+#ifdef CONFIG_OPENSBI_DOMAINS
+extern int board_domains_init(void);
+#endif
+
/****************************************************************************
* Private Data
****************************************************************************/
@@ -157,6 +163,9 @@ static struct aclint_mtimer_data mpfs_mtimer =
static const struct sbi_platform_operations platform_ops =
{
+#ifdef CONFIG_OPENSBI_DOMAINS
+ .domains_init = board_domains_init,
+#endif
.console_init = mpfs_opensbi_console_init,
.early_init = mpfs_early_init,
.irqchip_init = mpfs_irqchip_init,
diff --git a/arch/risc-v/src/opensbi/Kconfig b/arch/risc-v/src/opensbi/Kconfig
index 1c538be6b6..455ba46529 100644
--- a/arch/risc-v/src/opensbi/Kconfig
+++ b/arch/risc-v/src/opensbi/Kconfig
@@ -10,3 +10,8 @@ config OPENSBI
---help---
Enable or disable Open Source Supervisor Binary Interface (OpenSBI) features
for RISC-V.
+
+config OPENSBI_DOMAINS
+ bool "Support multiple OpenSBI boot domains"
+ depends on OPENSBI
+ default n