[RFC PATCH 03/10] lib: sbi: Rename sbi_hsm_hart_started_mask() function
Atish Patra
atishp at atishpatra.org
Tue Feb 23 18:11:15 EST 2021
On Sun, Feb 21, 2021 at 12:54 AM Anup Patel <anup.patel at wdc.com> wrote:
>
> A hart can take interrupt in the new HSM states introduced by the
> SBI HSM suspend function (such as SUSPENDED state) so we rename
> sbi_hsm_hart_started_mask() to something more generic such as
> sbi_hsm_hart_interruptible_mask().
>
> Signed-off-by: Anup Patel <anup.patel at wdc.com>
> ---
> include/sbi/sbi_hsm.h | 4 ++--
> lib/sbi/sbi_ecall_legacy.c | 4 ++--
> lib/sbi/sbi_hsm.c | 4 ++--
> lib/sbi/sbi_ipi.c | 4 ++--
> lib/sbi/sbi_system.c | 2 +-
> 5 files changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/include/sbi/sbi_hsm.h b/include/sbi/sbi_hsm.h
> index 69ddee7..4250515 100644
> --- a/include/sbi/sbi_hsm.h
> +++ b/include/sbi/sbi_hsm.h
> @@ -23,8 +23,8 @@ int sbi_hsm_hart_start(struct sbi_scratch *scratch,
> u32 hartid, ulong saddr, ulong smode, ulong priv);
> int sbi_hsm_hart_stop(struct sbi_scratch *scratch, bool exitnow);
> int sbi_hsm_hart_get_state(const struct sbi_domain *dom, u32 hartid);
> -int sbi_hsm_hart_started_mask(const struct sbi_domain *dom,
> - ulong hbase, ulong *out_hmask);
> +int sbi_hsm_hart_interruptible_mask(const struct sbi_domain *dom,
> + ulong hbase, ulong *out_hmask);
> void sbi_hsm_prepare_next_jump(struct sbi_scratch *scratch, u32 hartid);
>
> #endif
> diff --git a/lib/sbi/sbi_ecall_legacy.c b/lib/sbi/sbi_ecall_legacy.c
> index 1a7fe26..e20de76 100644
> --- a/lib/sbi/sbi_ecall_legacy.c
> +++ b/lib/sbi/sbi_ecall_legacy.c
> @@ -34,8 +34,8 @@ static int sbi_load_hart_mask_unpriv(ulong *pmask, ulong *hmask,
> if (uptrap->cause)
> return SBI_ETRAP;
> } else {
> - sbi_hsm_hart_started_mask(sbi_domain_thishart_ptr(),
> - 0, &mask);
> + sbi_hsm_hart_interruptible_mask(sbi_domain_thishart_ptr(),
> + 0, &mask);
> }
> *hmask = mask;
>
> diff --git a/lib/sbi/sbi_hsm.c b/lib/sbi/sbi_hsm.c
> index 1f54c9d..a81b821 100644
> --- a/lib/sbi/sbi_hsm.c
> +++ b/lib/sbi/sbi_hsm.c
> @@ -70,8 +70,8 @@ static bool sbi_hsm_hart_started(const struct sbi_domain *dom, u32 hartid)
> * @return 0 on success and SBI_Exxx (< 0) on failure
> * Note: the output HART mask will be set to zero on failure as well.
> */
> -int sbi_hsm_hart_started_mask(const struct sbi_domain *dom,
> - ulong hbase, ulong *out_hmask)
> +int sbi_hsm_hart_interruptible_mask(const struct sbi_domain *dom,
> + ulong hbase, ulong *out_hmask)
> {
> ulong i, hmask, dmask;
> ulong hend = sbi_scratch_last_hartid() + 1;
> diff --git a/lib/sbi/sbi_ipi.c b/lib/sbi/sbi_ipi.c
> index 4347832..a3a6ce6 100644
> --- a/lib/sbi/sbi_ipi.c
> +++ b/lib/sbi/sbi_ipi.c
> @@ -82,7 +82,7 @@ int sbi_ipi_send_many(ulong hmask, ulong hbase, u32 event, void *data)
> struct sbi_scratch *scratch = sbi_scratch_thishart_ptr();
>
> if (hbase != -1UL) {
> - rc = sbi_hsm_hart_started_mask(dom, hbase, &m);
> + rc = sbi_hsm_hart_interruptible_mask(dom, hbase, &m);
> if (rc)
> return rc;
> m &= hmask;
> @@ -94,7 +94,7 @@ int sbi_ipi_send_many(ulong hmask, ulong hbase, u32 event, void *data)
> }
> } else {
> hbase = 0;
> - while (!sbi_hsm_hart_started_mask(dom, hbase, &m)) {
> + while (!sbi_hsm_hart_interruptible_mask(dom, hbase, &m)) {
> /* Send IPIs */
> for (i = hbase; m; i++, m >>= 1) {
> if (m & 1UL)
> diff --git a/lib/sbi/sbi_system.c b/lib/sbi/sbi_system.c
> index 08a8b47..10915b4 100644
> --- a/lib/sbi/sbi_system.c
> +++ b/lib/sbi/sbi_system.c
> @@ -35,7 +35,7 @@ void __noreturn sbi_system_reset(u32 reset_type, u32 reset_reason)
> struct sbi_scratch *scratch = sbi_scratch_thishart_ptr();
>
> /* Send HALT IPI to every hart other than the current hart */
> - while (!sbi_hsm_hart_started_mask(dom, hbase, &hmask)) {
> + while (!sbi_hsm_hart_interruptible_mask(dom, hbase, &hmask)) {
> if (hbase <= cur_hartid)
> hmask &= ~(1UL << (cur_hartid - hbase));
> if (hmask)
> --
> 2.25.1
>
>
> --
> opensbi mailing list
> opensbi at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/opensbi
Reviewed-by: Atish Patra <atish.patra at wdc.com>
--
Regards,
Atish
More information about the opensbi
mailing list