\r
**/\r
\r
-\r
#include <PiDxe.h>\r
\r
#include <Library/BaseLib.h>\r
#include <Library/IoLib.h>\r
#include <Library/EfiResetSystemLib.h>\r
\r
-\r
/**\r
Resets the entire platform.\r
\r
EFI_STATUS\r
EFIAPI\r
LibResetSystem (\r
- IN EFI_RESET_TYPE ResetType,\r
- IN EFI_STATUS ResetStatus,\r
- IN UINTN DataSize,\r
- IN CHAR16 *ResetData OPTIONAL\r
+ IN EFI_RESET_TYPE ResetType,\r
+ IN EFI_STATUS ResetStatus,\r
+ IN UINTN DataSize,\r
+ IN CHAR16 *ResetData OPTIONAL\r
)\r
{\r
- UINTN Address;\r
- UINT8 Data;\r
-\r
+ UINTN Address;\r
+ UINT8 Data;\r
\r
switch (ResetType) {\r
- case EfiResetCold:\r
- // system power cycle\r
+ case EfiResetCold:\r
+ // system power cycle\r
\r
- // Example using IoLib functions to do IO.\r
- Address = 0x12345678;\r
- Data = MmioRead8 (Address);\r
- MmioWrite8 (Address, Data | 0x01);\r
+ // Example using IoLib functions to do IO.\r
+ Address = 0x12345678;\r
+ Data = MmioRead8 (Address);\r
+ MmioWrite8 (Address, Data | 0x01);\r
\r
- // Note this is a bad example asa MmioOr8 (Address, 0x01) does the same thing\r
- break;\r
+ // Note this is a bad example asa MmioOr8 (Address, 0x01) does the same thing\r
+ break;\r
\r
- case EfiResetWarm:\r
- // not a full power cycle, maybe memory stays around.\r
- // if not support do the same thing as EfiResetCold.\r
- break;\r
+ case EfiResetWarm:\r
+ // not a full power cycle, maybe memory stays around.\r
+ // if not support do the same thing as EfiResetCold.\r
+ break;\r
\r
- case EfiResetShutdown:\r
- // turn off the system.\r
- // if not support do the same thing as EfiResetCold.\r
- break;\r
+ case EfiResetShutdown:\r
+ // turn off the system.\r
+ // if not support do the same thing as EfiResetCold.\r
+ break;\r
\r
- default:\r
- return EFI_INVALID_PARAMETER;\r
+ default:\r
+ return EFI_INVALID_PARAMETER;\r
}\r
\r
//\r
return EFI_DEVICE_ERROR;\r
}\r
\r
-\r
-\r
/**\r
Initialize any infrastructure required for LibResetSystem () to function.\r
\r
{\r
return EFI_SUCCESS;\r
}\r
-\r