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

Side by Side Diff: utility/tlcl_generator.c

Issue 3163045: Add a command to enable the physical presence command. (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/vboot_reference.git
Patch Set: extra upload for version.c Created 10 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « firmware/version.c ('k') | utility/tpmc.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 Command* BuildPPAssertCommand(void) { 173 Command* BuildPPAssertCommand(void) {
174 int size = kTpmRequestHeaderLength + sizeof(TPM_PHYSICAL_PRESENCE); 174 int size = kTpmRequestHeaderLength + sizeof(TPM_PHYSICAL_PRESENCE);
175 Command* cmd = newCommand(TSC_ORD_PhysicalPresence, size); 175 Command* cmd = newCommand(TSC_ORD_PhysicalPresence, size);
176 cmd->name = "tpm_ppassert_cmd"; 176 cmd->name = "tpm_ppassert_cmd";
177 AddInitializedField(cmd, kTpmRequestHeaderLength, 177 AddInitializedField(cmd, kTpmRequestHeaderLength,
178 sizeof(TPM_PHYSICAL_PRESENCE), 178 sizeof(TPM_PHYSICAL_PRESENCE),
179 TPM_PHYSICAL_PRESENCE_PRESENT); 179 TPM_PHYSICAL_PRESENCE_PRESENT);
180 return cmd; 180 return cmd;
181 } 181 }
182 182
183 Command* BuildPPEnableCommand(void) {
184 int size = kTpmRequestHeaderLength + sizeof(TPM_PHYSICAL_PRESENCE);
185 Command* cmd = newCommand(TSC_ORD_PhysicalPresence, size);
186 cmd->name = "tpm_ppenable_cmd";
187 AddInitializedField(cmd, kTpmRequestHeaderLength,
188 sizeof(TPM_PHYSICAL_PRESENCE),
189 TPM_PHYSICAL_PRESENCE_CMD_ENABLE);
190 return cmd;
191 }
192
183 Command* BuildPPLockCommand(void) { 193 Command* BuildPPLockCommand(void) {
184 int size = kTpmRequestHeaderLength + sizeof(TPM_PHYSICAL_PRESENCE); 194 int size = kTpmRequestHeaderLength + sizeof(TPM_PHYSICAL_PRESENCE);
185 Command* cmd = newCommand(TSC_ORD_PhysicalPresence, size); 195 Command* cmd = newCommand(TSC_ORD_PhysicalPresence, size);
186 cmd->name = "tpm_pplock_cmd"; 196 cmd->name = "tpm_pplock_cmd";
187 AddInitializedField(cmd, kTpmRequestHeaderLength, 197 AddInitializedField(cmd, kTpmRequestHeaderLength,
188 sizeof(TPM_PHYSICAL_PRESENCE), 198 sizeof(TPM_PHYSICAL_PRESENCE),
189 TPM_PHYSICAL_PRESENCE_LOCK); 199 TPM_PHYSICAL_PRESENCE_LOCK);
190 return cmd; 200 return cmd;
191 } 201 }
192 202
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 printf("};\n\n"); 419 printf("};\n\n");
410 } 420 }
411 OutputCommands(cmd->next); 421 OutputCommands(cmd->next);
412 } 422 }
413 423
414 Command* (*builders[])(void) = { 424 Command* (*builders[])(void) = {
415 BuildDefineSpaceCommand, 425 BuildDefineSpaceCommand,
416 BuildWriteCommand, 426 BuildWriteCommand,
417 BuildReadCommand, 427 BuildReadCommand,
418 BuildPPAssertCommand, 428 BuildPPAssertCommand,
429 BuildPPEnableCommand,
419 BuildPPLockCommand, 430 BuildPPLockCommand,
420 BuildStartupCommand, 431 BuildStartupCommand,
421 BuildSelftestfullCommand, 432 BuildSelftestfullCommand,
422 BuildContinueSelfTestCommand, 433 BuildContinueSelfTestCommand,
423 BuildReadPubekCommand, 434 BuildReadPubekCommand,
424 BuildForceClearCommand, 435 BuildForceClearCommand,
425 BuildPhysicalDisableCommand, 436 BuildPhysicalDisableCommand,
426 BuildPhysicalEnableCommand, 437 BuildPhysicalEnableCommand,
427 BuildPhysicalSetDeactivatedCommand, 438 BuildPhysicalSetDeactivatedCommand,
428 BuildGetFlagsCommand, 439 BuildGetFlagsCommand,
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
461 OutputCommands(commands); 472 OutputCommands(commands);
462 printf("const int kWriteInfoLength = %d;\n", (int) sizeof(TPM_WRITE_INFO)); 473 printf("const int kWriteInfoLength = %d;\n", (int) sizeof(TPM_WRITE_INFO));
463 printf("const int kNvDataPublicPermissionsOffset = %d;\n", 474 printf("const int kNvDataPublicPermissionsOffset = %d;\n",
464 (int) (offsetof(TPM_NV_DATA_PUBLIC, permission) + 475 (int) (offsetof(TPM_NV_DATA_PUBLIC, permission) +
465 2 * PCR_SELECTION_FIX + 476 2 * PCR_SELECTION_FIX +
466 offsetof(TPM_NV_ATTRIBUTES, attributes))); 477 offsetof(TPM_NV_ATTRIBUTES, attributes)));
467 478
468 FreeCommands(commands); 479 FreeCommands(commands);
469 return 0; 480 return 0;
470 } 481 }
OLDNEW
« no previous file with comments | « firmware/version.c ('k') | utility/tpmc.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698