// This file was extracted from the TCG Published
// Trusted Platform Module Library
// Part 4: Supporting Routines
// Family "2.0"
// Level 00 Revision 01.16
// October 30, 2014
#include "PlatformData.h"
#include "Platform.h"
//
//
// Functions
//
// _plat__Signal_PowerOn()
//
// Signal platform power on
//
LIB_EXPORT int
_plat__Signal_PowerOn(
void
)
{
// Start clock
_plat__ClockReset();
// Initialize locality
s_locality = 0;
// Command cancel
s_isCanceled = FALSE;
// Need to indicate that we lost power
s_powerLost = TRUE;
return 0;
}
//
//
// _plat__WasPowerLost()
//
// Test whether power was lost before a _TPM_Init()
//
LIB_EXPORT BOOL
_plat__WasPowerLost(
BOOL clear
)
{
BOOL retVal = s_powerLost;
if(clear)
s_powerLost = FALSE;
return retVal;
}
//
//
// _plat_Signal_Reset()
//
// This a TPM reset without a power loss.
//
LIB_EXPORT int
_plat__Signal_Reset(
void
)
{
// Need to reset the clock
_plat__ClockReset();
// if we are doing reset but did not have a power failure, then we should
// not need to reload NV ...
return 0;
}
//
//
// _plat__Signal_PowerOff()
//
// Signal platform power off
//
LIB_EXPORT void
_plat__Signal_PowerOff(
void
)
{
// Prepare NV memory for power off
_plat__NVDisable();
return;
}