summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnup Patel <anup.patel@wdc.com>2021-04-10 06:39:00 +0300
committerAnup Patel <anup@brainfault.org>2021-04-13 08:26:45 +0300
commitfc37c9712d50a8900a13eacae64bc4e640e528e9 (patch)
tree6919857e381d2a3c64550b6ca7a511e38d90a3bc
parent8b569803475e130b85987b97fdd47c19e900bf82 (diff)
downloadopensbi-fc37c9712d50a8900a13eacae64bc4e640e528e9.tar.xz
lib: sbi: Make the root domain instance global variable
We make the the root domain instance global variable so that platform support and drivers can iterate over the root domain regions. Signed-off-by: Anup Patel <anup.patel@wdc.com> Reviewed-by: Xiang W <wxjstz@126.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
-rw-r--r--include/sbi/sbi_domain.h3
-rw-r--r--lib/sbi/sbi_domain.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/include/sbi/sbi_domain.h b/include/sbi/sbi_domain.h
index 84d17da..27316de 100644
--- a/include/sbi/sbi_domain.h
+++ b/include/sbi/sbi_domain.h
@@ -80,6 +80,9 @@ struct sbi_domain {
bool system_reset_allowed;
};
+/** The root domain instance */
+extern struct sbi_domain root;
+
/** HART id to domain table */
extern struct sbi_domain *hartid_to_domain_table[];
diff --git a/lib/sbi/sbi_domain.c b/lib/sbi/sbi_domain.c
index 4b5a89f..c95c3c3 100644
--- a/lib/sbi/sbi_domain.c
+++ b/lib/sbi/sbi_domain.c
@@ -29,7 +29,7 @@ static u32 root_memregs_count = 0;
static struct sbi_domain_memregion root_fw_region;
static struct sbi_domain_memregion root_memregs[ROOT_REGION_MAX + 1] = { 0 };
-static struct sbi_domain root = {
+struct sbi_domain root = {
.name = "root",
.possible_harts = &root_hmask,
.regions = root_memregs,