# OS_ResetSystem

## C Specification

      #include <nitro/os.h>

      void OS_ResetSystem( u32 parameter );

## 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.

`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.

## Arguments

`parameter` | Reset parameter

## Return Values

None.

## See Also

`OS_InitReset`, `OS_GetResetParameter`, `MB_IsMultiBootChild`

## Revision History

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