| /* SPDX-License-Identifier: GPL-2.0-only */ |
| |
| #include <stdint.h> |
| |
| const struct s_tpm_extend_cmd{ |
| uint8_t buffer[34]; |
| uint16_t pcrNum; |
| uint16_t inDigest; |
| } tpm_extend_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0x22, 0x0, 0x0, 0x0, 0x14, }, |
| 10, 14, }; |
| |
| const struct s_tpm_get_random_cmd{ |
| uint8_t buffer[14]; |
| uint16_t bytesRequested; |
| } tpm_get_random_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x46, }, |
| 10, }; |
| |
| const struct s_tpm_getownership_cmd{ |
| uint8_t buffer[22]; |
| } tpm_getownership_cmd = { |
| {0x0, 0xc1, 0x0, 0x0, 0x0, 0x16, 0x0, 0x0, 0x0, 0x65, |
| 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x1, 0x11, }, |
| }; |
| |
| const struct s_tpm_getpermissions_cmd{ |
| uint8_t buffer[22]; |
| uint16_t index; |
| } tpm_getpermissions_cmd = { |
| {0x0, 0xc1, 0x0, 0x0, 0x0, 0x16, 0x0, 0x0, 0x0, 0x65, |
| 0x0, 0x0, 0x0, 0x11, 0x0, 0x0, 0x0, 0x4, }, |
| 18, }; |
| |
| const struct s_tpm_getstclearflags_cmd{ |
| uint8_t buffer[22]; |
| } tpm_getstclearflags_cmd = { |
| {0x0, 0xc1, 0x0, 0x0, 0x0, 0x16, 0x0, 0x0, 0x0, 0x65, |
| 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x1, 0x9, }, |
| }; |
| |
| const struct s_tpm_getflags_cmd{ |
| uint8_t buffer[22]; |
| } tpm_getflags_cmd = { |
| {0x0, 0xc1, 0x0, 0x0, 0x0, 0x16, 0x0, 0x0, 0x0, 0x65, |
| 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x1, 0x8, }, |
| }; |
| |
| const struct s_tpm_physicalsetdeactivated_cmd{ |
| uint8_t buffer[11]; |
| uint16_t deactivated; |
| } tpm_physicalsetdeactivated_cmd = { |
| {0x0, 0xc1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x72, }, |
| 10, }; |
| |
| const struct s_tpm_physicalenable_cmd{ |
| uint8_t buffer[10]; |
| } tpm_physicalenable_cmd = { |
| {0x0, 0xc1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x6f, }, |
| }; |
| |
| const struct s_tpm_physicaldisable_cmd{ |
| uint8_t buffer[10]; |
| } tpm_physicaldisable_cmd = { |
| {0x0, 0xc1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x70, }, |
| }; |
| |
| const struct s_tpm_forceclear_cmd{ |
| uint8_t buffer[10]; |
| } tpm_forceclear_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x5d, }, |
| }; |
| |
| const struct s_tpm_readpubek_cmd{ |
| uint8_t buffer[30]; |
| } tpm_readpubek_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x0, 0x0, 0x7c, }, |
| }; |
| |
| const struct s_tpm_continueselftest_cmd{ |
| uint8_t buffer[10]; |
| } tpm_continueselftest_cmd = { |
| {0x0, 0xc1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x53, }, |
| }; |
| |
| const struct s_tpm_selftestfull_cmd{ |
| uint8_t buffer[10]; |
| } tpm_selftestfull_cmd = { |
| {0x0, 0xc1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x50, }, |
| }; |
| |
| const struct s_tpm_resume_cmd{ |
| uint8_t buffer[12]; |
| } tpm_resume_cmd = { |
| {0x0, 0xc1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x99, 0x0, 0x2, }, |
| }; |
| |
| const struct s_tpm_savestate_cmd{ |
| uint8_t buffer[10]; |
| } tpm_savestate_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x98, }, |
| }; |
| |
| const struct s_tpm_startup_cmd{ |
| uint8_t buffer[12]; |
| } tpm_startup_cmd = { |
| {0x0, 0xc1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x99, 0x0, 0x1, }, |
| }; |
| |
| const struct s_tpm_finalizepp_cmd{ |
| uint8_t buffer[12]; |
| } tpm_finalizepp_cmd = { |
| {0x0, 0xc1, 0x0, 0x0, 0x0, 0xc, 0x40, 0x0, 0x0, 0xa, 0x2, 0xa0, }, |
| }; |
| |
| const struct s_tpm_pplock_cmd{ |
| uint8_t buffer[12]; |
| } tpm_pplock_cmd = { |
| {0x0, 0xc1, 0x0, 0x0, 0x0, 0xc, 0x40, 0x0, 0x0, 0xa, 0x0, 0x4, }, |
| }; |
| |
| const struct s_tpm_ppenable_cmd{ |
| uint8_t buffer[12]; |
| } tpm_ppenable_cmd = { |
| {0x0, 0xc1, 0x0, 0x0, 0x0, 0xc, 0x40, 0x0, 0x0, 0xa, 0x0, 0x20, }, |
| }; |
| |
| const struct s_tpm_ppassert_cmd{ |
| uint8_t buffer[12]; |
| } tpm_ppassert_cmd = { |
| {0x0, 0xc1, 0x0, 0x0, 0x0, 0xc, 0x40, 0x0, 0x0, 0xa, 0x0, 0x8, }, |
| }; |
| |
| const struct s_tpm_pcr_read_cmd{ |
| uint8_t buffer[14]; |
| uint16_t pcrNum; |
| } tpm_pcr_read_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x15, }, |
| 10, }; |
| |
| const struct s_tpm_nv_read_cmd{ |
| uint8_t buffer[22]; |
| uint16_t index; |
| uint16_t length; |
| } tpm_nv_read_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0x16, 0x0, 0x0, 0x0, 0xcf, }, |
| 10, 18, }; |
| |
| const struct s_tpm_nv_write_cmd{ |
| uint8_t buffer[256]; |
| uint16_t index; |
| uint16_t length; |
| uint16_t data; |
| } tpm_nv_write_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcd, }, |
| 10, 18, 22, }; |
| |
| const struct s_tpm_nv_definespace_cmd{ |
| uint8_t buffer[101]; |
| uint16_t index; |
| uint16_t perm; |
| uint16_t size; |
| } tpm_nv_definespace_cmd = { |
| {0x0, 0xc1, 0x0, 0x0, 0x0, 0x65, 0x0, 0x0, 0x0, 0xcc, |
| 0x0, 0x18, 0, 0, 0, 0, 0x0, 0x3, 0, 0, 0, 0x1f, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0x0, 0x3, 0, 0, 0, 0x1f, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x0, 0x17, |
| }, |
| 12, 70, 77, |
| }; |
| |
| const int kWriteInfoLength = 12; |
| const int kNvDataPublicPermissionsOffset = 60; |