mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-11-24 02:05:01 +00:00
Use "tss_constants.h" with TPM data type and constant definitions instead. Review URL: http://codereview.chromium.org/1712018
73 lines
2.1 KiB
C
73 lines
2.1 KiB
C
/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*
|
|
* Some TPM constants and type definitions for standalone compilation for use in
|
|
* the firmware
|
|
*/
|
|
|
|
/* FIXME(gauravsh):
|
|
* NOTE: This file is copied over from
|
|
* src/platform/tpm_lite/src/tlcl/tss_constants.h
|
|
* Ideally, we want to directly include it without having two maintain
|
|
* duplicate copies in sync. But in the current model, this is hard
|
|
* to do without breaking standalone compilation.
|
|
* Eventually tpm_lite should be moved into vboot_reference.
|
|
*/
|
|
|
|
#ifndef TPM_LITE_TSS_CONSTANTS_H_
|
|
#define TPM_LITE_TSS_CONSTANTS_H_
|
|
|
|
#include <stdint.h>
|
|
|
|
#define TPM_MAX_COMMAND_SIZE 4096
|
|
#define TPM_LARGE_ENOUGH_COMMAND_SIZE 256 /* saves space in the firmware */
|
|
|
|
#define TPM_SUCCESS ((uint32_t)0x00000000)
|
|
#define TPM_NV_INDEX0 ((uint32_t)0x00000000)
|
|
#define TPM_NV_INDEX_LOCK ((uint32_t)0xffffffff)
|
|
#define TPM_NV_PER_WRITE_STCLEAR (((uint32_t)1)<<14)
|
|
#define TPM_NV_PER_PPWRITE (((uint32_t)1)<<0)
|
|
|
|
typedef uint8_t TSS_BOOL;
|
|
typedef uint16_t TPM_STRUCTURE_TAG;
|
|
|
|
typedef struct tdTPM_WRITE_INFO {
|
|
uint32_t nvIndex;
|
|
uint32_t offset;
|
|
uint32_t dataSize;
|
|
} TPM_WRITE_INFO;
|
|
|
|
typedef struct tdTPM_PERMANENT_FLAGS
|
|
{
|
|
TPM_STRUCTURE_TAG tag;
|
|
TSS_BOOL disable;
|
|
TSS_BOOL ownership;
|
|
TSS_BOOL deactivated;
|
|
TSS_BOOL readPubek;
|
|
TSS_BOOL disableOwnerClear;
|
|
TSS_BOOL allowMaintenance;
|
|
TSS_BOOL physicalPresenceLifetimeLock;
|
|
TSS_BOOL physicalPresenceHWEnable;
|
|
TSS_BOOL physicalPresenceCMDEnable;
|
|
TSS_BOOL CEKPUsed;
|
|
TSS_BOOL TPMpost;
|
|
TSS_BOOL TPMpostLock;
|
|
TSS_BOOL FIPS;
|
|
TSS_BOOL Operator;
|
|
TSS_BOOL enableRevokeEK;
|
|
TSS_BOOL nvLocked;
|
|
TSS_BOOL readSRKPub;
|
|
TSS_BOOL tpmEstablished;
|
|
TSS_BOOL maintenanceDone;
|
|
TSS_BOOL disableFullDALogicInfo;
|
|
} TPM_PERMANENT_FLAGS;
|
|
|
|
#define TPM_ALL_LOCALITIES (TPM_LOC_ZERO | TPM_LOC_ONE | TPM_LOC_TWO \
|
|
| TPM_LOC_THREE | TPM_LOC_FOUR) /* 0x1f */
|
|
|
|
#define TPM_ENCAUTH_SIZE 20
|
|
#define TPM_PUBEK_SIZE 256
|
|
|
|
#endif /* TPM_LITE_TSS_CONSTANTS_H_ */
|