⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tcgbios.h

📁 xen虚拟机源代码安装包
💻 H
字号:
#ifndef TCGBIOS_H#define TCGBIOS_H/* TCPA ACPI definitions */#define TCPA_ACPI_CLASS_CLIENT          0#define TCPA_ACPI_CLASS_SERVER          1/* Define for section 12.3 */#define TCG_PC_OK                       0x0#define TCG_PC_TPMERROR                 0x1#define TCG_PC_LOGOVERFLOW              0x2#define TCG_PC_UNSUPPORTED              0x3#define TPM_ALG_SHA                     0x4#define TCG_MAGIC                       0x41504354L#define TCG_VERSION_MAJOR               1#define TCG_VERSION_MINOR               2#define TPM_OK                          0x0#define TPM_RET_BASE                    0x1#define TCG_GENERAL_ERROR               (TPM_RET_BASE + 0x0)#define TCG_TPM_IS_LOCKED               (TPM_RET_BASE + 0x1)#define TCG_NO_RESPONSE                 (TPM_RET_BASE + 0x2)#define TCG_INVALID_RESPONSE            (TPM_RET_BASE + 0x3)#define TCG_INVALID_ACCESS_REQUEST      (TPM_RET_BASE + 0x4)#define TCG_FIRMWARE_ERROR              (TPM_RET_BASE + 0x5)#define TCG_INTEGRITY_CHECK_FAILED      (TPM_RET_BASE + 0x6)#define TCG_INVALID_DEVICE_ID           (TPM_RET_BASE + 0x7)#define TCG_INVALID_VENDOR_ID           (TPM_RET_BASE + 0x8)#define TCG_UNABLE_TO_OPEN              (TPM_RET_BASE + 0x9)#define TCG_UNABLE_TO_CLOSE             (TPM_RET_BASE + 0xa)#define TCG_RESPONSE_TIMEOUT            (TPM_RET_BASE + 0xb)#define TCG_INVALID_COM_REQUEST         (TPM_RET_BASE + 0xc)#define TCG_INVALID_ADR_REQUEST         (TPM_RET_BASE + 0xd)#define TCG_WRITE_BYTE_ERROR            (TPM_RET_BASE + 0xe)#define TCG_READ_BYTE_ERROR             (TPM_RET_BASE + 0xf)#define TCG_BLOCK_WRITE_TIMEOUT         (TPM_RET_BASE + 0x10)#define TCG_CHAR_WRITE_TIMEOUT          (TPM_RET_BASE + 0x11)#define TCG_CHAR_READ_TIMEOUT           (TPM_RET_BASE + 0x12)#define TCG_BLOCK_READ_TIMEOUT          (TPM_RET_BASE + 0x13)#define TCG_TRANSFER_ABORT              (TPM_RET_BASE + 0x14)#define TCG_INVALID_DRV_FUNCTION        (TPM_RET_BASE + 0x15)#define TCG_OUTPUT_BUFFER_TOO_SHORT     (TPM_RET_BASE + 0x16)#define TCG_FATAL_COM_ERROR             (TPM_RET_BASE + 0x17)#define TCG_INVALID_INPUT_PARA          (TPM_RET_BASE + 0x18)#define TCG_TCG_COMMAND_ERROR           (TPM_RET_BASE + 0x19)#define TCG_INTERFACE_SHUTDOWN          (TPM_RET_BASE + 0x20)//define TCG_PC_UNSUPPORTED             (TPM_RET_BASE + 0x21)#define TCG_PC_TPM_NOT_PRESENT          (TPM_RET_BASE + 0x22)#define TCG_PC_TPM_DEACTIVATED          (TPM_RET_BASE + 0x23)#define TPM_INVALID_ADR_REQUEST          TCG_INVALID_ADR_REQUEST#define TPM_IS_LOCKED                    TCG_TPM_IS_LOCKED#define TPM_INVALID_DEVICE_ID            TCG_INVALID_DEVICE_ID#define TPM_INVALID_VENDOR_ID            TCG_INVALID_VENDOR_ID//define TPM_RESERVED_REG_INVALID#define TPM_FIRMWARE_ERROR               TCG_FIRMWARE_ERROR#define TPM_UNABLE_TO_OPEN               TCG_UNABLE_TO_OPEN#define TPM_UNABLE_TO_CLOSE              TCG_UNABLE_TO_CLOSE#define TPM_INVALID_RESPONSE             TCG_INVALID_RESPONSE#define TPM_RESPONSE_TIMEOUT             TCG_RESPONSE_TIMEOUT#define TPM_INVALID_ACCESS_REQUEST       TCG_INVALID_ACCESS_REQUEST#define TPM_TRANSFER_ABORT               TCG_TRANSFER_ABORT#define TPM_GENERAL_ERROR                TCG_GENERAL_ERROR#define TPM_ST_CLEAR                      0x0#define TPM_ST_STATE                      0x1#define TPM_ST_DEACTIVATED                0x2/* event types: 10.4.1 / table 11 */#define EV_POST_CODE             1#define EV_SEPARATOR             4#define EV_ACTION                5#define EV_EVENT_TAG             6#define EV_COMPACT_HASH         12#define EV_IPL                  13#define EV_IPL_PARTITION_DATA   14// MA Driver defines#define CODE_MAInitTPM                    0x01#define CODE_MAHashAllExtendTPM           0x02#define CODE_MAPhysicalPresenceTPM        0x03/* vendor specific ones */#define CODE_MAIsTPMPresent               0x80#define CODE_MAHashAll                    0x81#define CODE_MATransmit                   0x82/*  indices for commands to be sent via proprietary   _TCG_SendCommand function */#define IDX_CMD_TPM_Startup_0x01                0#define IDX_CMD_TSC_PhysicalPresence_0x20       1#define IDX_CMD_TSC_PhysicalPresence_0x08       2#define IDX_CMD_TSC_PhysicalPresence_0x100      3#define IDX_CMD_TSC_PhysicalPresence_0x10       4#define IDX_CMD_TPM_PhysicalEnable              5#define IDX_CMD_TPM_PhysicalSetDeactivated_0x00 6#define IDX_CMD_TPM_SHA1Start                   7/* hardware registers for TPM TIS */#define TPM_ACCESS                 0x0#define TPM_INT_ENABLE             0x8#define TPM_INT_VECTOR             0xc#define TPM_INT_STATUS             0x10#define TPM_INTF_CAPABILITY        0x14#define TPM_STS                    0x18#define TPM_DATA_FIFO              0x24#define TPM_DID_VID                0xf00#define TPM_RID                    0xf04/* address of locality 0 (TIS) */#define TPM_TIS_BASE_ADDRESS        0xfed40000#define STATUS_FLAG_SHUTDOWN                (1 << 0)/* Input and Output blocks for the TCG BIOS commands */struct hleei_short{	uint16_t   ipblength;	uint16_t   reserved;	uint32_t   hashdataptr;	uint32_t   hashdatalen;	uint32_t   pcrindex;	uint32_t   logdataptr;	uint32_t   logdatalen;} __attribute__((packed));struct hleei_long{	uint16_t   ipblength;	uint16_t   reserved;	uint32_t   hashdataptr;	uint32_t   hashdatalen;	uint32_t   pcrindex;	uint32_t   reserved2;	uint32_t   logdataptr;	uint32_t   logdatalen;} __attribute__((packed));struct hleeo{	uint16_t    opblength;	uint16_t    reserved;	uint32_t    eventnumber;	uint8_t     hashvalue[20];} __attribute__((packed));struct pttti{	uint16_t    ipblength;	uint16_t    reserved;	uint16_t    opblength;	uint16_t    reserved2;	uint8_t     tpmoperandin[0];} __attribute__((packed));struct pttto{	uint16_t    opblength;	uint16_t    reserved;	uint8_t     tpmoperandout[0];};struct hlei{	uint16_t    ipblength;	uint16_t    reserved;	uint32_t    hashdataptr;	uint32_t    hashdatalen;	uint32_t    pcrindex;	uint32_t    logeventtype;	uint32_t    logdataptr;	uint32_t    logdatalen;} __attribute__((packed));struct hleo{	uint16_t    opblength;	uint16_t    reserved;	uint32_t    eventnumber;} __attribute__((packed));struct hai{	uint16_t    ipblength;	uint16_t    reserved;	uint32_t    hashdataptr;	uint32_t    hashdatalen;	uint32_t    algorithmid;} __attribute__((packed));struct ti{	uint16_t    ipblength;	uint16_t    reserved;        uint16_t    opblength;        uint16_t    reserved2;        uint8_t     tssoperandin[0];} __attribute__((packed));struct to{	uint16_t    opblength;	uint16_t    reserved;	uint8_t     tssoperandout[0];} __attribute__((packed));struct pcpes{	uint32_t    pcrindex;	uint32_t    eventtype;	uint8_t     digest[20];	uint32_t    eventdatasize;	uint32_t    event;} __attribute__((packed));struct acpi_20_tcpa_client {	uint32_t laml;	uint64_t lasa;} __attribute__((packed));struct acpi_20_tcpa_server {	uint16_t reserved;	uint32_t laml;	uint64_t lasa;	/* more here */} __attribute__((packed));struct acpi_20_tcpa_clisrv {	struct acpi_header header;	uint16_t platform_class;	union {		struct acpi_20_tcpa_client client;		struct acpi_20_tcpa_server server;	} u;} __attribute__((packed));#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -