[RFC PATCH 06/11] lib: sbi_hsm: Export some functions
Anup Patel
anup at brainfault.org
Mon Jan 16 19:40:28 PST 2023
On Fri, Jan 6, 2023 at 4:52 PM Andrew Jones <ajones at ventanamicro.com> wrote:
>
> A coming patch can make use of a few internal hsm functions if
> we export them.
>
> Signed-off-by: Andrew Jones <ajones at ventanamicro.com>
Looks good to me.
Reviewed-by: Anup Patel <anup at brainfault.org>
Regards,
Anup
> ---
> include/sbi/sbi_hsm.h | 4 ++++
> lib/sbi/sbi_hsm.c | 12 ++++++++++--
> 2 files changed, 14 insertions(+), 2 deletions(-)
>
> diff --git a/include/sbi/sbi_hsm.h b/include/sbi/sbi_hsm.h
> index d6cc468d0528..00adfe1a4ef1 100644
> --- a/include/sbi/sbi_hsm.h
> +++ b/include/sbi/sbi_hsm.h
> @@ -65,9 +65,13 @@ void sbi_hsm_hart_resume_start(struct sbi_scratch *scratch);
> void sbi_hsm_hart_resume_finish(struct sbi_scratch *scratch);
> int sbi_hsm_hart_suspend(struct sbi_scratch *scratch, u32 suspend_type,
> ulong raddr, ulong rmode, ulong priv);
> +bool sbi_hsm_hart_change_state(struct sbi_scratch *scratch, long oldstate,
> + long newstate);
> +int __sbi_hsm_hart_get_state(u32 hartid);
> int sbi_hsm_hart_get_state(const struct sbi_domain *dom, u32 hartid);
> int sbi_hsm_hart_interruptible_mask(const struct sbi_domain *dom,
> ulong hbase, ulong *out_hmask);
> +void __sbi_hsm_suspend_non_ret_save(struct sbi_scratch *scratch);
> void sbi_hsm_prepare_next_jump(struct sbi_scratch *scratch, u32 hartid);
>
> #endif
> diff --git a/lib/sbi/sbi_hsm.c b/lib/sbi/sbi_hsm.c
> index cce4b07bbb36..8eb9643e6e72 100644
> --- a/lib/sbi/sbi_hsm.c
> +++ b/lib/sbi/sbi_hsm.c
> @@ -46,7 +46,15 @@ struct sbi_hsm_data {
> unsigned long saved_mip;
> };
>
> -static inline int __sbi_hsm_hart_get_state(u32 hartid)
> +bool sbi_hsm_hart_change_state(struct sbi_scratch *scratch, long oldstate,
> + long newstate)
> +{
> + struct sbi_hsm_data *hdata = sbi_scratch_offset_ptr(scratch,
> + hart_data_offset);
> + return __sbi_hsm_hart_change_state(hdata, oldstate, newstate);
> +}
> +
> +int __sbi_hsm_hart_get_state(u32 hartid)
> {
> struct sbi_hsm_data *hdata;
> struct sbi_scratch *scratch;
> @@ -329,7 +337,7 @@ static int __sbi_hsm_suspend_default(struct sbi_scratch *scratch)
> return 0;
> }
>
> -static void __sbi_hsm_suspend_non_ret_save(struct sbi_scratch *scratch)
> +void __sbi_hsm_suspend_non_ret_save(struct sbi_scratch *scratch)
> {
> struct sbi_hsm_data *hdata = sbi_scratch_offset_ptr(scratch,
> hart_data_offset);
> --
> 2.39.0
>
>
> --
> opensbi mailing list
> opensbi at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/opensbi
More information about the opensbi
mailing list