[PATCH 2/2] lib: sbi_domain: Rename per-domain data to per-domain state

Anup Patel anup.patel at oss.qualcomm.com
Sat Sep 5 00:27:55 PDT 2026


On Thu, Aug 20, 2026 at 5:43 PM Rahul Pathak
<rahul.pathak at oss.qualcomm.com> wrote:
>
> The per-domain sbi_domain_data hold each domain
> associated state like hart context in sbi_domain_context,
> mpxy state in sbi_mpxy, and others like each domain backed
> by the corresponding MPT (SMMPT).
> DATA reads as a generic name, while every use stores state.
> Rename functions and macros appropriately. There are no
> functional changes.
>
> Signed-off-by: Rahul Pathak <rahul.pathak at oss.qualcomm.com>

LGTM.

Reviewed-by: Anup Patel <anup at brainfault.org>

Applied this patch to the riscv/opensbi repo.

Thanks,
Anup

> ---
>  include/sbi/sbi_domain.h       |   6 +-
>  include/sbi/sbi_domain_data.h  |  93 ----------------------
>  include/sbi/sbi_domain_state.h |  93 ++++++++++++++++++++++
>  lib/sbi/objects.mk             |   2 +-
>  lib/sbi/sbi_domain.c           |   6 +-
>  lib/sbi/sbi_domain_context.c   |  14 ++--
>  lib/sbi/sbi_domain_data.c      | 138 ---------------------------------
>  lib/sbi/sbi_domain_state.c     | 138 +++++++++++++++++++++++++++++++++
>  lib/sbi/sbi_mpxy.c             |  32 ++++----
>  9 files changed, 261 insertions(+), 261 deletions(-)
>  delete mode 100644 include/sbi/sbi_domain_data.h
>  create mode 100644 include/sbi/sbi_domain_state.h
>  delete mode 100644 lib/sbi/sbi_domain_data.c
>  create mode 100644 lib/sbi/sbi_domain_state.c
>
> diff --git a/include/sbi/sbi_domain.h b/include/sbi/sbi_domain.h
> index 16edd4ce..38784a0e 100644
> --- a/include/sbi/sbi_domain.h
> +++ b/include/sbi/sbi_domain.h
> @@ -15,7 +15,7 @@
>  #include <sbi/sbi_types.h>
>  #include <sbi/sbi_hartmask.h>
>  #include <sbi/sbi_domain_context.h>
> -#include <sbi/sbi_domain_data.h>
> +#include <sbi/sbi_domain_state.h>
>
>  struct sbi_scratch;
>
> @@ -189,8 +189,8 @@ static inline bool sbi_domain_memregion_is_subset(
>  struct sbi_domain {
>         /** Node in linked list of domains */
>         struct sbi_dlist node;
> -       /** Internal state of per-domain data */
> -       struct sbi_domain_data_priv data_priv;
> +       /** Internal per-domain state areas */
> +       struct sbi_domain_state_priv state_priv;
>         /** Logical index of this domain */
>         u32 index;
>         /** HARTs assigned to this domain */
> diff --git a/include/sbi/sbi_domain_data.h b/include/sbi/sbi_domain_data.h
> deleted file mode 100644
> index 7eeafdce..00000000
> --- a/include/sbi/sbi_domain_data.h
> +++ /dev/null
> @@ -1,93 +0,0 @@
> -/*
> - * SPDX-License-Identifier: BSD-2-Clause
> - *
> - * Copyright (c) 2024 Ventana Micro Systems Inc.
> - */
> -
> -#ifndef __SBI_DOMAIN_DATA_H__
> -#define __SBI_DOMAIN_DATA_H__
> -
> -#include <sbi/sbi_types.h>
> -#include <sbi/sbi_list.h>
> -
> -struct sbi_domain;
> -
> -/** Maximum domain data per-domain */
> -#define SBI_DOMAIN_MAX_DATA_PTRS               32
> -
> -/** Representation of per-domain data */
> -struct sbi_domain_data_priv {
> -       /** Array of domain data pointers indexed by domain data identifier */
> -       void *idx_to_data_ptr[SBI_DOMAIN_MAX_DATA_PTRS];
> -};
> -
> -/** Representation of a domain data */
> -struct sbi_domain_data {
> -       /**
> -        * Head is used for maintaining data list
> -        *
> -        * Note: initialized by domain framework
> -        */
> -       struct sbi_dlist head;
> -       /**
> -        * Identifier which used to locate per-domain data
> -        *
> -        * Note: initialized by domain framework
> -        */
> -       unsigned long data_idx;
> -       /** Size of per-domain data */
> -       unsigned long data_size;
> -       /** Optional callback to setup domain data */
> -       int (*data_setup)(struct sbi_domain *dom,
> -                         struct sbi_domain_data *data, void *data_ptr);
> -       /** Optional callback to cleanup domain data */
> -       void (*data_cleanup)(struct sbi_domain *dom,
> -                            struct sbi_domain_data *data, void *data_ptr);
> -};
> -
> -/**
> - * Get per-domain data pointer for a given domain
> - * @param dom pointer to domain
> - * @param data pointer to domain data
> - *
> - * @return per-domain data pointer
> - */
> -void *sbi_domain_data_ptr(struct sbi_domain *dom, struct sbi_domain_data *data);
> -
> -/**
> - * Setup all domain data for a domain
> - * @param dom pointer to domain
> - *
> - * @return 0 on success and negative error code on failure
> - *
> - * Note: This function is used internally within domain framework.
> - */
> -int sbi_domain_setup_data(struct sbi_domain *dom);
> -
> -/**
> - * Cleanup all domain data for a domain
> - * @param dom pointer to domain
> - *
> - * Note: This function is used internally within domain framework.
> - */
> -void sbi_domain_cleanup_data(struct sbi_domain *dom);
> -
> -/**
> - * Register a domain data
> - * @param hndl pointer to domain data
> - *
> - * @return 0 on success and negative error code on failure
> - *
> - * Note: This function must be used only in cold boot path.
> - */
> -int sbi_domain_register_data(struct sbi_domain_data *data);
> -
> -/**
> - * Unregister a domain data
> - * @param hndl pointer to domain data
> - *
> - * Note: This function must be used only in cold boot path.
> - */
> -void sbi_domain_unregister_data(struct sbi_domain_data *data);
> -
> -#endif
> diff --git a/include/sbi/sbi_domain_state.h b/include/sbi/sbi_domain_state.h
> new file mode 100644
> index 00000000..72030380
> --- /dev/null
> +++ b/include/sbi/sbi_domain_state.h
> @@ -0,0 +1,93 @@
> +/*
> + * SPDX-License-Identifier: BSD-2-Clause
> + *
> + * Copyright (c) 2024 Ventana Micro Systems Inc.
> + */
> +
> +#ifndef __SBI_DOMAIN_STATE_H__
> +#define __SBI_DOMAIN_STATE_H__
> +
> +#include <sbi/sbi_types.h>
> +#include <sbi/sbi_list.h>
> +
> +struct sbi_domain;
> +
> +/** Maximum number of per-domain state areas */
> +#define SBI_DOMAIN_MAX_STATE_PTRS              32
> +
> +/** Internal per-domain state areas */
> +struct sbi_domain_state_priv {
> +       /** Array of per-domain state pointers indexed by state identifier */
> +       void *idx_to_state_ptr[SBI_DOMAIN_MAX_STATE_PTRS];
> +};
> +
> +/** Representation of a domain state */
> +struct sbi_domain_state {
> +       /**
> +        * Head is used for maintaining state list
> +        *
> +        * Note: initialized by domain framework
> +        */
> +       struct sbi_dlist head;
> +       /**
> +        * Identifier which used to locate per-domain state
> +        *
> +        * Note: initialized by domain framework
> +        */
> +       unsigned long state_idx;
> +       /** Size of per-domain state */
> +       unsigned long state_size;
> +       /** Optional callback to setup domain state */
> +       int (*state_setup)(struct sbi_domain *dom,
> +                         struct sbi_domain_state *state, void *state_ptr);
> +       /** Optional callback to cleanup domain state */
> +       void (*state_cleanup)(struct sbi_domain *dom,
> +                            struct sbi_domain_state *state, void *state_ptr);
> +};
> +
> +/**
> + * Get per-domain state pointer for a given domain
> + * @param dom pointer to domain
> + * @param state pointer to domain state
> + *
> + * @return per-domain state pointer
> + */
> +void *sbi_domain_state_ptr(struct sbi_domain *dom, struct sbi_domain_state *state);
> +
> +/**
> + * Setup all domain state for a domain
> + * @param dom pointer to domain
> + *
> + * @return 0 on success and negative error code on failure
> + *
> + * Note: This function is used internally within domain framework.
> + */
> +int sbi_domain_setup_state(struct sbi_domain *dom);
> +
> +/**
> + * Cleanup all domain state for a domain
> + * @param dom pointer to domain
> + *
> + * Note: This function is used internally within domain framework.
> + */
> +void sbi_domain_cleanup_state(struct sbi_domain *dom);
> +
> +/**
> + * Register a domain state
> + * @param hndl pointer to domain state
> + *
> + * @return 0 on success and negative error code on failure
> + *
> + * Note: This function must be used only in cold boot path.
> + */
> +int sbi_domain_register_state(struct sbi_domain_state *state);
> +
> +/**
> + * Unregister a domain state
> + * @param hndl pointer to domain state
> + *
> + * Note: This function must be used only in cold boot path.
> + */
> +void sbi_domain_unregister_state(struct sbi_domain_state *state);
> +
> +#endif
> diff --git a/lib/sbi/objects.mk b/lib/sbi/objects.mk
> index c29c888f..ae27d0c5 100644
> --- a/lib/sbi/objects.mk
> +++ b/lib/sbi/objects.mk
> @@ -68,7 +68,7 @@ libsbi-objs-y += sbi_bitmap.o
>  libsbi-objs-y += sbi_bitops.o
>  libsbi-objs-y += sbi_console.o
>  libsbi-objs-y += sbi_domain_context.o
> -libsbi-objs-y += sbi_domain_data.o
> +libsbi-objs-y += sbi_domain_state.o
>  libsbi-objs-y += sbi_domain.o
>  libsbi-objs-y += sbi_double_trap.o
>  libsbi-objs-y += sbi_emulate_csr.o
> diff --git a/lib/sbi/sbi_domain.c b/lib/sbi/sbi_domain.c
> index fa69170b..79d61c54 100644
> --- a/lib/sbi/sbi_domain.c
> +++ b/lib/sbi/sbi_domain.c
> @@ -687,10 +687,10 @@ int sbi_domain_register(struct sbi_domain *dom,
>                 }
>         }
>
> -       /* Setup data for the discovered domain */
> -       rc = sbi_domain_setup_data(dom);
> +       /* Setup state for the discovered domain */
> +       rc = sbi_domain_setup_state(dom);
>         if (rc) {
> -               sbi_printf("%s: domain data setup failed for %s (error %d)\n",
> +               sbi_printf("%s: domain state setup failed for %s (error %d)\n",
>                            __func__, dom->name, rc);
>                 sbi_list_del(&dom->node);
>                 return rc;
> diff --git a/lib/sbi/sbi_domain_context.c b/lib/sbi/sbi_domain_context.c
> index 0861d541..37cbe175 100644
> --- a/lib/sbi/sbi_domain_context.c
> +++ b/lib/sbi/sbi_domain_context.c
> @@ -64,14 +64,14 @@ struct hart_context {
>         bool initialized;
>  };
>
> -static struct sbi_domain_data dcpriv;
> +static struct sbi_domain_state dcstate;
>
>  static inline struct hart_context *hart_context_get(struct sbi_domain *dom,
>                                                     u32 hartindex)
>  {
>         struct hart_context **dom_hartindex_to_context_table;
>
> -       dom_hartindex_to_context_table = sbi_domain_data_ptr(dom, &dcpriv);
> +       dom_hartindex_to_context_table = sbi_domain_state_ptr(dom, &dcstate);
>         if (!dom_hartindex_to_context_table || !sbi_hartindex_valid(hartindex))
>                 return NULL;
>
> @@ -83,7 +83,7 @@ static void hart_context_set(struct sbi_domain *dom, u32 hartindex,
>  {
>         struct hart_context **dom_hartindex_to_context_table;
>
> -       dom_hartindex_to_context_table = sbi_domain_data_ptr(dom, &dcpriv);
> +       dom_hartindex_to_context_table = sbi_domain_state_ptr(dom, &dcstate);
>         if (!dom_hartindex_to_context_table || !sbi_hartindex_valid(hartindex))
>                 return;
>
> @@ -314,15 +314,15 @@ int sbi_domain_context_init(void)
>         /**
>          * Allocate per-domain and per-hart context data.
>          * The data type is "struct hart_context **" whose memory space will be
> -        * dynamically allocated by domain_setup_data_one(). Calculate needed
> +        * dynamically allocated by domain_setup_state_one(). Calculate needed
>          * size of memory space here.
>          */
> -       dcpriv.data_size = sizeof(struct hart_context *) * sbi_hart_count();
> +       dcstate.state_size = sizeof(struct hart_context *) * sbi_hart_count();
>
> -       return sbi_domain_register_data(&dcpriv);
> +       return sbi_domain_register_state(&dcstate);
>  }
>
>  void sbi_domain_context_deinit(void)
>  {
> -       sbi_domain_unregister_data(&dcpriv);
> +       sbi_domain_unregister_state(&dcstate);
>  }
> diff --git a/lib/sbi/sbi_domain_data.c b/lib/sbi/sbi_domain_data.c
> deleted file mode 100644
> index 04f0edf9..00000000
> --- a/lib/sbi/sbi_domain_data.c
> +++ /dev/null
> @@ -1,138 +0,0 @@
> -/*
> - * SPDX-License-Identifier: BSD-2-Clause
> - *
> - * Copyright (c) 2024 Ventana Micro Systems Inc.
> - */
> -
> -#include <sbi/sbi_bitmap.h>
> -#include <sbi/sbi_domain.h>
> -#include <sbi/sbi_error.h>
> -#include <sbi/sbi_heap.h>
> -
> -static SBI_LIST_HEAD(data_list);
> -static DECLARE_BITMAP(data_idx_bmap, SBI_DOMAIN_MAX_DATA_PTRS);
> -
> -void *sbi_domain_data_ptr(struct sbi_domain *dom, struct sbi_domain_data *data)
> -{
> -       if (dom && data && data->data_idx < SBI_DOMAIN_MAX_DATA_PTRS)
> -               return dom->data_priv.idx_to_data_ptr[data->data_idx];
> -
> -       return NULL;
> -}
> -
> -static int domain_setup_data_one(struct sbi_domain *dom,
> -                                struct sbi_domain_data *data)
> -{
> -       struct sbi_domain_data_priv *priv = &dom->data_priv;
> -       void *data_ptr;
> -       int rc;
> -
> -       if (priv->idx_to_data_ptr[data->data_idx])
> -               return SBI_EALREADY;
> -
> -       data_ptr = sbi_zalloc(data->data_size);
> -       if (!data_ptr) {
> -               sbi_domain_cleanup_data(dom);
> -               return SBI_ENOMEM;
> -       }
> -
> -       if (data->data_setup) {
> -               rc = data->data_setup(dom, data, data_ptr);
> -               if (rc) {
> -                       sbi_free(data_ptr);
> -                       return rc;
> -               }
> -       }
> -
> -       priv->idx_to_data_ptr[data->data_idx] = data_ptr;
> -       return 0;
> -}
> -
> -static void domain_cleanup_data_one(struct sbi_domain *dom,
> -                                   struct sbi_domain_data *data)
> -{
> -       struct sbi_domain_data_priv *priv = &dom->data_priv;
> -       void *data_ptr;
> -
> -       data_ptr = priv->idx_to_data_ptr[data->data_idx];
> -       if (!data_ptr)
> -               return;
> -
> -       if (data->data_cleanup)
> -               data->data_cleanup(dom, data, data_ptr);
> -
> -       sbi_free(data_ptr);
> -       priv->idx_to_data_ptr[data->data_idx] = NULL;
> -}
> -
> -int sbi_domain_setup_data(struct sbi_domain *dom)
> -{
> -       struct sbi_domain_data *data;
> -       int rc;
> -
> -       if (!dom)
> -               return SBI_EINVAL;
> -
> -       sbi_list_for_each_entry(data, &data_list, head) {
> -               rc = domain_setup_data_one(dom, data);
> -               if (rc) {
> -                       sbi_domain_cleanup_data(dom);
> -                       return rc;
> -               }
> -       }
> -
> -       return 0;
> -}
> -
> -void sbi_domain_cleanup_data(struct sbi_domain *dom)
> -{
> -       struct sbi_domain_data *data;
> -
> -       if (!dom)
> -               return;
> -
> -       sbi_list_for_each_entry(data, &data_list, head)
> -               domain_cleanup_data_one(dom, data);
> -}
> -
> -int sbi_domain_register_data(struct sbi_domain_data *data)
> -{
> -       struct sbi_domain *dom;
> -       u32 data_idx;
> -       int rc;
> -
> -       if (!data || !data->data_size)
> -               return SBI_EINVAL;
> -
> -       for (data_idx = 0; data_idx < SBI_DOMAIN_MAX_DATA_PTRS; data_idx++) {
> -               if (!bitmap_test(data_idx_bmap, data_idx))
> -                       break;
> -       }
> -       if (SBI_DOMAIN_MAX_DATA_PTRS <= data_idx)
> -               return SBI_ENOSPC;
> -       bitmap_set(data_idx_bmap, data_idx, 1);
> -
> -       data->data_idx = data_idx;
> -       sbi_list_add_tail(&data->head, &data_list);
> -
> -       sbi_domain_for_each(dom) {
> -               rc = domain_setup_data_one(dom, data);
> -               if (rc) {
> -                       sbi_domain_unregister_data(data);
> -                       return rc;
> -               }
> -       }
> -
> -       return 0;
> -}
> -
> -void sbi_domain_unregister_data(struct sbi_domain_data *data)
> -{
> -       struct sbi_domain *dom;
> -
> -       sbi_domain_for_each(dom)
> -               domain_cleanup_data_one(dom, data);
> -
> -       sbi_list_del(&data->head);
> -       bitmap_clear(data_idx_bmap, data->data_idx, 1);
> -}
> diff --git a/lib/sbi/sbi_domain_state.c b/lib/sbi/sbi_domain_state.c
> new file mode 100644
> index 00000000..2d1f30e3
> --- /dev/null
> +++ b/lib/sbi/sbi_domain_state.c
> @@ -0,0 +1,138 @@
> +/*
> + * SPDX-License-Identifier: BSD-2-Clause
> + *
> + * Copyright (c) 2024 Ventana Micro Systems Inc.
> + */
> +
> +#include <sbi/sbi_bitmap.h>
> +#include <sbi/sbi_domain.h>
> +#include <sbi/sbi_error.h>
> +#include <sbi/sbi_heap.h>
> +
> +static SBI_LIST_HEAD(state_list);
> +static DECLARE_BITMAP(state_idx_bmap, SBI_DOMAIN_MAX_STATE_PTRS);
> +
> +void *sbi_domain_state_ptr(struct sbi_domain *dom, struct sbi_domain_state *state)
> +{
> +       if (dom && state && state->state_idx < SBI_DOMAIN_MAX_STATE_PTRS)
> +               return dom->state_priv.idx_to_state_ptr[state->state_idx];
> +
> +       return NULL;
> +}
> +
> +static int domain_setup_state_one(struct sbi_domain *dom,
> +                                struct sbi_domain_state *state)
> +{
> +       struct sbi_domain_state_priv *priv = &dom->state_priv;
> +       void *state_ptr;
> +       int rc;
> +
> +       if (priv->idx_to_state_ptr[state->state_idx])
> +               return SBI_EALREADY;
> +
> +       state_ptr = sbi_zalloc(state->state_size);
> +       if (!state_ptr) {
> +               sbi_domain_cleanup_state(dom);
> +               return SBI_ENOMEM;
> +       }
> +
> +       if (state->state_setup) {
> +               rc = state->state_setup(dom, state, state_ptr);
> +               if (rc) {
> +                       sbi_free(state_ptr);
> +                       return rc;
> +               }
> +       }
> +
> +       priv->idx_to_state_ptr[state->state_idx] = state_ptr;
> +       return 0;
> +}
> +
> +static void domain_cleanup_state_one(struct sbi_domain *dom,
> +                                   struct sbi_domain_state *state)
> +{
> +       struct sbi_domain_state_priv *priv = &dom->state_priv;
> +       void *state_ptr;
> +
> +       state_ptr = priv->idx_to_state_ptr[state->state_idx];
> +       if (!state_ptr)
> +               return;
> +
> +       if (state->state_cleanup)
> +               state->state_cleanup(dom, state, state_ptr);
> +
> +       sbi_free(state_ptr);
> +       priv->idx_to_state_ptr[state->state_idx] = NULL;
> +}
> +
> +int sbi_domain_setup_state(struct sbi_domain *dom)
> +{
> +       struct sbi_domain_state *state;
> +       int rc;
> +
> +       if (!dom)
> +               return SBI_EINVAL;
> +
> +       sbi_list_for_each_entry(state, &state_list, head) {
> +               rc = domain_setup_state_one(dom, state);
> +               if (rc) {
> +                       sbi_domain_cleanup_state(dom);
> +                       return rc;
> +               }
> +       }
> +
> +       return 0;
> +}
> +
> +void sbi_domain_cleanup_state(struct sbi_domain *dom)
> +{
> +       struct sbi_domain_state *state;
> +
> +       if (!dom)
> +               return;
> +
> +       sbi_list_for_each_entry(state, &state_list, head)
> +               domain_cleanup_state_one(dom, state);
> +}
> +
> +int sbi_domain_register_state(struct sbi_domain_state *state)
> +{
> +       struct sbi_domain *dom;
> +       u32 state_idx;
> +       int rc;
> +
> +       if (!state || !state->state_size)
> +               return SBI_EINVAL;
> +
> +       for (state_idx = 0; state_idx < SBI_DOMAIN_MAX_STATE_PTRS; state_idx++) {
> +               if (!bitmap_test(state_idx_bmap, state_idx))
> +                       break;
> +       }
> +       if (SBI_DOMAIN_MAX_STATE_PTRS <= state_idx)
> +               return SBI_ENOSPC;
> +       bitmap_set(state_idx_bmap, state_idx, 1);
> +
> +       state->state_idx = state_idx;
> +       sbi_list_add_tail(&state->head, &state_list);
> +
> +       sbi_domain_for_each(dom) {
> +               rc = domain_setup_state_one(dom, state);
> +               if (rc) {
> +                       sbi_domain_unregister_state(state);
> +                       return rc;
> +               }
> +       }
> +
> +       return 0;
> +}
> +
> +void sbi_domain_unregister_state(struct sbi_domain_state *state)
> +{
> +       struct sbi_domain *dom;
> +
> +       sbi_domain_for_each(dom)
> +               domain_cleanup_state_one(dom, state);
> +
> +       sbi_list_del(&state->head);
> +       bitmap_clear(state_idx_bmap, state->state_idx, 1);
> +}
> diff --git a/lib/sbi/sbi_mpxy.c b/lib/sbi/sbi_mpxy.c
> index 41fea0ae..2b9ad351 100644
> --- a/lib/sbi/sbi_mpxy.c
> +++ b/lib/sbi/sbi_mpxy.c
> @@ -267,11 +267,11 @@ int sbi_mpxy_register_channel(struct sbi_mpxy_channel *channel)
>  }
>
>  /** Setup per domain MPXY state data */
> -static int domain_mpxy_state_data_setup(struct sbi_domain *dom,
> -                                       struct sbi_domain_data *data,
> -                                       void *data_ptr)
> +static int domain_mpxy_state_setup(struct sbi_domain *dom,
> +                                       struct sbi_domain_state *state,
> +                                       void *state_ptr)
>  {
> -       struct mpxy_state **dom_hartindex_to_mpxy_state_table = data_ptr;
> +       struct mpxy_state **dom_hartindex_to_mpxy_state_table = state_ptr;
>         struct mpxy_state *ms;
>         u32 i;
>
> @@ -296,20 +296,20 @@ static int domain_mpxy_state_data_setup(struct sbi_domain *dom,
>  }
>
>  /** Cleanup per domain MPXY state data */
> -static void domain_mpxy_state_data_cleanup(struct sbi_domain *dom,
> -                                          struct sbi_domain_data *data,
> -                                          void *data_ptr)
> +static void domain_mpxy_state_cleanup(struct sbi_domain *dom,
> +                                          struct sbi_domain_state *state,
> +                                          void *state_ptr)
>  {
> -       struct mpxy_state **dom_hartindex_to_mpxy_state_table = data_ptr;
> +       struct mpxy_state **dom_hartindex_to_mpxy_state_table = state_ptr;
>         u32 i;
>
>         sbi_hartmask_for_each_hartindex(i, dom->possible_harts)
>                 sbi_free(dom_hartindex_to_mpxy_state_table[i]);
>  }
>
> -static struct sbi_domain_data dmspriv = {
> -       .data_setup = domain_mpxy_state_data_setup,
> -       .data_cleanup = domain_mpxy_state_data_cleanup,
> +static struct sbi_domain_state dmstate = {
> +       .state_setup = domain_mpxy_state_setup,
> +       .state_cleanup = domain_mpxy_state_cleanup,
>  };
>
>  /**
> @@ -324,7 +324,7 @@ static struct mpxy_state *sbi_domain_get_mpxy_state(struct sbi_domain *dom,
>  {
>         struct mpxy_state **dom_hartindex_to_mpxy_state_table;
>
> -       dom_hartindex_to_mpxy_state_table = sbi_domain_data_ptr(dom, &dmspriv);
> +       dom_hartindex_to_mpxy_state_table = sbi_domain_state_ptr(dom, &dmstate);
>         if (!dom_hartindex_to_mpxy_state_table ||
>             !sbi_hartindex_valid(hartindex))
>                 return NULL;
> @@ -339,12 +339,12 @@ int sbi_mpxy_init(struct sbi_scratch *scratch)
>         /**
>          * Allocate per-domain and per-hart MPXY state data.
>          * The data type is "struct mpxy_state **" whose memory space will be
> -        * dynamically allocated by domain_setup_data_one() and
> -        * domain_mpxy_state_data_setup(). Calculate needed size of memory space
> +        * dynamically allocated by domain_setup_state_one() and
> +        * domain_mpxy_state_setup(). Calculate needed size of memory space
>          * here.
>          */
> -       dmspriv.data_size = sizeof(struct mpxy_state *) * sbi_hart_count();
> -       ret = sbi_domain_register_data(&dmspriv);
> +       dmstate.state_size = sizeof(struct mpxy_state *) * sbi_hart_count();
> +       ret = sbi_domain_register_state(&dmstate);
>         if (ret)
>                 return ret;
>
> --
> 2.53.0
>
>
> --
> opensbi mailing list
> opensbi at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/opensbi



More information about the opensbi mailing list