add reboot cmd for arm and delete shutcmd from Wang Wei_gen

it is OK
This commit is contained in:
xuedongliang 2021-05-17 10:48:03 +08:00
commit 86d96159fe
7 changed files with 14 additions and 98 deletions

View File

@ -16,6 +16,7 @@
#include "svc_handle.h" #include "svc_handle.h"
#include "stm32f4xx.h" #include "stm32f4xx.h"
#include <board.h> #include <board.h>
#include <shell.h>
#if (defined ( __GNUC__ ) && defined ( __VFP_FP__ ) && !defined(__SOFTFP__)) #if (defined ( __GNUC__ ) && defined ( __VFP_FP__ ) && !defined(__SOFTFP__))
#define USE_FPU 1 #define USE_FPU 1
@ -410,13 +411,8 @@ void MemFaultHandle(uintptr_t *sp)
} }
void ShutdownCpu(void)
{
KPrintf("shutdown...\n");
CHECK(0);
}
__attribute__((weak)) void HwCpuReset(void) __attribute__((weak)) void HwCpuReset(void)
{ {
SCB_AIRCR = SCB_RESET_VALUE; SCB_AIRCR = SCB_RESET_VALUE;
} }
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0), Reboot, HwCpuReset, reset machine );

View File

@ -96,17 +96,6 @@ uint8 KTaskStackSetup(struct TaskDescriptor *task)
return EOK; return EOK;
} }
void ShutdownCpu()
{
uint32 level;
KPrintf("shutdown...\n");
level = DISABLE_INTERRUPT();
while (level)
CHECK(0);
}
#ifdef TASK_ISOLATION #ifdef TASK_ISOLATION
void RestoreMstatus(uintptr_t *sp) void RestoreMstatus(uintptr_t *sp)
{ {

View File

@ -53,7 +53,6 @@ Modification:
extern x_base cpu2_boot_flag; extern x_base cpu2_boot_flag;
extern void entry(void); extern void entry(void);
extern void SecondaryCpuCStart(void); extern void SecondaryCpuCStart(void);
extern void ShutdownCpu(void);
extern int IoConfigInit(void); extern int IoConfigInit(void);
extern int HwCh438Init(void); extern int HwCh438Init(void);
extern int HwSpiInit(void); extern int HwSpiInit(void);
@ -98,7 +97,7 @@ void Kd233Start(uint32_t mhartid)
} }
} }
int freq(void) int Freq(void)
{ {
uint64 value = 0; uint64 value = 0;
@ -124,7 +123,7 @@ int freq(void)
return 0; return 0;
} }
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0),freq, freq, show freq info ); SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0),Freq, Freq, show frequency information );
#ifdef ARCH_SMP #ifdef ARCH_SMP
extern int EnableHwclintIpi(void); extern int EnableHwclintIpi(void);
@ -218,30 +217,6 @@ void HwCpuReset(void)
while(RET_TRUE); while(RET_TRUE);
} }
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0), SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0), Reboot, HwCpuReset, reset machine );
reboot, HwCpuReset, reset machine );
static void (*pre_shutdown_action)(void *);
static void *pre_shutdown_action_arg;
void SetPreShutdownAction(void (*func)(void *), void *arg)
{
pre_shutdown_action = func;
pre_shutdown_action_arg = arg;
}
void cmd_shutdown()
{
#ifdef FS_VFS
SyncOpenedFiles();
#endif
if (pre_shutdown_action != NULL)
pre_shutdown_action(pre_shutdown_action_arg);
ShutdownCpu();
}
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0),
shutdown,cmd_shutdown,shutdown machine);

View File

@ -54,7 +54,6 @@ Modification:
extern x_base cpu2_boot_flag; extern x_base cpu2_boot_flag;
extern void entry(void); extern void entry(void);
extern void SecondaryCpuCStart(void); extern void SecondaryCpuCStart(void);
extern void ShutdownCpu(void);
extern int IoConfigInit(void); extern int IoConfigInit(void);
extern int HwSpiInit(void); extern int HwSpiInit(void);
extern int HwI2cInit(void); extern int HwI2cInit(void);
@ -121,7 +120,7 @@ int Freq(void)
return 0; return 0;
} }
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0),freq, Freq, show freq info ); SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0),Freq, Freq, show frequency information );
#ifdef ARCH_SMP #ifdef ARCH_SMP
extern int EnableHwclintIpi(void); extern int EnableHwclintIpi(void);
@ -205,27 +204,6 @@ void HwCpuReset(void)
while(RET_TRUE); while(RET_TRUE);
} }
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0), SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0),Reboot, HwCpuReset, reset machine );
reboot, HwCpuReset, reset machine );
static void (*pre_shutdown_action)(void *);
static void *pre_shutdown_action_arg;
void SetPreShutdownAction(void (*func)(void *), void *arg)
{
pre_shutdown_action = func;
pre_shutdown_action_arg = arg;
}
void CmdShutdown()
{
#ifdef FS_VFS
SyncOpenedFiles();
#endif
if (pre_shutdown_action != NULL)
pre_shutdown_action(pre_shutdown_action_arg);
ShutdownCpu();
}
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0),
shutdown,CmdShutdown,shutdown machine);

View File

@ -51,7 +51,6 @@ Modification:
extern x_base cpu2_boot_flag; extern x_base cpu2_boot_flag;
extern void entry(void); extern void entry(void);
extern void SecondaryCpuCStart(void); extern void SecondaryCpuCStart(void);
extern void ShutdownCpu(void);
extern int IoConfigInit(void); extern int IoConfigInit(void);
extern int HwSpiInit(void); extern int HwSpiInit(void);
extern int HwI2cInit(void); extern int HwI2cInit(void);
@ -117,7 +116,7 @@ int Freq(void)
return 0; return 0;
} }
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0),freq, Freq, show freq info ); SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0),Freq, Freq, show frequency information );
#ifdef ARCH_SMP #ifdef ARCH_SMP
extern int EnableHwclintIpi(void); extern int EnableHwclintIpi(void);
@ -170,27 +169,6 @@ void HwCpuReset(void)
while(RET_TRUE); while(RET_TRUE);
} }
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0), SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0),Reboot, HwCpuReset, reset machine );
reboot, HwCpuReset, reset machine );
static void (*pre_shutdown_action)(void *);
static void *pre_shutdown_action_arg;
void SetPreShutdownAction(void (*func)(void *), void *arg)
{
pre_shutdown_action = func;
pre_shutdown_action_arg = arg;
}
void CmdShutdown()
{
#ifdef FS_VFS
SyncOpenedFiles();
#endif
if (pre_shutdown_action != NULL)
pre_shutdown_action(pre_shutdown_action_arg);
ShutdownCpu();
}
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0),
shutdown,CmdShutdown,shutdown machine);

View File

@ -1164,7 +1164,7 @@ int VfsInit()
return 0; return 0;
} }
int showfd() int ShowFd()
{ {
for (int i = 0; i < FD_MAX - FD_OFFSET; i++) { for (int i = 0; i < FD_MAX - FD_OFFSET; i++) {
struct FileDescriptor *fdp = fdtable[i]; struct FileDescriptor *fdp = fdtable[i];
@ -1178,4 +1178,4 @@ int showfd()
KPrintf("%s\n", fdp->path); KPrintf("%s\n", fdp->path);
} }
} }
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0),showfd, showfd, list file descriptor ); SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0),ShowFd, ShowFd, show file descriptor );

View File

@ -1545,7 +1545,7 @@ void shellHelp(int argc, char *argv[])
} }
SHELL_EXPORT_CMD( SHELL_EXPORT_CMD(
SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_MAIN)|SHELL_CMD_DISABLE_RETURN, SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_MAIN)|SHELL_CMD_DISABLE_RETURN,
help, shellHelp, show command info\r\nhelp [cmd]); Help, shellHelp, show command info\r\nhelp [cmd]);
/** /**
* @brief shell Input processing * @brief shell Input processing