diff options
| author | Chris Engel <cjengel@us.ibm.com> | 2015-08-03 16:01:14 -0500 |
|---|---|---|
| committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2015-12-11 11:17:32 -0600 |
| commit | e914974751a5125cff6fa7078399db6f3aac5641 (patch) | |
| tree | 4f50b6677a2a0111f98884813ff7e028459bcca2 /src/usr/i2c/test | |
| parent | 0cbd52585b9013430efeaeed6b4c38f6122eea98 (diff) | |
| download | talos-hostboot-e914974751a5125cff6fa7078399db6f3aac5641.tar.gz talos-hostboot-e914974751a5125cff6fa7078399db6f3aac5641.zip | |
Trustedboot: Additional commands in trusted boot init sequence
- getCap FW Version
- TPM Command marshal/unmarshal code
Change-Id: Ia9a90b1160c9c3b5d818318771bff21eb013bdf4
RTC: 125287
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/20056
Tested-by: Jenkins Server
Tested-by: Jenkins OP Build CI
Reviewed-by: STEPHEN M. CPREK <smcprek@us.ibm.com>
Reviewed-by: Timothy R. Block <block@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/i2c/test')
| -rwxr-xr-x | src/usr/i2c/test/tpmddtest.H | 98 |
1 files changed, 7 insertions, 91 deletions
diff --git a/src/usr/i2c/test/tpmddtest.H b/src/usr/i2c/test/tpmddtest.H index 74f71b28e..4053245a6 100755 --- a/src/usr/i2c/test/tpmddtest.H +++ b/src/usr/i2c/test/tpmddtest.H @@ -38,9 +38,10 @@ #include <devicefw/driverif.H> #include <i2c/tpmddreasoncodes.H> #include <targeting/common/commontargeting.H> +#include "secureboot/trustedbootif.H" #include "i2ctest.H" #include "../tpmdd.H" -#include "../../secureboot/trusted/trustedboot.H" +#include "../../secureboot/trusted/trustedTypes.H" extern trace_desc_t* g_trac_tpmdd; @@ -541,16 +542,16 @@ class TPMDDTest: public CxxTest::TestSuite memset(data, 0xFE, sizeof(data)); TRUSTEDBOOT::TPM2_GetCapabilityIn* cmd = - (TRUSTEDBOOT::TPM2_GetCapabilityIn*)data; + reinterpret_cast<TRUSTEDBOOT::TPM2_GetCapabilityIn*> + (data); - cmd->base.tag = TRUSTEDBOOT::TPM_ST_NO_SESSIONS; cmd->base.commandSize = sizeof (TRUSTEDBOOT::TPM2_GetCapabilityIn); + cmd->base.tag = TRUSTEDBOOT::TPM_ST_NO_SESSIONS; cmd->base.commandCode = TRUSTEDBOOT::TPM_CC_GetCapability; cmd->capability = TRUSTEDBOOT::TPM_CAP_TPM_PROPERTIES; cmd->property = TRUSTEDBOOT::TPM_PT_MANUFACTURER; cmd->propertyCount = 1; - cmdSize = cmd->base.commandSize; num_ops++; @@ -623,97 +624,12 @@ class TPMDDTest: public CxxTest::TestSuite continue; } - // Build our command block for a startup - memset(data, 0xFE, sizeof(data)); - - // Test a TPM command underflow - TRUSTEDBOOT::TPM2_GetCapabilityIn* cmd = - (TRUSTEDBOOT::TPM2_GetCapabilityIn*)data; - - cmd->base.tag = TRUSTEDBOOT::TPM_ST_NO_SESSIONS; - cmd->base.commandSize = - sizeof (TRUSTEDBOOT::TPM2_GetCapabilityIn); - cmd->base.commandCode = TRUSTEDBOOT::TPM_CC_GetCapability; - cmd->capability = TRUSTEDBOOT::TPM_CAP_TPM_PROPERTIES; - cmd->property = TRUSTEDBOOT::TPM_PT_MANUFACTURER; - cmd->propertyCount = 1; - - cmdSize = cmd->base.commandSize; - - num_ops++; - err = deviceRead(testTarget, - &data, - dataSize, - DEVICE_TPM_ADDRESS( TPM_PRIMARY, - TPM_OP_TRANSMIT, - cmdSize - 1) ); - - if( NULL == err || - err->reasonCode() != TPM_UNDERFLOW_ERROR) - { - fails++; - TS_FAIL( "testTPMTransmitOverUnder - Error " - "command underflow not detected" ); - errlCommit( err, - TPMDD_COMP_ID ); - delete err; - err = NULL; - } - else - { - TRACUCOMP(g_trac_tpmdd, "testTPMTransmitOverUnder - " - "CmdUnder Transmit returned as expected. len=%d", - dataSize); - } - - - // Build our command block for a startup - dataSize = sizeof(data); - memset(data, 0xFE, sizeof(data)); - - // Test a TPM command overflow - - cmd->base.tag = TRUSTEDBOOT::TPM_ST_NO_SESSIONS; - cmd->base.commandSize = - sizeof (TRUSTEDBOOT::TPM2_GetCapabilityIn); - cmd->base.commandCode = TRUSTEDBOOT::TPM_CC_GetCapability; - cmd->capability = TRUSTEDBOOT::TPM_CAP_TPM_PROPERTIES; - cmd->property = TRUSTEDBOOT::TPM_PT_MANUFACTURER; - cmd->propertyCount = 1; - - cmdSize = cmd->base.commandSize; - - num_ops++; - err = deviceRead(testTarget, - &data, - dataSize, - DEVICE_TPM_ADDRESS( TPM_PRIMARY, - TPM_OP_TRANSMIT, - cmdSize + 1) ); - - if( NULL == err || - err->reasonCode() != TPM_OVERFLOW_ERROR) - { - fails++; - TS_FAIL( "testTPMTransmitOverUnder - Error " - "command overflow not detected" ); - errlCommit( err, - TPMDD_COMP_ID ); - delete err; - err = NULL; - } - else - { - TRACUCOMP(g_trac_tpmdd, "testTPMTransmitOverUnder - " - "CmdOver Transmit returned as expected. len=%d", - dataSize); - } - - // Build our command block for a startup dataSize = sizeof(data); memset(data, 0xFE, sizeof(data)); // Test a TPM data overflow + TRUSTEDBOOT::TPM2_GetCapabilityIn* cmd = + reinterpret_cast<TRUSTEDBOOT::TPM2_GetCapabilityIn*>(data); cmd->base.tag = TRUSTEDBOOT::TPM_ST_NO_SESSIONS; cmd->base.commandSize = |

