Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(775)

Side by Side Diff: src/tlcl/generator.c

Issue 2663002: Add space redefinition test, early NV read test and early extend test. (Closed) Base URL: ssh://git@chromiumos-git/tpm_lite.git
Patch Set: Fix printf Created 10 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 1 /* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
2 * Use of this source code is governed by a BSD-style license that can be 2 * Use of this source code is governed by a BSD-style license that can be
3 * found in the LICENSE file. 3 * found in the LICENSE file.
4 */ 4 */
5 5
6 /* This program generates partially filled TPM datagrams and other compile-time 6 /* This program generates partially filled TPM datagrams and other compile-time
7 * constants (e.g. structure sizes and offsets). Compile this file---and ONLY 7 * constants (e.g. structure sizes and offsets). Compile this file---and ONLY
8 * this file---with -fpack-struct. We take advantage of the fact that the 8 * this file---with -fpack-struct. We take advantage of the fact that the
9 * (packed) TPM structures layout (mostly) match the TPM request and response 9 * (packed) TPM structures layout (mostly) match the TPM request and response
10 * datagram layout. When they don't completely match, some fixing is necessary 10 * datagram layout. When they don't completely match, some fixing is necessary
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 return cmd; 200 return cmd;
201 } 201 }
202 202
203 Command* BuildSelftestfullCommand(void) { 203 Command* BuildSelftestfullCommand(void) {
204 int size = kTpmRequestHeaderLength; 204 int size = kTpmRequestHeaderLength;
205 Command* cmd = newCommand(TPM_ORD_SelfTestFull, size); 205 Command* cmd = newCommand(TPM_ORD_SelfTestFull, size);
206 cmd->name = "tpm_selftestfull_cmd"; 206 cmd->name = "tpm_selftestfull_cmd";
207 return cmd; 207 return cmd;
208 } 208 }
209 209
210 Command* BuildContinueSelfTestCommand(void) {
211 int size = kTpmRequestHeaderLength;
212 Command* cmd = newCommand(TPM_ORD_ContinueSelfTest, size);
213 cmd->name = "tpm_continueselftest_cmd";
214 return cmd;
215 }
216
210 Command* BuildReadPubekCommand(void) { 217 Command* BuildReadPubekCommand(void) {
211 int size = kTpmRequestHeaderLength + sizeof(TPM_NONCE); 218 int size = kTpmRequestHeaderLength + sizeof(TPM_NONCE);
212 Command* cmd = newCommand(TPM_ORD_ReadPubek, size); 219 Command* cmd = newCommand(TPM_ORD_ReadPubek, size);
213 cmd->name = "tpm_readpubek_cmd"; 220 cmd->name = "tpm_readpubek_cmd";
214 return cmd; 221 return cmd;
215 } 222 }
216 223
217 Command* BuildForceClearCommand(void) { 224 Command* BuildForceClearCommand(void) {
218 int size = kTpmRequestHeaderLength; 225 int size = kTpmRequestHeaderLength;
219 Command* cmd = newCommand(TPM_ORD_ForceClear, size); 226 Command* cmd = newCommand(TPM_ORD_ForceClear, size);
220 cmd->name = "tpm_forceclear_cmd"; 227 cmd->name = "tpm_forceclear_cmd";
221 return cmd; 228 return cmd;
222 } 229 }
223 230
224 Command* BuildPhysicalEnableCommand(void) { 231 Command* BuildPhysicalEnableCommand(void) {
225 int size = kTpmRequestHeaderLength; 232 int size = kTpmRequestHeaderLength;
226 Command* cmd = newCommand(TPM_ORD_PhysicalEnable, size); 233 Command* cmd = newCommand(TPM_ORD_PhysicalEnable, size);
227 cmd->name = "tpm_physicalenable_cmd"; 234 cmd->name = "tpm_physicalenable_cmd";
228 return cmd; 235 return cmd;
229 } 236 }
230 237
231 Command* BuildPhysicalSetDeactivatedCommand(void) { 238 Command* BuildPhysicalSetDeactivatedCommand(void) {
232 int size = kTpmRequestHeaderLength + sizeof(uint8_t); 239 int size = kTpmRequestHeaderLength + sizeof(uint8_t);
233 Command* cmd = newCommand(TPM_ORD_PhysicalSetDeactivated, size); 240 Command* cmd = newCommand(TPM_ORD_PhysicalSetDeactivated, size);
234 cmd->name = "tpm_physicalsetdeactivated_cmd"; 241 cmd->name = "tpm_physicalsetdeactivated_cmd";
235 AddVisibleField(cmd, "deactivated", kTpmRequestHeaderLength); 242 AddVisibleField(cmd, "deactivated", kTpmRequestHeaderLength);
236 return cmd; 243 return cmd;
237 } 244 }
238 245
246 Command* BuildExtendCommand(void) {
247 int size = kTpmRequestHeaderLength + sizeof(uint32_t) + kPcrDigestLength;
248 Command* cmd = newCommand(TPM_ORD_Extend, size);
249 cmd->name = "tpm_extend_cmd";
250 AddVisibleField(cmd, "pcrNum", kTpmRequestHeaderLength);
251 AddVisibleField(cmd, "inDigest", kTpmRequestHeaderLength + sizeof(uint32_t));
252 return cmd;
253 }
254
239 Command* BuildGetCapabilityCommand(void) { 255 Command* BuildGetCapabilityCommand(void) {
240 int size = (kTpmRequestHeaderLength + 256 int size = (kTpmRequestHeaderLength +
241 sizeof(TPM_CAPABILITY_AREA) + /* capArea */ 257 sizeof(TPM_CAPABILITY_AREA) + /* capArea */
242 sizeof(uint32_t) + /* subCapSize */ 258 sizeof(uint32_t) + /* subCapSize */
243 sizeof(uint32_t)); /* subCap */ 259 sizeof(uint32_t)); /* subCap */
244 260
245 Command* cmd = newCommand(TPM_ORD_GetCapability, size); 261 Command* cmd = newCommand(TPM_ORD_GetCapability, size);
246 cmd->name = "tpm_getcapability_cmd"; 262 cmd->name = "tpm_getcapability_cmd";
247 AddInitializedField(cmd, kTpmRequestHeaderLength, 263 AddInitializedField(cmd, kTpmRequestHeaderLength,
248 sizeof(TPM_CAPABILITY_AREA), TPM_CAP_FLAG); 264 sizeof(TPM_CAPABILITY_AREA), TPM_CAP_FLAG);
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
351 } 367 }
352 368
353 Command* (*builders[])(void) = { 369 Command* (*builders[])(void) = {
354 BuildDefineSpaceCommand, 370 BuildDefineSpaceCommand,
355 BuildWriteCommand, 371 BuildWriteCommand,
356 BuildReadCommand, 372 BuildReadCommand,
357 BuildPPAssertCommand, 373 BuildPPAssertCommand,
358 BuildPPLockCommand, 374 BuildPPLockCommand,
359 BuildStartupCommand, 375 BuildStartupCommand,
360 BuildSelftestfullCommand, 376 BuildSelftestfullCommand,
377 BuildContinueSelfTestCommand,
361 BuildReadPubekCommand, 378 BuildReadPubekCommand,
362 BuildForceClearCommand, 379 BuildForceClearCommand,
363 BuildPhysicalEnableCommand, 380 BuildPhysicalEnableCommand,
364 BuildPhysicalSetDeactivatedCommand, 381 BuildPhysicalSetDeactivatedCommand,
365 BuildGetCapabilityCommand, 382 BuildGetCapabilityCommand,
383 BuildExtendCommand,
366 }; 384 };
367 385
368 static void FreeFields(Field* fld) { 386 static void FreeFields(Field* fld) {
369 if (fld != NULL) { 387 if (fld != NULL) {
370 Field* next_field = fld->next; 388 Field* next_field = fld->next;
371 free(fld); 389 free(fld);
372 FreeFields(next_field); 390 FreeFields(next_field);
373 } 391 }
374 } 392 }
375 393
(...skipping 15 matching lines...) Expand all
391 commands = cmd; 409 commands = cmd;
392 } 410 }
393 411
394 printf("/* This file is automatically generated */\n\n"); 412 printf("/* This file is automatically generated */\n\n");
395 OutputCommands(commands); 413 OutputCommands(commands);
396 printf("const int kWriteInfoLength = %d;\n", (int) sizeof(TPM_WRITE_INFO)); 414 printf("const int kWriteInfoLength = %d;\n", (int) sizeof(TPM_WRITE_INFO));
397 415
398 FreeCommands(commands); 416 FreeCommands(commands);
399 return 0; 417 return 0;
400 } 418 }
OLDNEW
« src/testsuite/earlyextend.c ('K') | « src/testsuite/redefine.c ('k') | src/tlcl/tlcl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698