forked from Mirrors/opensbi
lib: sbi: Fix non-root domain startup
Currently, the sbi_sse_init() in cold boot path is called after
sbi_domain_finalize() so boot HART of non-root domains will start
before SSE cold boot init which can cause warm boot of such HARTs
to crash in sbi_sse_init().
To address the above issue, factor-out the non-root domain startup
from sbi_domain_finalize() function as a separate sbi_domain_startup()
function which can be called after sbi_sse_init() in cold boot path.
Fixes: 93f7d819fd
("lib: sbi: sse: allow adding new events")
Signed-off-by: Anup Patel <apatel@ventanamicro.com>
This commit is contained in:
@@ -307,8 +307,11 @@ int sbi_domain_register(struct sbi_domain *dom,
|
||||
int sbi_domain_root_add_memrange(unsigned long addr, unsigned long size,
|
||||
unsigned long align, unsigned long region_flags);
|
||||
|
||||
/** Finalize domain tables and startup non-root domains */
|
||||
int sbi_domain_finalize(struct sbi_scratch *scratch, u32 cold_hartid);
|
||||
/** Startup non-root domains */
|
||||
int sbi_domain_startup(struct sbi_scratch *scratch, u32 cold_hartid);
|
||||
|
||||
/** Finalize domain tables */
|
||||
int sbi_domain_finalize(struct sbi_scratch *scratch);
|
||||
|
||||
/** Initialize domains */
|
||||
int sbi_domain_init(struct sbi_scratch *scratch, u32 cold_hartid);
|
||||
|
Reference in New Issue
Block a user