efi_loader: PSCI reset and shutdown
[oweals/u-boot.git] / arch / arm / cpu / armv8 / fwcall.c
index 0ba3dad8cc5e70f1640a5c9129ed898f588e04a9..9957c2974bc09134207ad0252052e5aabe55688e 100644 (file)
@@ -7,7 +7,6 @@
 
 #include <asm-offsets.h>
 #include <config.h>
-#include <efi_loader.h>
 #include <version.h>
 #include <asm/macro.h>
 #include <asm/psci.h>
@@ -19,7 +18,7 @@
  * x0~x7: input arguments
  * x0~x3: output arguments
  */
-static void __efi_runtime hvc_call(struct pt_regs *args)
+static void hvc_call(struct pt_regs *args)
 {
        asm volatile(
                "ldr x0, %0\n"
@@ -53,7 +52,7 @@ static void __efi_runtime hvc_call(struct pt_regs *args)
  * x0~x3: output arguments
  */
 
-void __efi_runtime smc_call(struct pt_regs *args)
+void smc_call(struct pt_regs *args)
 {
        asm volatile(
                "ldr x0, %0\n"
@@ -83,9 +82,9 @@ void __efi_runtime smc_call(struct pt_regs *args)
  * use PSCI on U-Boot running below a hypervisor, please detect
  * this and set the flag accordingly.
  */
-static const __efi_runtime_data bool use_smc_for_psci = true;
+static const bool use_smc_for_psci = true;
 
-void __noreturn __efi_runtime psci_system_reset(void)
+void __noreturn psci_system_reset(void)
 {
        struct pt_regs regs;
 
@@ -100,7 +99,7 @@ void __noreturn __efi_runtime psci_system_reset(void)
                ;
 }
 
-void __noreturn __efi_runtime psci_system_off(void)
+void __noreturn psci_system_off(void)
 {
        struct pt_regs regs;
 
@@ -114,44 +113,3 @@ void __noreturn __efi_runtime psci_system_off(void)
        while (1)
                ;
 }
-
-#ifdef CONFIG_CMD_POWEROFF
-int do_poweroff(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
-{
-       puts("poweroff ...\n");
-
-       udelay(50000); /* wait 50 ms */
-
-       disable_interrupts();
-
-       psci_system_off();
-
-       /*NOTREACHED*/
-       return 0;
-}
-#endif
-
-#ifdef CONFIG_PSCI_RESET
-void reset_misc(void)
-{
-       psci_system_reset();
-}
-
-#ifdef CONFIG_EFI_LOADER
-void __efi_runtime EFIAPI efi_reset_system(
-                       enum efi_reset_type reset_type,
-                       efi_status_t reset_status,
-                       unsigned long data_size, void *reset_data)
-{
-       if (reset_type == EFI_RESET_COLD ||
-           reset_type == EFI_RESET_WARM ||
-           reset_type == EFI_RESET_PLATFORM_SPECIFIC) {
-               psci_system_reset();
-       } else if (reset_type == EFI_RESET_SHUTDOWN) {
-               psci_system_off();
-       }
-
-       while (1) { }
-}
-#endif /* CONFIG_EFI_LOADER */
-#endif /* CONFIG_PSCI_RESET */