All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] lib: sbi: Align SBI vendor extension id with mvendorid CSR
@ 2023-02-13  5:18 Anup Patel
  2023-02-13  5:18 ` [PATCH 2/2] include: sbi: Remove extid parameter from vendor_ext_provider() callback Anup Patel
  2023-02-27  6:09 ` [PATCH 1/2] lib: sbi: Align SBI vendor extension id with mvendorid CSR Anup Patel
  0 siblings, 2 replies; 4+ messages in thread
From: Anup Patel @ 2023-02-13  5:18 UTC (permalink / raw)
  To: opensbi

As-per the SBI specification, the lower 24bits of the SBI vendor
extension id is same as lower 24bits of the mvendorid CSR.

We update the SBI vendor extension id checking based on above.

Signed-off-by: Anup Patel <apatel@ventanamicro.com>
---
 include/sbi/sbi_platform.h                   | 17 ++++++++---------
 lib/sbi/sbi_ecall_vendor.c                   | 19 +++++++++++++++++--
 platform/generic/include/platform_override.h |  1 -
 platform/generic/platform.c                  | 19 ++++++-------------
 4 files changed, 31 insertions(+), 25 deletions(-)

diff --git a/include/sbi/sbi_platform.h b/include/sbi/sbi_platform.h
index 43d1c03..3a629a6 100644
--- a/include/sbi/sbi_platform.h
+++ b/include/sbi/sbi_platform.h
@@ -126,8 +126,8 @@ struct sbi_platform_operations {
 	/** Exit platform timer for current HART */
 	void (*timer_exit)(void);
 
-	/** platform specific SBI extension implementation probe function */
-	int (*vendor_ext_check)(long extid);
+	/** Check if SBI vendor extension is implemented or not */
+	bool (*vendor_ext_check)(void);
 	/** platform specific SBI extension implementation provider */
 	int (*vendor_ext_provider)(long extid, long funcid,
 				   const struct sbi_trap_regs *regs,
@@ -636,20 +636,19 @@ static inline void sbi_platform_timer_exit(const struct sbi_platform *plat)
 }
 
 /**
- * Check if a vendor extension is implemented or not.
+ * Check if SBI vendor extension is implemented or not.
  *
  * @param plat pointer to struct sbi_platform
- * @param extid	vendor SBI extension id
  *
- * @return 0 if extid is not implemented and 1 if implemented
+ * @return false if not implemented and true if implemented
  */
-static inline int sbi_platform_vendor_ext_check(const struct sbi_platform *plat,
-						long extid)
+static inline bool sbi_platform_vendor_ext_check(
+					const struct sbi_platform *plat)
 {
 	if (plat && sbi_platform_ops(plat)->vendor_ext_check)
-		return sbi_platform_ops(plat)->vendor_ext_check(extid);
+		return sbi_platform_ops(plat)->vendor_ext_check();
 
-	return 0;
+	return false;
 }
 
 /**
diff --git a/lib/sbi/sbi_ecall_vendor.c b/lib/sbi/sbi_ecall_vendor.c
index 9252829..9ea5156 100644
--- a/lib/sbi/sbi_ecall_vendor.c
+++ b/lib/sbi/sbi_ecall_vendor.c
@@ -13,12 +13,23 @@
 #include <sbi/sbi_error.h>
 #include <sbi/sbi_platform.h>
 #include <sbi/sbi_trap.h>
+#include <sbi/riscv_asm.h>
+
+static inline unsigned long sbi_ecall_vendor_id(void)
+{
+	return SBI_EXT_VENDOR_START +
+		(csr_read(CSR_MVENDORID) &
+		 (SBI_EXT_VENDOR_END - SBI_EXT_VENDOR_START));
+}
 
 static int sbi_ecall_vendor_probe(unsigned long extid,
 				  unsigned long *out_val)
 {
-	*out_val = sbi_platform_vendor_ext_check(sbi_platform_thishart_ptr(),
-						 extid);
+	if (!sbi_platform_vendor_ext_check(sbi_platform_thishart_ptr()) ||
+	    extid != sbi_ecall_vendor_id())
+		*out_val = 0;
+	else
+		*out_val = 1;
 	return 0;
 }
 
@@ -27,6 +38,10 @@ static int sbi_ecall_vendor_handler(unsigned long extid, unsigned long funcid,
 				    unsigned long *out_val,
 				    struct sbi_trap_info *out_trap)
 {
+	if (!sbi_platform_vendor_ext_check(sbi_platform_thishart_ptr()) ||
+	    extid != sbi_ecall_vendor_id())
+		return SBI_ERR_NOT_SUPPORTED;
+
 	return sbi_platform_vendor_ext_provider(sbi_platform_thishart_ptr(),
 						extid, funcid, regs,
 						out_val, out_trap);
diff --git a/platform/generic/include/platform_override.h b/platform/generic/include/platform_override.h
index a59b06a..350c381 100644
--- a/platform/generic/include/platform_override.h
+++ b/platform/generic/include/platform_override.h
@@ -27,7 +27,6 @@ struct platform_override {
 	int (*extensions_init)(const struct fdt_match *match,
 			       struct sbi_hart_features *hfeatures);
 	void (*fw_init)(void *fdt, const struct fdt_match *match);
-	int (*vendor_ext_check)(long extid, const struct fdt_match *match);
 	int (*vendor_ext_provider)(long extid, long funcid,
 				   const struct sbi_trap_regs *regs,
 				   unsigned long *out_value,
diff --git a/platform/generic/platform.c b/platform/generic/platform.c
index a34d3b0..88c3ec7 100644
--- a/platform/generic/platform.c
+++ b/platform/generic/platform.c
@@ -180,13 +180,10 @@ static int generic_final_init(bool cold_boot)
 	return 0;
 }
 
-static int generic_vendor_ext_check(long extid)
+static bool generic_vendor_ext_check(void)
 {
-	if (generic_plat && generic_plat->vendor_ext_check)
-		return generic_plat->vendor_ext_check(extid,
-						      generic_plat_match);
-
-	return 0;
+	return (generic_plat && generic_plat->vendor_ext_provider) ?
+		true : false;
 }
 
 static int generic_vendor_ext_provider(long extid, long funcid,
@@ -194,13 +191,9 @@ static int generic_vendor_ext_provider(long extid, long funcid,
 				       unsigned long *out_value,
 				       struct sbi_trap_info *out_trap)
 {
-	if (generic_plat && generic_plat->vendor_ext_provider) {
-		return generic_plat->vendor_ext_provider(extid, funcid, regs,
-							 out_value, out_trap,
-							 generic_plat_match);
-	}
-
-	return SBI_ENOTSUPP;
+	return generic_plat->vendor_ext_provider(extid, funcid, regs,
+						 out_value, out_trap,
+						 generic_plat_match);
 }
 
 static void generic_early_exit(void)
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] include: sbi: Remove extid parameter from vendor_ext_provider() callback
  2023-02-13  5:18 [PATCH 1/2] lib: sbi: Align SBI vendor extension id with mvendorid CSR Anup Patel
@ 2023-02-13  5:18 ` Anup Patel
  2023-02-27  6:09   ` Anup Patel
  2023-02-27  6:09 ` [PATCH 1/2] lib: sbi: Align SBI vendor extension id with mvendorid CSR Anup Patel
  1 sibling, 1 reply; 4+ messages in thread
From: Anup Patel @ 2023-02-13  5:18 UTC (permalink / raw)
  To: opensbi

The extid parameter of vendor_ext_provider() is redundant so let us
remove it.

Signed-off-by: Anup Patel <apatel@ventanamicro.com>
---
 include/sbi/sbi_platform.h                   | 9 ++++-----
 lib/sbi/sbi_ecall_vendor.c                   | 2 +-
 platform/generic/include/platform_override.h | 2 +-
 platform/generic/platform.c                  | 4 ++--
 4 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/include/sbi/sbi_platform.h b/include/sbi/sbi_platform.h
index 3a629a6..546c0a6 100644
--- a/include/sbi/sbi_platform.h
+++ b/include/sbi/sbi_platform.h
@@ -129,7 +129,7 @@ struct sbi_platform_operations {
 	/** Check if SBI vendor extension is implemented or not */
 	bool (*vendor_ext_check)(void);
 	/** platform specific SBI extension implementation provider */
-	int (*vendor_ext_provider)(long extid, long funcid,
+	int (*vendor_ext_provider)(long funcid,
 				   const struct sbi_trap_regs *regs,
 				   unsigned long *out_value,
 				   struct sbi_trap_info *out_trap);
@@ -655,7 +655,6 @@ static inline bool sbi_platform_vendor_ext_check(
  * Invoke platform specific vendor SBI extension implementation.
  *
  * @param plat pointer to struct sbi_platform
- * @param extid	vendor SBI extension id
  * @param funcid SBI function id within the extension id
  * @param regs pointer to trap registers passed by the caller
  * @param out_value output value that can be filled by the callee
@@ -665,14 +664,14 @@ static inline bool sbi_platform_vendor_ext_check(
  */
 static inline int sbi_platform_vendor_ext_provider(
 					const struct sbi_platform *plat,
-					long extid, long funcid,
+					long funcid,
 					const struct sbi_trap_regs *regs,
 					unsigned long *out_value,
 					struct sbi_trap_info *out_trap)
 {
 	if (plat && sbi_platform_ops(plat)->vendor_ext_provider) {
-		return sbi_platform_ops(plat)->vendor_ext_provider(extid,
-								funcid, regs,
+		return sbi_platform_ops(plat)->vendor_ext_provider(funcid,
+								regs,
 								out_value,
 								out_trap);
 	}
diff --git a/lib/sbi/sbi_ecall_vendor.c b/lib/sbi/sbi_ecall_vendor.c
index 9ea5156..8b8dab0 100644
--- a/lib/sbi/sbi_ecall_vendor.c
+++ b/lib/sbi/sbi_ecall_vendor.c
@@ -43,7 +43,7 @@ static int sbi_ecall_vendor_handler(unsigned long extid, unsigned long funcid,
 		return SBI_ERR_NOT_SUPPORTED;
 
 	return sbi_platform_vendor_ext_provider(sbi_platform_thishart_ptr(),
-						extid, funcid, regs,
+						funcid, regs,
 						out_val, out_trap);
 }
 
diff --git a/platform/generic/include/platform_override.h b/platform/generic/include/platform_override.h
index 350c381..0d9e5ee 100644
--- a/platform/generic/include/platform_override.h
+++ b/platform/generic/include/platform_override.h
@@ -27,7 +27,7 @@ struct platform_override {
 	int (*extensions_init)(const struct fdt_match *match,
 			       struct sbi_hart_features *hfeatures);
 	void (*fw_init)(void *fdt, const struct fdt_match *match);
-	int (*vendor_ext_provider)(long extid, long funcid,
+	int (*vendor_ext_provider)(long funcid,
 				   const struct sbi_trap_regs *regs,
 				   unsigned long *out_value,
 				   struct sbi_trap_info *out_trap,
diff --git a/platform/generic/platform.c b/platform/generic/platform.c
index 88c3ec7..0b90fd7 100644
--- a/platform/generic/platform.c
+++ b/platform/generic/platform.c
@@ -186,12 +186,12 @@ static bool generic_vendor_ext_check(void)
 		true : false;
 }
 
-static int generic_vendor_ext_provider(long extid, long funcid,
+static int generic_vendor_ext_provider(long funcid,
 				       const struct sbi_trap_regs *regs,
 				       unsigned long *out_value,
 				       struct sbi_trap_info *out_trap)
 {
-	return generic_plat->vendor_ext_provider(extid, funcid, regs,
+	return generic_plat->vendor_ext_provider(funcid, regs,
 						 out_value, out_trap,
 						 generic_plat_match);
 }
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 1/2] lib: sbi: Align SBI vendor extension id with mvendorid CSR
  2023-02-13  5:18 [PATCH 1/2] lib: sbi: Align SBI vendor extension id with mvendorid CSR Anup Patel
  2023-02-13  5:18 ` [PATCH 2/2] include: sbi: Remove extid parameter from vendor_ext_provider() callback Anup Patel
@ 2023-02-27  6:09 ` Anup Patel
  1 sibling, 0 replies; 4+ messages in thread
From: Anup Patel @ 2023-02-27  6:09 UTC (permalink / raw)
  To: opensbi

On Mon, Feb 13, 2023 at 10:48 AM Anup Patel <apatel@ventanamicro.com> wrote:
>
> As-per the SBI specification, the lower 24bits of the SBI vendor
> extension id is same as lower 24bits of the mvendorid CSR.
>
> We update the SBI vendor extension id checking based on above.
>
> Signed-off-by: Anup Patel <apatel@ventanamicro.com>

Applied this patch to the riscv/opensbi repo.

Regards,
Anup

> ---
>  include/sbi/sbi_platform.h                   | 17 ++++++++---------
>  lib/sbi/sbi_ecall_vendor.c                   | 19 +++++++++++++++++--
>  platform/generic/include/platform_override.h |  1 -
>  platform/generic/platform.c                  | 19 ++++++-------------
>  4 files changed, 31 insertions(+), 25 deletions(-)
>
> diff --git a/include/sbi/sbi_platform.h b/include/sbi/sbi_platform.h
> index 43d1c03..3a629a6 100644
> --- a/include/sbi/sbi_platform.h
> +++ b/include/sbi/sbi_platform.h
> @@ -126,8 +126,8 @@ struct sbi_platform_operations {
>         /** Exit platform timer for current HART */
>         void (*timer_exit)(void);
>
> -       /** platform specific SBI extension implementation probe function */
> -       int (*vendor_ext_check)(long extid);
> +       /** Check if SBI vendor extension is implemented or not */
> +       bool (*vendor_ext_check)(void);
>         /** platform specific SBI extension implementation provider */
>         int (*vendor_ext_provider)(long extid, long funcid,
>                                    const struct sbi_trap_regs *regs,
> @@ -636,20 +636,19 @@ static inline void sbi_platform_timer_exit(const struct sbi_platform *plat)
>  }
>
>  /**
> - * Check if a vendor extension is implemented or not.
> + * Check if SBI vendor extension is implemented or not.
>   *
>   * @param plat pointer to struct sbi_platform
> - * @param extid        vendor SBI extension id
>   *
> - * @return 0 if extid is not implemented and 1 if implemented
> + * @return false if not implemented and true if implemented
>   */
> -static inline int sbi_platform_vendor_ext_check(const struct sbi_platform *plat,
> -                                               long extid)
> +static inline bool sbi_platform_vendor_ext_check(
> +                                       const struct sbi_platform *plat)
>  {
>         if (plat && sbi_platform_ops(plat)->vendor_ext_check)
> -               return sbi_platform_ops(plat)->vendor_ext_check(extid);
> +               return sbi_platform_ops(plat)->vendor_ext_check();
>
> -       return 0;
> +       return false;
>  }
>
>  /**
> diff --git a/lib/sbi/sbi_ecall_vendor.c b/lib/sbi/sbi_ecall_vendor.c
> index 9252829..9ea5156 100644
> --- a/lib/sbi/sbi_ecall_vendor.c
> +++ b/lib/sbi/sbi_ecall_vendor.c
> @@ -13,12 +13,23 @@
>  #include <sbi/sbi_error.h>
>  #include <sbi/sbi_platform.h>
>  #include <sbi/sbi_trap.h>
> +#include <sbi/riscv_asm.h>
> +
> +static inline unsigned long sbi_ecall_vendor_id(void)
> +{
> +       return SBI_EXT_VENDOR_START +
> +               (csr_read(CSR_MVENDORID) &
> +                (SBI_EXT_VENDOR_END - SBI_EXT_VENDOR_START));
> +}
>
>  static int sbi_ecall_vendor_probe(unsigned long extid,
>                                   unsigned long *out_val)
>  {
> -       *out_val = sbi_platform_vendor_ext_check(sbi_platform_thishart_ptr(),
> -                                                extid);
> +       if (!sbi_platform_vendor_ext_check(sbi_platform_thishart_ptr()) ||
> +           extid != sbi_ecall_vendor_id())
> +               *out_val = 0;
> +       else
> +               *out_val = 1;
>         return 0;
>  }
>
> @@ -27,6 +38,10 @@ static int sbi_ecall_vendor_handler(unsigned long extid, unsigned long funcid,
>                                     unsigned long *out_val,
>                                     struct sbi_trap_info *out_trap)
>  {
> +       if (!sbi_platform_vendor_ext_check(sbi_platform_thishart_ptr()) ||
> +           extid != sbi_ecall_vendor_id())
> +               return SBI_ERR_NOT_SUPPORTED;
> +
>         return sbi_platform_vendor_ext_provider(sbi_platform_thishart_ptr(),
>                                                 extid, funcid, regs,
>                                                 out_val, out_trap);
> diff --git a/platform/generic/include/platform_override.h b/platform/generic/include/platform_override.h
> index a59b06a..350c381 100644
> --- a/platform/generic/include/platform_override.h
> +++ b/platform/generic/include/platform_override.h
> @@ -27,7 +27,6 @@ struct platform_override {
>         int (*extensions_init)(const struct fdt_match *match,
>                                struct sbi_hart_features *hfeatures);
>         void (*fw_init)(void *fdt, const struct fdt_match *match);
> -       int (*vendor_ext_check)(long extid, const struct fdt_match *match);
>         int (*vendor_ext_provider)(long extid, long funcid,
>                                    const struct sbi_trap_regs *regs,
>                                    unsigned long *out_value,
> diff --git a/platform/generic/platform.c b/platform/generic/platform.c
> index a34d3b0..88c3ec7 100644
> --- a/platform/generic/platform.c
> +++ b/platform/generic/platform.c
> @@ -180,13 +180,10 @@ static int generic_final_init(bool cold_boot)
>         return 0;
>  }
>
> -static int generic_vendor_ext_check(long extid)
> +static bool generic_vendor_ext_check(void)
>  {
> -       if (generic_plat && generic_plat->vendor_ext_check)
> -               return generic_plat->vendor_ext_check(extid,
> -                                                     generic_plat_match);
> -
> -       return 0;
> +       return (generic_plat && generic_plat->vendor_ext_provider) ?
> +               true : false;
>  }
>
>  static int generic_vendor_ext_provider(long extid, long funcid,
> @@ -194,13 +191,9 @@ static int generic_vendor_ext_provider(long extid, long funcid,
>                                        unsigned long *out_value,
>                                        struct sbi_trap_info *out_trap)
>  {
> -       if (generic_plat && generic_plat->vendor_ext_provider) {
> -               return generic_plat->vendor_ext_provider(extid, funcid, regs,
> -                                                        out_value, out_trap,
> -                                                        generic_plat_match);
> -       }
> -
> -       return SBI_ENOTSUPP;
> +       return generic_plat->vendor_ext_provider(extid, funcid, regs,
> +                                                out_value, out_trap,
> +                                                generic_plat_match);
>  }
>
>  static void generic_early_exit(void)
> --
> 2.34.1
>


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 2/2] include: sbi: Remove extid parameter from vendor_ext_provider() callback
  2023-02-13  5:18 ` [PATCH 2/2] include: sbi: Remove extid parameter from vendor_ext_provider() callback Anup Patel
@ 2023-02-27  6:09   ` Anup Patel
  0 siblings, 0 replies; 4+ messages in thread
From: Anup Patel @ 2023-02-27  6:09 UTC (permalink / raw)
  To: opensbi

On Mon, Feb 13, 2023 at 10:48 AM Anup Patel <apatel@ventanamicro.com> wrote:
>
> The extid parameter of vendor_ext_provider() is redundant so let us
> remove it.
>
> Signed-off-by: Anup Patel <apatel@ventanamicro.com>

Applied this patch to the riscv/opensbi repo.

Regards,
Anup

> ---
>  include/sbi/sbi_platform.h                   | 9 ++++-----
>  lib/sbi/sbi_ecall_vendor.c                   | 2 +-
>  platform/generic/include/platform_override.h | 2 +-
>  platform/generic/platform.c                  | 4 ++--
>  4 files changed, 8 insertions(+), 9 deletions(-)
>
> diff --git a/include/sbi/sbi_platform.h b/include/sbi/sbi_platform.h
> index 3a629a6..546c0a6 100644
> --- a/include/sbi/sbi_platform.h
> +++ b/include/sbi/sbi_platform.h
> @@ -129,7 +129,7 @@ struct sbi_platform_operations {
>         /** Check if SBI vendor extension is implemented or not */
>         bool (*vendor_ext_check)(void);
>         /** platform specific SBI extension implementation provider */
> -       int (*vendor_ext_provider)(long extid, long funcid,
> +       int (*vendor_ext_provider)(long funcid,
>                                    const struct sbi_trap_regs *regs,
>                                    unsigned long *out_value,
>                                    struct sbi_trap_info *out_trap);
> @@ -655,7 +655,6 @@ static inline bool sbi_platform_vendor_ext_check(
>   * Invoke platform specific vendor SBI extension implementation.
>   *
>   * @param plat pointer to struct sbi_platform
> - * @param extid        vendor SBI extension id
>   * @param funcid SBI function id within the extension id
>   * @param regs pointer to trap registers passed by the caller
>   * @param out_value output value that can be filled by the callee
> @@ -665,14 +664,14 @@ static inline bool sbi_platform_vendor_ext_check(
>   */
>  static inline int sbi_platform_vendor_ext_provider(
>                                         const struct sbi_platform *plat,
> -                                       long extid, long funcid,
> +                                       long funcid,
>                                         const struct sbi_trap_regs *regs,
>                                         unsigned long *out_value,
>                                         struct sbi_trap_info *out_trap)
>  {
>         if (plat && sbi_platform_ops(plat)->vendor_ext_provider) {
> -               return sbi_platform_ops(plat)->vendor_ext_provider(extid,
> -                                                               funcid, regs,
> +               return sbi_platform_ops(plat)->vendor_ext_provider(funcid,
> +                                                               regs,
>                                                                 out_value,
>                                                                 out_trap);
>         }
> diff --git a/lib/sbi/sbi_ecall_vendor.c b/lib/sbi/sbi_ecall_vendor.c
> index 9ea5156..8b8dab0 100644
> --- a/lib/sbi/sbi_ecall_vendor.c
> +++ b/lib/sbi/sbi_ecall_vendor.c
> @@ -43,7 +43,7 @@ static int sbi_ecall_vendor_handler(unsigned long extid, unsigned long funcid,
>                 return SBI_ERR_NOT_SUPPORTED;
>
>         return sbi_platform_vendor_ext_provider(sbi_platform_thishart_ptr(),
> -                                               extid, funcid, regs,
> +                                               funcid, regs,
>                                                 out_val, out_trap);
>  }
>
> diff --git a/platform/generic/include/platform_override.h b/platform/generic/include/platform_override.h
> index 350c381..0d9e5ee 100644
> --- a/platform/generic/include/platform_override.h
> +++ b/platform/generic/include/platform_override.h
> @@ -27,7 +27,7 @@ struct platform_override {
>         int (*extensions_init)(const struct fdt_match *match,
>                                struct sbi_hart_features *hfeatures);
>         void (*fw_init)(void *fdt, const struct fdt_match *match);
> -       int (*vendor_ext_provider)(long extid, long funcid,
> +       int (*vendor_ext_provider)(long funcid,
>                                    const struct sbi_trap_regs *regs,
>                                    unsigned long *out_value,
>                                    struct sbi_trap_info *out_trap,
> diff --git a/platform/generic/platform.c b/platform/generic/platform.c
> index 88c3ec7..0b90fd7 100644
> --- a/platform/generic/platform.c
> +++ b/platform/generic/platform.c
> @@ -186,12 +186,12 @@ static bool generic_vendor_ext_check(void)
>                 true : false;
>  }
>
> -static int generic_vendor_ext_provider(long extid, long funcid,
> +static int generic_vendor_ext_provider(long funcid,
>                                        const struct sbi_trap_regs *regs,
>                                        unsigned long *out_value,
>                                        struct sbi_trap_info *out_trap)
>  {
> -       return generic_plat->vendor_ext_provider(extid, funcid, regs,
> +       return generic_plat->vendor_ext_provider(funcid, regs,
>                                                  out_value, out_trap,
>                                                  generic_plat_match);
>  }
> --
> 2.34.1
>


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-02-27  6:09 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-13  5:18 [PATCH 1/2] lib: sbi: Align SBI vendor extension id with mvendorid CSR Anup Patel
2023-02-13  5:18 ` [PATCH 2/2] include: sbi: Remove extid parameter from vendor_ext_provider() callback Anup Patel
2023-02-27  6:09   ` Anup Patel
2023-02-27  6:09 ` [PATCH 1/2] lib: sbi: Align SBI vendor extension id with mvendorid CSR Anup Patel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.