# OS_ResetSystem

## C Specification

  `#include <nitro/os.h>`
  `void OS_ResetSystem( u32 parameter );`

## Arguments

parameter | Reset parameter

## Return Values

None.

## Description

Re-runs the program There is no return from this function.

`parameter` is the reset parameter. The re-started program can read this value using the `OS_GetResetParameter` function. You can use the reset parameter to differentiate between starting from power up or restarting.

You must perform the processes that are required for a restart before calling this function.
This function cannot be called when interrupts are disabled.

`OS_InitReset` must be called before this function is called. However, `OS_InitReset` is called from within `OS_Init`. Therefore, if you call `OS_Init`, there is no need to call `OS_InitReset` from the application.

A reset cannot be performed from a multiboot child. If this function is called, `OS_Panic()` will stop the process thread. The `MB_IsMultiBootChild` function determines whether or not the calling platform is a multiboot child.

## See Also

`OS_InitReset, OS_GetResetParameter, MB_IsMultiBootChild()`

## Revision History

04/01/2005 Added note that this function cannot be called when interrupts are disabled.
11/02/2004 Removed processes that are not required since they are performed within other functions.
09/09/2004 Added the description that a multiboot child cannot initiate a reset.
09/01/2004 Initial version