15679752bf24c21135884e987c4077e2f7184897Vadim Bendebury// This file was extracted from the TCG Published 25679752bf24c21135884e987c4077e2f7184897Vadim Bendebury// Trusted Platform Module Library 35679752bf24c21135884e987c4077e2f7184897Vadim Bendebury// Part 4: Supporting Routines 45679752bf24c21135884e987c4077e2f7184897Vadim Bendebury// Family "2.0" 55679752bf24c21135884e987c4077e2f7184897Vadim Bendebury// Level 00 Revision 01.16 65679752bf24c21135884e987c4077e2f7184897Vadim Bendebury// October 30, 2014 75679752bf24c21135884e987c4077e2f7184897Vadim Bendebury 8f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#ifndef _VENDOR_STRING_H 9f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#define _VENDOR_STRING_H 10f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// 115a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury// Define up to 4-byte values for MANUFACTURER. This value defines the 125a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury// response for TPM_PT_MANUFACTURER in TPM2_GetCapability(). The 135a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury// definition should be replaced as appropriate when this code is used for 145a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury// actual implementations. 15f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// 165a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury#define MANUFACTURER "CROS" 17f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// 18f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// The following #if macro may be deleted after a proper MANUFACTURER is provided. 19f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// 20f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#ifndef MANUFACTURER 21f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#error MANUFACTURER is not provided. \ 225a945def25005e9d88290adb2ab0e3cc340e1c34Vadim BendeburyPlease modify VendorString.h to provide a specific \ 23f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendeburymanufacturer name. 24f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#endif 25f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// 26f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// Define up to 4, 4-byte values. The values must each be 4 bytes long and the last value used may contain 27f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// trailing zeros. These values define the response for TPM_PT_VENDOR_STRING_(1-4) in 28f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// TPM2_GetCapability(). The following line should be un-commented and a vendor specific string should 29f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// be provided here. The vendor strings 2-4 may also be defined as appropriately. 30f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// 31f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#define VENDOR_STRING_1 "xCG " 32f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#define VENDOR_STRING_2 "fTPM" 33f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// #define VENDOR_STRING_3 34f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// #define VENDOR_STRING_4 35f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// 36f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// The following #if macro may be deleted after a proper VENDOR_STRING_1 is provided. 37f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// 38f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#ifndef VENDOR_STRING_1 39f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#error VENDOR_STRING_1 is not provided. \ 40f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim BendeburyPlease modify include\VendorString.h to provide a vednor specific \ 41f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendeburystring. 42f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// 43f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#endif 44f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// 455a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury// the more significant 32-bits of a vendor-specific value indicating the 465a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury// version of the firmware. Some instrumentation could be added to replace 475a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury// the following definition(s) with some release tag, SHA1, build date, 485a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury// etc. 49f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// 505a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury#define FIRMWARE_V1 (0) 51f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// 525a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury// the optional less significant 32-bits of a vendor-specific value 535a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury// indicating the version of the firmware. 54f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// 555a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury#define FIRMWARE_V2 (1) 56f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// 57f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// The following #if macro may be deleted after a proper FIRMWARE_V1 is provided. 58f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// 59f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#ifndef FIRMWARE_V1 60f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#error FIRMWARE_V1 is not provided. \ 61f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim BendeburyPlease modify include\VendorString.h to provide a vendor specific firmware \ 62f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendeburyversion 63f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#endif 64f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#endif 65