Fixes for building with "-Wpedantic". ZD 17592

pull/332/head
David Garske 2024-02-28 17:05:42 -08:00
parent 46ef684106
commit 225a352bd4
3 changed files with 95 additions and 86 deletions

View File

@ -132,6 +132,12 @@ jobs:
- name: make debug io
run: make
# build pedantic
- name: configure pedantic
run: ./configure CFLAGS="-Wpedantic"
- name: make pedantic
run: make
# capture logs on failure
- name: Upload failure logs
if: failure()

View File

@ -47,18 +47,18 @@ enum tpm_tis_status {
TPM_STS_RESP_RETRY = 0x02,
};
enum tpm_tis_int_flags {
TPM_GLOBAL_INT_ENABLE = 0x80000000,
TPM_INTF_BURST_COUNT_STATIC = 0x100,
TPM_INTF_CMD_READY_INT = 0x080,
TPM_INTF_INT_EDGE_FALLING = 0x040,
TPM_INTF_INT_EDGE_RISING = 0x020,
TPM_INTF_INT_LEVEL_LOW = 0x010,
TPM_INTF_INT_LEVEL_HIGH = 0x008,
TPM_INTF_LOC_CHANGE_INT = 0x004,
TPM_INTF_STS_VALID_INT = 0x002,
TPM_INTF_DATA_AVAIL_INT = 0x001,
};
/* enum tpm_tis_int_flags */
#define TPM_GLOBAL_INT_ENABLE 0x80000000UL
#define TPM_INTF_BURST_COUNT_STATIC 0x100
#define TPM_INTF_CMD_READY_INT 0x080
#define TPM_INTF_INT_EDGE_FALLING 0x040
#define TPM_INTF_INT_EDGE_RISING 0x020
#define TPM_INTF_INT_LEVEL_LOW 0x010
#define TPM_INTF_INT_LEVEL_HIGH 0x008
#define TPM_INTF_LOC_CHANGE_INT 0x004
#define TPM_INTF_STS_VALID_INT 0x002
#define TPM_INTF_DATA_AVAIL_INT 0x001
#ifndef TPM_BASE_ADDRESS
#define TPM_BASE_ADDRESS (0xD40000u)

View File

@ -66,15 +66,13 @@ typedef UINT32 TPM_GENERATED;
/* ENUMERATIONS */
/* ---------------------------------------------------------------------------*/
enum {
TPM_SPEC_FAMILY = 0x322E3000,
TPM_SPEC_LEVEL = 0,
TPM_SPEC_VERSION = 138,
TPM_SPEC_YEAR = 2016,
TPM_SPEC_DAY_OF_YEAR = 273,
#define TPM_SPEC_FAMILY 0x322E3000
#define TPM_SPEC_LEVEL 0
#define TPM_SPEC_VERSION 138
#define TPM_SPEC_YEAR 2016
#define TPM_SPEC_DAY_OF_YEAR 273
TPM_GENERATED_VALUE = 0xff544347,
};
#define TPM_GENERATED_VALUE 0xff544347
typedef enum {
@ -649,37 +647,38 @@ typedef enum {
typedef UINT32 TPM_RH;
/* Handle Value Constants */
typedef enum {
HR_HANDLE_MASK = 0x00FFFFFF,
HR_RANGE_MASK = 0xFF000000,
HR_SHIFT = 24,
HR_PCR = ((UINT32)TPM_HT_PCR << HR_SHIFT),
HR_HMAC_SESSION = ((UINT32)TPM_HT_HMAC_SESSION << HR_SHIFT),
HR_POLICY_SESSION = ((UINT32)TPM_HT_POLICY_SESSION << HR_SHIFT),
HR_TRANSIENT = ((UINT32)TPM_HT_TRANSIENT << HR_SHIFT),
HR_PERSISTENT = ((UINT32)TPM_HT_PERSISTENT << HR_SHIFT),
HR_NV_INDEX = ((UINT32)TPM_HT_NV_INDEX << HR_SHIFT),
HR_PERMANENT = ((UINT32)TPM_HT_PERMANENT << HR_SHIFT),
PCR_FIRST = (HR_PCR + 0),
PCR_LAST = (PCR_FIRST + IMPLEMENTATION_PCR-1),
HMAC_SESSION_FIRST = (HR_HMAC_SESSION + 0),
HMAC_SESSION_LAST = (HMAC_SESSION_FIRST+MAX_ACTIVE_SESSIONS-1),
LOADED_SESSION_FIRST = HMAC_SESSION_FIRST,
LOADED_SESSION_LAST = HMAC_SESSION_LAST,
POLICY_SESSION_FIRST = (HR_POLICY_SESSION + 0),
POLICY_SESSION_LAST = (POLICY_SESSION_FIRST+MAX_ACTIVE_SESSIONS-1),
TRANSIENT_FIRST = (HR_TRANSIENT + 0),
ACTIVE_SESSION_FIRST = POLICY_SESSION_FIRST,
ACTIVE_SESSION_LAST = POLICY_SESSION_LAST,
TRANSIENT_LAST = (TRANSIENT_FIRST+MAX_LOADED_OBJECTS-1),
PERSISTENT_FIRST = (HR_PERSISTENT + 0),
PERSISTENT_LAST = (PERSISTENT_FIRST + 0x00FFFFFF),
PLATFORM_PERSISTENT = (PERSISTENT_FIRST + 0x00800000),
NV_INDEX_FIRST = (HR_NV_INDEX + 0),
NV_INDEX_LAST = (NV_INDEX_FIRST + 0x00FFFFFF),
PERMANENT_FIRST = TPM_RH_FIRST,
PERMANENT_LAST = TPM_RH_LAST,
} TPM_HC_T;
/* Using defines, not "enum TPM_HC_T" to avoid pedantic error:
* "ISO C restricts enumerator values to range of 'int'"
*/
#define HR_HANDLE_MASK 0x00FFFFFFUL
#define HR_RANGE_MASK 0xFF000000UL
#define HR_SHIFT 24
#define HR_PCR ((UINT32)TPM_HT_PCR << HR_SHIFT)
#define HR_HMAC_SESSION ((UINT32)TPM_HT_HMAC_SESSION << HR_SHIFT)
#define HR_POLICY_SESSION ((UINT32)TPM_HT_POLICY_SESSION << HR_SHIFT)
#define HR_TRANSIENT ((UINT32)TPM_HT_TRANSIENT << HR_SHIFT)
#define HR_PERSISTENT ((UINT32)TPM_HT_PERSISTENT << HR_SHIFT)
#define HR_NV_INDEX ((UINT32)TPM_HT_NV_INDEX << HR_SHIFT)
#define HR_PERMANENT ((UINT32)TPM_HT_PERMANENT << HR_SHIFT)
#define PCR_FIRST (HR_PCR + 0)
#define PCR_LAST (PCR_FIRST + IMPLEMENTATION_PCR-1)
#define HMAC_SESSION_FIRST (HR_HMAC_SESSION + 0)
#define HMAC_SESSION_LAST (HMAC_SESSION_FIRST+MAX_ACTIVE_SESSIONS-1)
#define LOADED_SESSION_FIRST HMAC_SESSION_FIRST
#define LOADED_SESSION_LAST HMAC_SESSION_LAST
#define POLICY_SESSION_FIRST (HR_POLICY_SESSION + 0)
#define POLICY_SESSION_LAST (POLICY_SESSION_FIRST+MAX_ACTIVE_SESSIONS-1)
#define TRANSIENT_FIRST (HR_TRANSIENT + 0)
#define ACTIVE_SESSION_FIRST POLICY_SESSION_FIRST
#define ACTIVE_SESSION_LAST POLICY_SESSION_LAST
#define TRANSIENT_LAST (TRANSIENT_FIRST+MAX_LOADED_OBJECTS-1)
#define PERSISTENT_FIRST (HR_PERSISTENT + 0)
#define PERSISTENT_LAST (PERSISTENT_FIRST + 0x00FFFFFFUL)
#define PLATFORM_PERSISTENT (PERSISTENT_FIRST + 0x00800000UL)
#define NV_INDEX_FIRST (HR_NV_INDEX + 0)
#define NV_INDEX_LAST (NV_INDEX_FIRST + 0x00FFFFFFUL)
#define PERMANENT_FIRST TPM_RH_FIRST
#define PERMANENT_LAST TPM_RH_LAST
typedef UINT32 TPM_HC;
@ -741,13 +740,14 @@ enum TPMA_PERMANENT_mask {
};
typedef UINT32 TPMA_STARTUP_CLEAR;
enum TPMA_STARTUP_CLEAR_mask {
TPMA_STARTUP_CLEAR_phEnable = 0x00000001,
TPMA_STARTUP_CLEAR_shEnable = 0x00000002,
TPMA_STARTUP_CLEAR_ehEnable = 0x00000004,
TPMA_STARTUP_CLEAR_phEnableNV = 0x00000008,
TPMA_STARTUP_CLEAR_orderly = 0x80000000,
};
/* Using defines, not "enum TPMA_STARTUP_CLEAR_mask" to avoid pedantic error:
* "ISO C restricts enumerator values to range of 'int'"
*/
#define TPMA_STARTUP_CLEAR_phEnable 0x00000001UL
#define TPMA_STARTUP_CLEAR_shEnable 0x00000002UL
#define TPMA_STARTUP_CLEAR_ehEnable 0x00000004UL
#define TPMA_STARTUP_CLEAR_phEnableNV 0x00000008UL
#define TPMA_STARTUP_CLEAR_orderly 0x80000000UL
typedef UINT32 TPMA_MEMORY;
enum TPMA_MEMORY_mask {
@ -1493,10 +1493,12 @@ typedef struct TPM2B_ID_OBJECT {
/* NV Storage Structures */
typedef UINT32 TPM_NV_INDEX;
enum TPM_NV_INDEX_mask {
TPM_NV_INDEX_index = 0x00FFFFFF,
TPM_NV_INDEX_RH_NV = 0xFF000000,
};
/* Using defines, not "enum TPM_NV_INDEX_mask" to avoid pedantic error:
* "ISO C restricts enumerator values to range of 'int'"
*/
#define TPM_NV_INDEX_index 0x00FFFFFFUL
#define TPM_NV_INDEX_RH_NV 0xFF000000UL
typedef enum TPM_NT {
TPM_NT_ORDINARY = 0x0,
@ -1514,30 +1516,31 @@ typedef struct TPMS_NV_PIN_COUNTER_PARAMETERS {
} TPMS_NV_PIN_COUNTER_PARAMETERS;
typedef UINT32 TPMA_NV;
enum TPMA_NV_mask {
TPMA_NV_PPWRITE = 0x00000001,
TPMA_NV_OWNERWRITE = 0x00000002,
TPMA_NV_AUTHWRITE = 0x00000004,
TPMA_NV_POLICYWRITE = 0x00000008,
TPMA_NV_TPM_NT = 0x000000F0,
TPMA_NV_POLICY_DELETE = 0x00000400,
TPMA_NV_WRITELOCKED = 0x00000800,
TPMA_NV_WRITEALL = 0x00001000,
TPMA_NV_WRITEDEFINE = 0x00002000,
TPMA_NV_WRITE_STCLEAR = 0x00004000,
TPMA_NV_GLOBALLOCK = 0x00008000,
TPMA_NV_PPREAD = 0x00010000,
TPMA_NV_OWNERREAD = 0x00020000,
TPMA_NV_AUTHREAD = 0x00040000,
TPMA_NV_POLICYREAD = 0x00080000,
TPMA_NV_NO_DA = 0x02000000,
TPMA_NV_ORDERLY = 0x04000000,
TPMA_NV_CLEAR_STCLEAR = 0x08000000,
TPMA_NV_READLOCKED = 0x10000000,
TPMA_NV_WRITTEN = 0x20000000,
TPMA_NV_PLATFORMCREATE = 0x40000000,
TPMA_NV_READ_STCLEAR = 0x80000000,
};
/* Using defines, not "enum TPMA_NV_mask" to avoid pedantic error:
* "ISO C restricts enumerator values to range of 'int'"
*/
#define TPMA_NV_PPWRITE 0x00000001UL
#define TPMA_NV_OWNERWRITE 0x00000002UL
#define TPMA_NV_AUTHWRITE 0x00000004UL
#define TPMA_NV_POLICYWRITE 0x00000008UL
#define TPMA_NV_TPM_NT 0x000000F0UL
#define TPMA_NV_POLICY_DELETE 0x00000400UL
#define TPMA_NV_WRITELOCKED 0x00000800UL
#define TPMA_NV_WRITEALL 0x00001000UL
#define TPMA_NV_WRITEDEFINE 0x00002000UL
#define TPMA_NV_WRITE_STCLEAR 0x00004000UL
#define TPMA_NV_GLOBALLOCK 0x00008000UL
#define TPMA_NV_PPREAD 0x00010000UL
#define TPMA_NV_OWNERREAD 0x00020000UL
#define TPMA_NV_AUTHREAD 0x00040000UL
#define TPMA_NV_POLICYREAD 0x00080000UL
#define TPMA_NV_NO_DA 0x02000000UL
#define TPMA_NV_ORDERLY 0x04000000UL
#define TPMA_NV_CLEAR_STCLEAR 0x08000000UL
#define TPMA_NV_READLOCKED 0x10000000UL
#define TPMA_NV_WRITTEN 0x20000000UL
#define TPMA_NV_PLATFORMCREATE 0x40000000UL
#define TPMA_NV_READ_STCLEAR 0x80000000UL
typedef struct TPMS_NV_PUBLIC {
TPMI_RH_NV_INDEX nvIndex;