// 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; }