diff mbox series

[v3,2/5] include: sbi: Remove opensbi specific reset type defines

Message ID 20201125051647.295472-3-anup.patel@wdc.com
State Accepted
Headers show
Series Implement System Reset (SRST) SBI extension | expand

Commit Message

Anup Patel Nov. 25, 2020, 5:16 a.m. UTC
We can now use the standard SBI SRST extension reset types instead
of the opensbi specific (SBI_PLATFORM_RESET_xyz) reset types hence
remove related opensbi specific defines. The "platform_" prefix of
the reset type parameter of sbi_system_reset() function should also
be removed.

Signed-off-by: Anup Patel <anup.patel@wdc.com>
---
 include/sbi/sbi_platform.h  | 4 +---
 include/sbi/sbi_system.h    | 2 +-
 lib/sbi/sbi_ecall_legacy.c  | 2 +-
 lib/sbi/sbi_system.c        | 4 ++--
 lib/utils/sys/sifive_test.c | 6 +++---
 5 files changed, 8 insertions(+), 10 deletions(-)

Comments

Alistair Francis Dec. 1, 2020, 1:46 a.m. UTC | #1
On Wed, 2020-11-25 at 10:46 +0530, Anup Patel wrote:
> We can now use the standard SBI SRST extension reset types instead
> of the opensbi specific (SBI_PLATFORM_RESET_xyz) reset types hence
> remove related opensbi specific defines. The "platform_" prefix of
> the reset type parameter of sbi_system_reset() function should also
> be removed.
> 
> Signed-off-by: Anup Patel <anup.patel@wdc.com>

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

> ---
>  include/sbi/sbi_platform.h  | 4 +---
>  include/sbi/sbi_system.h    | 2 +-
>  lib/sbi/sbi_ecall_legacy.c  | 2 +-
>  lib/sbi/sbi_system.c        | 4 ++--
>  lib/utils/sys/sifive_test.c | 6 +++---
>  5 files changed, 8 insertions(+), 10 deletions(-)
> 
> diff --git a/include/sbi/sbi_platform.h b/include/sbi/sbi_platform.h
> index 7a8c113..3f4a733 100644
> --- a/include/sbi/sbi_platform.h
> +++ b/include/sbi/sbi_platform.h
> @@ -40,6 +40,7 @@
>  
>  #ifndef __ASSEMBLY__
>  
> +#include <sbi/sbi_ecall_interface.h>
>  #include <sbi/sbi_error.h>
>  #include <sbi/sbi_scratch.h>
>  #include <sbi/sbi_version.h>
> @@ -139,9 +140,6 @@ struct sbi_platform_operations {
>         int (*hart_stop)(void);
>  
>         /** Reset the platform */
> -#define SBI_PLATFORM_RESET_SHUTDOWN    0
> -#define SBI_PLATFORM_RESET_COLD                1
> -#define SBI_PLATFORM_RESET_WARM                2
>         int (*system_reset)(u32 reset_type);
>  
>         /** platform specific SBI extension implementation probe
> function */
> diff --git a/include/sbi/sbi_system.h b/include/sbi/sbi_system.h
> index d44ef12..309e263 100644
> --- a/include/sbi/sbi_system.h
> +++ b/include/sbi/sbi_system.h
> @@ -12,6 +12,6 @@
>  
>  #include <sbi/sbi_types.h>
>  
> -void __noreturn sbi_system_reset(u32 platform_reset_type);
> +void __noreturn sbi_system_reset(u32 reset_type);
>  
>  #endif
> diff --git a/lib/sbi/sbi_ecall_legacy.c b/lib/sbi/sbi_ecall_legacy.c
> index 909cbe3..683b8dc 100644
> --- a/lib/sbi/sbi_ecall_legacy.c
> +++ b/lib/sbi/sbi_ecall_legacy.c
> @@ -103,7 +103,7 @@ static int sbi_ecall_legacy_handler(unsigned long
> extid, unsigned long funcid,
>                 }
>                 break;
>         case SBI_EXT_0_1_SHUTDOWN:
> -               sbi_system_reset(SBI_PLATFORM_RESET_SHUTDOWN);
> +               sbi_system_reset(SBI_SRST_RESET_TYPE_SHUTDOWN);
>                 break;
>         default:
>                 ret = SBI_ENOTSUPP;
> diff --git a/lib/sbi/sbi_system.c b/lib/sbi/sbi_system.c
> index 96290b3..2f1b7fb 100644
> --- a/lib/sbi/sbi_system.c
> +++ b/lib/sbi/sbi_system.c
> @@ -18,7 +18,7 @@
>  #include <sbi/sbi_ipi.h>
>  #include <sbi/sbi_init.h>
>  
> -void __noreturn sbi_system_reset(u32 platform_reset_type)
> +void __noreturn sbi_system_reset(u32 reset_type)
>  {
>         ulong hbase = 0, hmask;
>         u32 cur_hartid = current_hartid();
> @@ -40,7 +40,7 @@ void __noreturn sbi_system_reset(u32
> platform_reset_type)
>         /* Platform specific reset if domain allowed system reset */
>         if (dom->system_reset_allowed)
>                 sbi_platform_system_reset(sbi_platform_ptr(scratch),
> -                                         platform_reset_type);
> +                                         reset_type);
>  
>         /* If platform specific reset did not work then do sbi_exit()
> */
>         sbi_exit(scratch);
> diff --git a/lib/utils/sys/sifive_test.c
> b/lib/utils/sys/sifive_test.c
> index 15369da..06fbfb2 100644
> --- a/lib/utils/sys/sifive_test.c
> +++ b/lib/utils/sys/sifive_test.c
> @@ -24,11 +24,11 @@ int sifive_test_system_reset(u32 type)
>          * was successful so that QEMU exits
>          */
>         switch (type) {
> -       case SBI_PLATFORM_RESET_SHUTDOWN:
> +       case SBI_SRST_RESET_TYPE_SHUTDOWN:
>                 writew(FINISHER_PASS, sifive_test_base);
>                 break;
> -       case SBI_PLATFORM_RESET_COLD:
> -       case SBI_PLATFORM_RESET_WARM:
> +       case SBI_SRST_RESET_TYPE_COLD_REBOOT:
> +       case SBI_SRST_RESET_TYPE_WARM_REBOOT:
>                 writew(FINISHER_RESET, sifive_test_base);
>                 break;
>         }
Atish Patra Dec. 1, 2020, 7:43 a.m. UTC | #2
On Tue, Nov 24, 2020 at 9:17 PM Anup Patel <anup.patel@wdc.com> wrote:
>
> We can now use the standard SBI SRST extension reset types instead
> of the opensbi specific (SBI_PLATFORM_RESET_xyz) reset types hence
> remove related opensbi specific defines. The "platform_" prefix of
> the reset type parameter of sbi_system_reset() function should also
> be removed.
>
> Signed-off-by: Anup Patel <anup.patel@wdc.com>
> ---
>  include/sbi/sbi_platform.h  | 4 +---
>  include/sbi/sbi_system.h    | 2 +-
>  lib/sbi/sbi_ecall_legacy.c  | 2 +-
>  lib/sbi/sbi_system.c        | 4 ++--
>  lib/utils/sys/sifive_test.c | 6 +++---
>  5 files changed, 8 insertions(+), 10 deletions(-)
>
> diff --git a/include/sbi/sbi_platform.h b/include/sbi/sbi_platform.h
> index 7a8c113..3f4a733 100644
> --- a/include/sbi/sbi_platform.h
> +++ b/include/sbi/sbi_platform.h
> @@ -40,6 +40,7 @@
>
>  #ifndef __ASSEMBLY__
>
> +#include <sbi/sbi_ecall_interface.h>
>  #include <sbi/sbi_error.h>
>  #include <sbi/sbi_scratch.h>
>  #include <sbi/sbi_version.h>
> @@ -139,9 +140,6 @@ struct sbi_platform_operations {
>         int (*hart_stop)(void);
>
>         /** Reset the platform */
> -#define SBI_PLATFORM_RESET_SHUTDOWN    0
> -#define SBI_PLATFORM_RESET_COLD                1
> -#define SBI_PLATFORM_RESET_WARM                2
>         int (*system_reset)(u32 reset_type);
>
>         /** platform specific SBI extension implementation probe function */
> diff --git a/include/sbi/sbi_system.h b/include/sbi/sbi_system.h
> index d44ef12..309e263 100644
> --- a/include/sbi/sbi_system.h
> +++ b/include/sbi/sbi_system.h
> @@ -12,6 +12,6 @@
>
>  #include <sbi/sbi_types.h>
>
> -void __noreturn sbi_system_reset(u32 platform_reset_type);
> +void __noreturn sbi_system_reset(u32 reset_type);
>
>  #endif
> diff --git a/lib/sbi/sbi_ecall_legacy.c b/lib/sbi/sbi_ecall_legacy.c
> index 909cbe3..683b8dc 100644
> --- a/lib/sbi/sbi_ecall_legacy.c
> +++ b/lib/sbi/sbi_ecall_legacy.c
> @@ -103,7 +103,7 @@ static int sbi_ecall_legacy_handler(unsigned long extid, unsigned long funcid,
>                 }
>                 break;
>         case SBI_EXT_0_1_SHUTDOWN:
> -               sbi_system_reset(SBI_PLATFORM_RESET_SHUTDOWN);
> +               sbi_system_reset(SBI_SRST_RESET_TYPE_SHUTDOWN);
>                 break;
>         default:
>                 ret = SBI_ENOTSUPP;
> diff --git a/lib/sbi/sbi_system.c b/lib/sbi/sbi_system.c
> index 96290b3..2f1b7fb 100644
> --- a/lib/sbi/sbi_system.c
> +++ b/lib/sbi/sbi_system.c
> @@ -18,7 +18,7 @@
>  #include <sbi/sbi_ipi.h>
>  #include <sbi/sbi_init.h>
>
> -void __noreturn sbi_system_reset(u32 platform_reset_type)
> +void __noreturn sbi_system_reset(u32 reset_type)
>  {
>         ulong hbase = 0, hmask;
>         u32 cur_hartid = current_hartid();
> @@ -40,7 +40,7 @@ void __noreturn sbi_system_reset(u32 platform_reset_type)
>         /* Platform specific reset if domain allowed system reset */
>         if (dom->system_reset_allowed)
>                 sbi_platform_system_reset(sbi_platform_ptr(scratch),
> -                                         platform_reset_type);
> +                                         reset_type);
>
>         /* If platform specific reset did not work then do sbi_exit() */
>         sbi_exit(scratch);
> diff --git a/lib/utils/sys/sifive_test.c b/lib/utils/sys/sifive_test.c
> index 15369da..06fbfb2 100644
> --- a/lib/utils/sys/sifive_test.c
> +++ b/lib/utils/sys/sifive_test.c
> @@ -24,11 +24,11 @@ int sifive_test_system_reset(u32 type)
>          * was successful so that QEMU exits
>          */
>         switch (type) {
> -       case SBI_PLATFORM_RESET_SHUTDOWN:
> +       case SBI_SRST_RESET_TYPE_SHUTDOWN:
>                 writew(FINISHER_PASS, sifive_test_base);
>                 break;
> -       case SBI_PLATFORM_RESET_COLD:
> -       case SBI_PLATFORM_RESET_WARM:
> +       case SBI_SRST_RESET_TYPE_COLD_REBOOT:
> +       case SBI_SRST_RESET_TYPE_WARM_REBOOT:
>                 writew(FINISHER_RESET, sifive_test_base);
>                 break;
>         }
> --
> 2.25.1
>
>
> --
> opensbi mailing list
> opensbi@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/opensbi


Reviewed-by: Atish Patra <atish.patra@wdc.com>
Anup Patel Dec. 1, 2020, 4:28 p.m. UTC | #3
> -----Original Message-----
> From: Atish Patra <atishp@atishpatra.org>
> Sent: 01 December 2020 13:14
> To: Anup Patel <Anup.Patel@wdc.com>
> Cc: Atish Patra <Atish.Patra@wdc.com>; Alistair Francis
> <Alistair.Francis@wdc.com>; Anup Patel <anup@brainfault.org>; OpenSBI
> <opensbi@lists.infradead.org>
> Subject: Re: [PATCH v3 2/5] include: sbi: Remove opensbi specific reset type
> defines
> 
> On Tue, Nov 24, 2020 at 9:17 PM Anup Patel <anup.patel@wdc.com> wrote:
> >
> > We can now use the standard SBI SRST extension reset types instead of
> > the opensbi specific (SBI_PLATFORM_RESET_xyz) reset types hence
> remove
> > related opensbi specific defines. The "platform_" prefix of the reset
> > type parameter of sbi_system_reset() function should also be removed.
> >
> > Signed-off-by: Anup Patel <anup.patel@wdc.com>
> > ---
> >  include/sbi/sbi_platform.h  | 4 +---
> >  include/sbi/sbi_system.h    | 2 +-
> >  lib/sbi/sbi_ecall_legacy.c  | 2 +-
> >  lib/sbi/sbi_system.c        | 4 ++--
> >  lib/utils/sys/sifive_test.c | 6 +++---
> >  5 files changed, 8 insertions(+), 10 deletions(-)
> >
> > diff --git a/include/sbi/sbi_platform.h b/include/sbi/sbi_platform.h
> > index 7a8c113..3f4a733 100644
> > --- a/include/sbi/sbi_platform.h
> > +++ b/include/sbi/sbi_platform.h
> > @@ -40,6 +40,7 @@
> >
> >  #ifndef __ASSEMBLY__
> >
> > +#include <sbi/sbi_ecall_interface.h>
> >  #include <sbi/sbi_error.h>
> >  #include <sbi/sbi_scratch.h>
> >  #include <sbi/sbi_version.h>
> > @@ -139,9 +140,6 @@ struct sbi_platform_operations {
> >         int (*hart_stop)(void);
> >
> >         /** Reset the platform */
> > -#define SBI_PLATFORM_RESET_SHUTDOWN    0
> > -#define SBI_PLATFORM_RESET_COLD                1
> > -#define SBI_PLATFORM_RESET_WARM                2
> >         int (*system_reset)(u32 reset_type);
> >
> >         /** platform specific SBI extension implementation probe
> > function */ diff --git a/include/sbi/sbi_system.h
> > b/include/sbi/sbi_system.h index d44ef12..309e263 100644
> > --- a/include/sbi/sbi_system.h
> > +++ b/include/sbi/sbi_system.h
> > @@ -12,6 +12,6 @@
> >
> >  #include <sbi/sbi_types.h>
> >
> > -void __noreturn sbi_system_reset(u32 platform_reset_type);
> > +void __noreturn sbi_system_reset(u32 reset_type);
> >
> >  #endif
> > diff --git a/lib/sbi/sbi_ecall_legacy.c b/lib/sbi/sbi_ecall_legacy.c
> > index 909cbe3..683b8dc 100644
> > --- a/lib/sbi/sbi_ecall_legacy.c
> > +++ b/lib/sbi/sbi_ecall_legacy.c
> > @@ -103,7 +103,7 @@ static int sbi_ecall_legacy_handler(unsigned long
> extid, unsigned long funcid,
> >                 }
> >                 break;
> >         case SBI_EXT_0_1_SHUTDOWN:
> > -               sbi_system_reset(SBI_PLATFORM_RESET_SHUTDOWN);
> > +               sbi_system_reset(SBI_SRST_RESET_TYPE_SHUTDOWN);
> >                 break;
> >         default:
> >                 ret = SBI_ENOTSUPP;
> > diff --git a/lib/sbi/sbi_system.c b/lib/sbi/sbi_system.c index
> > 96290b3..2f1b7fb 100644
> > --- a/lib/sbi/sbi_system.c
> > +++ b/lib/sbi/sbi_system.c
> > @@ -18,7 +18,7 @@
> >  #include <sbi/sbi_ipi.h>
> >  #include <sbi/sbi_init.h>
> >
> > -void __noreturn sbi_system_reset(u32 platform_reset_type)
> > +void __noreturn sbi_system_reset(u32 reset_type)
> >  {
> >         ulong hbase = 0, hmask;
> >         u32 cur_hartid = current_hartid(); @@ -40,7 +40,7 @@ void
> > __noreturn sbi_system_reset(u32 platform_reset_type)
> >         /* Platform specific reset if domain allowed system reset */
> >         if (dom->system_reset_allowed)
> >                 sbi_platform_system_reset(sbi_platform_ptr(scratch),
> > -                                         platform_reset_type);
> > +                                         reset_type);
> >
> >         /* If platform specific reset did not work then do sbi_exit() */
> >         sbi_exit(scratch);
> > diff --git a/lib/utils/sys/sifive_test.c b/lib/utils/sys/sifive_test.c
> > index 15369da..06fbfb2 100644
> > --- a/lib/utils/sys/sifive_test.c
> > +++ b/lib/utils/sys/sifive_test.c
> > @@ -24,11 +24,11 @@ int sifive_test_system_reset(u32 type)
> >          * was successful so that QEMU exits
> >          */
> >         switch (type) {
> > -       case SBI_PLATFORM_RESET_SHUTDOWN:
> > +       case SBI_SRST_RESET_TYPE_SHUTDOWN:
> >                 writew(FINISHER_PASS, sifive_test_base);
> >                 break;
> > -       case SBI_PLATFORM_RESET_COLD:
> > -       case SBI_PLATFORM_RESET_WARM:
> > +       case SBI_SRST_RESET_TYPE_COLD_REBOOT:
> > +       case SBI_SRST_RESET_TYPE_WARM_REBOOT:
> >                 writew(FINISHER_RESET, sifive_test_base);
> >                 break;
> >         }
> > --
> > 2.25.1
> >
> >
> > --
> > opensbi mailing list
> > opensbi@lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/opensbi
> 
> 
> Reviewed-by: Atish Patra <atish.patra@wdc.com>

Applied this patch to the riscv/opensbi repo

Regards,
Anup
diff mbox series

Patch

diff --git a/include/sbi/sbi_platform.h b/include/sbi/sbi_platform.h
index 7a8c113..3f4a733 100644
--- a/include/sbi/sbi_platform.h
+++ b/include/sbi/sbi_platform.h
@@ -40,6 +40,7 @@ 
 
 #ifndef __ASSEMBLY__
 
+#include <sbi/sbi_ecall_interface.h>
 #include <sbi/sbi_error.h>
 #include <sbi/sbi_scratch.h>
 #include <sbi/sbi_version.h>
@@ -139,9 +140,6 @@  struct sbi_platform_operations {
 	int (*hart_stop)(void);
 
 	/** Reset the platform */
-#define SBI_PLATFORM_RESET_SHUTDOWN	0
-#define SBI_PLATFORM_RESET_COLD		1
-#define SBI_PLATFORM_RESET_WARM		2
 	int (*system_reset)(u32 reset_type);
 
 	/** platform specific SBI extension implementation probe function */
diff --git a/include/sbi/sbi_system.h b/include/sbi/sbi_system.h
index d44ef12..309e263 100644
--- a/include/sbi/sbi_system.h
+++ b/include/sbi/sbi_system.h
@@ -12,6 +12,6 @@ 
 
 #include <sbi/sbi_types.h>
 
-void __noreturn sbi_system_reset(u32 platform_reset_type);
+void __noreturn sbi_system_reset(u32 reset_type);
 
 #endif
diff --git a/lib/sbi/sbi_ecall_legacy.c b/lib/sbi/sbi_ecall_legacy.c
index 909cbe3..683b8dc 100644
--- a/lib/sbi/sbi_ecall_legacy.c
+++ b/lib/sbi/sbi_ecall_legacy.c
@@ -103,7 +103,7 @@  static int sbi_ecall_legacy_handler(unsigned long extid, unsigned long funcid,
 		}
 		break;
 	case SBI_EXT_0_1_SHUTDOWN:
-		sbi_system_reset(SBI_PLATFORM_RESET_SHUTDOWN);
+		sbi_system_reset(SBI_SRST_RESET_TYPE_SHUTDOWN);
 		break;
 	default:
 		ret = SBI_ENOTSUPP;
diff --git a/lib/sbi/sbi_system.c b/lib/sbi/sbi_system.c
index 96290b3..2f1b7fb 100644
--- a/lib/sbi/sbi_system.c
+++ b/lib/sbi/sbi_system.c
@@ -18,7 +18,7 @@ 
 #include <sbi/sbi_ipi.h>
 #include <sbi/sbi_init.h>
 
-void __noreturn sbi_system_reset(u32 platform_reset_type)
+void __noreturn sbi_system_reset(u32 reset_type)
 {
 	ulong hbase = 0, hmask;
 	u32 cur_hartid = current_hartid();
@@ -40,7 +40,7 @@  void __noreturn sbi_system_reset(u32 platform_reset_type)
 	/* Platform specific reset if domain allowed system reset */
 	if (dom->system_reset_allowed)
 		sbi_platform_system_reset(sbi_platform_ptr(scratch),
-					  platform_reset_type);
+					  reset_type);
 
 	/* If platform specific reset did not work then do sbi_exit() */
 	sbi_exit(scratch);
diff --git a/lib/utils/sys/sifive_test.c b/lib/utils/sys/sifive_test.c
index 15369da..06fbfb2 100644
--- a/lib/utils/sys/sifive_test.c
+++ b/lib/utils/sys/sifive_test.c
@@ -24,11 +24,11 @@  int sifive_test_system_reset(u32 type)
 	 * was successful so that QEMU exits
 	 */
 	switch (type) {
-	case SBI_PLATFORM_RESET_SHUTDOWN:
+	case SBI_SRST_RESET_TYPE_SHUTDOWN:
 		writew(FINISHER_PASS, sifive_test_base);
 		break;
-	case SBI_PLATFORM_RESET_COLD:
-	case SBI_PLATFORM_RESET_WARM:
+	case SBI_SRST_RESET_TYPE_COLD_REBOOT:
+	case SBI_SRST_RESET_TYPE_WARM_REBOOT:
 		writew(FINISHER_RESET, sifive_test_base);
 		break;
 	}