add reboot cmd for arm and delete shutcmd from Wang Wei_gen
it is OK
This commit is contained in:
commit
86d96159fe
|
@ -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 );
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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);
|
|
||||||
|
|
|
@ -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);
|
|
||||||
|
|
|
@ -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);
|
|
||||||
|
|
|
@ -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 );
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue