[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] Build: Fix stubdom vtpm build failure
Olaf, Could you help me test this patch in SLE_11_SP3/openSUSE_11.4? Quan > -----Original Message----- > From: Xu, Quan > Sent: Saturday, March 14, 2015 10:37 AM > To: olaf@xxxxxxxxx; ian.campbell@xxxxxxxxxx > Cc: xen-devel@xxxxxxxxxxxxx; dgdegra@xxxxxxxxxxxxx; > andrew.cooper3@xxxxxxxxxx; Xu, Quan > Subject: [PATCH] Build: Fix stubdom vtpm build failure > > Typedefs are duplicated in stubdom/vtpmmgr/tcg.h and supported compilers do > not cope with current staging branch. > > Signed-off-by: Olaf Hering <olaf@xxxxxxxxx> > Signed-off-by: Quan Xu <quan.xu@xxxxxxxxx> > --- > stubdom/vtpmmgr/common_types.h | 9 +++++++++ > stubdom/vtpmmgr/tcg.h | 7 +------ > stubdom/vtpmmgr/tpm2.c | 10 +++++----- > stubdom/vtpmmgr/tpm2.h | 6 +++--- > stubdom/vtpmmgr/tpm2_types.h | 42 > +++++++++++++++------------------------- > stubdom/vtpmmgr/vtpmmgr.h | 4 ++-- > 6 files changed, 36 insertions(+), 42 deletions(-) create mode 100644 > stubdom/vtpmmgr/common_types.h > > diff --git a/stubdom/vtpmmgr/common_types.h > b/stubdom/vtpmmgr/common_types.h new file mode 100644 index > 0000000..7321bb6 > --- /dev/null > +++ b/stubdom/vtpmmgr/common_types.h > @@ -0,0 +1,9 @@ > +#ifndef VTPM_COMMON_TYPES > +#define VTPM_COMMON_TYPES 1 > +typedef unsigned char BYTE; > +typedef unsigned char BOOL; > +typedef unsigned char UINT8; > +typedef uint16_t UINT16; > +typedef uint32_t UINT32; > +typedef uint64_t UINT64; > +#endif > diff --git a/stubdom/vtpmmgr/tcg.h b/stubdom/vtpmmgr/tcg.h index > 7321ec6..813ce57 100644 > --- a/stubdom/vtpmmgr/tcg.h > +++ b/stubdom/vtpmmgr/tcg.h > @@ -39,6 +39,7 @@ > > #include <stdlib.h> > #include <stdint.h> > +#include "common_types.h" > > // **************************** CONSTANTS > ********************************* > > @@ -401,12 +402,6 @@ > > > // *************************** TYPEDEFS > ********************************* -typedef unsigned char BYTE; > -typedef unsigned char BOOL; -typedef uint16_t UINT16; -typedef uint32_t > UINT32; -typedef uint64_t UINT64; > - > typedef UINT32 TPM_RESULT; > typedef UINT32 TPM_PCRINDEX; > typedef UINT32 TPM_DIRINDEX; > diff --git a/stubdom/vtpmmgr/tpm2.c b/stubdom/vtpmmgr/tpm2.c index > 1903e27..c9f1016 100644 > --- a/stubdom/vtpmmgr/tpm2.c > +++ b/stubdom/vtpmmgr/tpm2.c > @@ -167,7 +167,7 @@ egress: > TPM_RC TPM2_Load(TPMI_DH_OBJECT parentHandle, > TPM2B_PRIVATE *inPrivate, /* in */ > TPM2B_PUBLIC *inPublic, /* in */ > - TPM_HANDLE *objectHandle, /* out */ > + TPM2_HANDLE *objectHandle, /* out */ > TPM2B_NAME *name /* out */) { > TPM_BEGIN(TPM_ST_SESSIONS, TPM_CC_Load); @@ -185,7 +185,7 @@ > TPM_RC TPM2_Load(TPMI_DH_OBJECT parentHandle, > if (objectHandle != NULL) { > ptr = unpack_TPM_HANDLE(ptr, objectHandle); > } else { > - TPM_HANDLE tmp; > + TPM2_HANDLE tmp; > ptr = unpack_TPM_HANDLE(ptr, &tmp); > } > > @@ -248,7 +248,7 @@ egress: > > TPM_RC TPM2_CreatePrimary(TPMI_RH_HIERARCHY primaryHandle, > TPM2_Create_Params_in *in, > - TPM_HANDLE *objHandle, > + TPM2_HANDLE *objHandle, > TPM2_Create_Params_out *out) { > UINT32 param_size; > @@ -281,7 +281,7 @@ TPM_RC TPM2_CreatePrimary(TPMI_RH_HIERARCHY > primaryHandle, > if (objHandle != NULL) > ptr = unpack_TPM_HANDLE(ptr, objHandle); > else { > - TPM_HANDLE handle; > + TPM2_HANDLE handle; > ptr = unpack_TPM_HANDLE(ptr, &handle); > } > ptr = unpack_UINT32(ptr, ¶m_size); @@ -302,7 +302,7 @@ egress: > return status; > } > > -TPM_RC TPM2_HierachyChangeAuth(TPMI_RH_HIERARCHY_AUTH authHandle, > TPM2B_AUTH *newAuth) > +TPM_RC TPM2_HierachyChangeAuth(TPM2I_RH_HIERARCHY_AUTH > authHandle, > +TPM2B_AUTH *newAuth) > { > TPM_BEGIN(TPM_ST_SESSIONS, TPM_CC_HierarchyChangeAuth); > ptr = pack_UINT32(ptr, authHandle); diff --git a/stubdom/vtpmmgr/tpm2.h > b/stubdom/vtpmmgr/tpm2.h index 9f597ee..9e01286 100644 > --- a/stubdom/vtpmmgr/tpm2.h > +++ b/stubdom/vtpmmgr/tpm2.h > @@ -57,7 +57,7 @@ TPM_RC TPM2_PCR_Read(TPML_PCR_SELECTION > pcrSelectionIn, TPM_RC TPM2_Load(TPMI_DH_OBJECT parentHandle, > TPM2B_PRIVATE *inPrivate, > TPM2B_PUBLIC *inPublic, > - TPM_HANDLE *objectHandle, > + TPM2_HANDLE *objectHandle, > TPM2B_NAME *name); > > TPM_RC TPM2_Create(TPMI_DH_OBJECT parentHandle, @@ -66,10 +66,10 @@ > TPM_RC TPM2_Create(TPMI_DH_OBJECT parentHandle, > > TPM_RC TPM2_CreatePrimary(TPMI_RH_HIERARCHY primaryHandle, > TPM2_Create_Params_in *objHandle, > - TPM_HANDLE *in, > + TPM2_HANDLE *in, > TPM2_Create_Params_out *out); > > -TPM_RC TPM2_HierachyChangeAuth(TPMI_RH_HIERARCHY_AUTH authHandle, > +TPM_RC TPM2_HierachyChangeAuth(TPM2I_RH_HIERARCHY_AUTH > authHandle, > TPM2B_AUTH *newAuth); > > TPM_RC TPM2_RSA_ENCRYPT(TPMI_DH_OBJECT keyHandle, diff --git > a/stubdom/vtpmmgr/tpm2_types.h b/stubdom/vtpmmgr/tpm2_types.h index > ac2830d..d2e1311 100644 > --- a/stubdom/vtpmmgr/tpm2_types.h > +++ b/stubdom/vtpmmgr/tpm2_types.h > @@ -3,6 +3,7 @@ > > #include <stdlib.h> > #include <stdint.h> > +#include "common_types.h" > > // "implementation.h" > // Table 212 -- Logic Values > @@ -82,14 +83,6 @@ > #define MAX_ECC_KEY_BITS 256 > #define MAX_ECC_KEY_BYTES ((MAX_ECC_KEY_BITS + 7) / 8) > > - > -typedef unsigned char BYTE; > -typedef unsigned char BOOL; > -typedef uint8_t UINT8; > -typedef uint16_t UINT16; > -typedef uint32_t UINT32; > -typedef uint64_t UINT64; > - > // TPM2 command code > > typedef UINT32 TPM_CC; > @@ -216,7 +209,7 @@ typedef UINT16 TPM_ST; > > > // TPM Handle types > -typedef UINT32 TPM_HANDLE; > +typedef UINT32 TPM2_HANDLE; > typedef UINT8 TPM_HT; > > > @@ -261,50 +254,47 @@ typedef BYTE TPMA_LOCALITY; // Table 37 -- > TPMI_YES_NO Type <I/O> typedef BYTE TPMI_YES_NO; > > -typedef TPM_HANDLE TPMI_RH_HIERARCHY_AUTH; > - > // Table 38 -- TPMI_DH_OBJECT Type <I/O> -typedef TPM_HANDLE > TPMI_DH_OBJECT; > +typedef TPM2_HANDLE TPMI_DH_OBJECT; > > // Table 39 -- TPMI_DH_PERSISTENT Type <I/O> -typedef TPM_HANDLE > TPMI_DH_PERSISTENT; > +typedef TPM2_HANDLE TPMI_DH_PERSISTENT; > > // Table 42 -- TPMI_SH_AUTH_SESSION Type <I/O> -typedef TPM_HANDLE > TPMI_SH_AUTH_SESSION; > +typedef TPM2_HANDLE TPMI_SH_AUTH_SESSION; > > // Table 40 -- TPMI_DH_ENTITY Type <I> > -typedef TPM_HANDLE TPMI_DH_ENTITY; > +typedef TPM2_HANDLE TPMI_DH_ENTITY; > > // Table 45 -- TPMI_DH_CONTEXT Type <I/O> -typedef TPM_HANDLE > TPMI_DH_CONTEXT; > +typedef TPM2_HANDLE TPMI_DH_CONTEXT; > > // Table 46 -- TPMI_RH_HIERARCHY Type <I/O> -typedef TPM_HANDLE > TPMI_RH_HIERARCHY; > +typedef TPM2_HANDLE TPMI_RH_HIERARCHY; > > -// Table 47 -- TPMI_RH_HIERARCHY_AUTH Type <I> -typedef TPM_HANDLE > TPMI_RH_HIERARCHY_AUTH; > +// Table 47 -- TPM2I_RH_HIERARCHY_AUTH Type <I> typedef TPM2_HANDLE > +TPM2I_RH_HIERARCHY_AUTH; > > // Table 48 -- TPMI_RH_PLATFORM Type <I> -typedef TPM_HANDLE > TPMI_RH_PLATFORM; > +typedef TPM2_HANDLE TPMI_RH_PLATFORM; > > // Table 49 -- TPMI_RH_OWNER Type <I> > -typedef TPM_HANDLE TPMI_RH_OWNER; > +typedef TPM2_HANDLE TPMI_RH_OWNER; > > // Table 50 -- TPMI_RH_ENDORSEMENT Type <I> -typedef TPM_HANDLE > TPMI_RH_ENDORSEMENT; > +typedef TPM2_HANDLE TPMI_RH_ENDORSEMENT; > > // Table 51 -- TPMI_RH_PROVISION Type <I> -typedef TPM_HANDLE > TPMI_RH_PROVISION; > +typedef TPM2_HANDLE TPMI_RH_PROVISION; > > // Table 52 -- TPMI_RH_CLEAR Type <I> > -typedef TPM_HANDLE TPMI_RH_CLEAR; > +typedef TPM2_HANDLE TPMI_RH_CLEAR; > > // Table 54 -- TPMI_RH_LOCKOUT Type <I> -typedef TPM_HANDLE > TPMI_RH_LOCKOUT; > +typedef TPM2_HANDLE TPMI_RH_LOCKOUT; > > // Table 7 -- TPM_ALG_ID > typedef UINT16 TPM_ALG_ID; > -typedef UINT16 TPM_ALG_ID; > > #define TPM2_ALG_ERROR (TPM_ALG_ID)(0x0000) // a: ; D: > #define TPM2_ALG_FIRST (TPM_ALG_ID)(0x0001) // a: ; D: > diff --git a/stubdom/vtpmmgr/vtpmmgr.h b/stubdom/vtpmmgr/vtpmmgr.h > index 46fd14f..2e6f8de 100644 > --- a/stubdom/vtpmmgr/vtpmmgr.h > +++ b/stubdom/vtpmmgr/vtpmmgr.h > @@ -76,8 +76,8 @@ struct vtpm_globals { > /* TPM 2.0 */ > TPM_AuthArea pw_auth; > TPM_AuthArea srk_auth_area; > - TPM_HANDLE srk_handle; > - TPM_HANDLE sk_handle; > + TPM2_HANDLE srk_handle; > + TPM2_HANDLE sk_handle; > TPM2B_NAME sk_name; > TPM2_RSA_KEY tpm2_storage_key; > }; > -- > 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |