tpm 支援的命令和傳送流程

2021-10-08 08:27:20 字數 960 閱讀 9545

tpm 的協議分為tpm1和tpm2 這裡以tpm2為例

tpm2 支援的命令定義在linux-master\include\linux\tpm.h中

enum tpm2_command_codes ;

這裡以tpm2_cc_self_test為例看看tpm 是如何傳送命令的

static int tpm2_do_selftest(struct tpm_chip *chip)

return rc;

}我們看看傳送命令前是如何申請buffer的

static inline int tpm_buf_init(struct tpm_buf *buf, u16 tag, u32 ordinal)

對buff的初始化如下:

這裡可以看到tpm 協議是採用大端儲存的

static inline void tpm_buf_reset(struct tpm_buf *buf, u16 tag, u32 ordinal)

最後我們看看如果傳送命令給tpm 晶元

ssize_t tpm_transmit_cmd(struct tpm_chip *chip, struct tpm_buf *buf,

size_t min_rsp_body_length, const char *desc)

ssize_t tpm_transmit(struct tpm_chip *chip, u8 *buf, size_t bufsiz)

return ret;

}static ssize_t tpm_try_transmit(struct tpm_chip *chip, void *buf, size_t bufsiz)

#原來最終還是呼叫tpm chip 提供的傳送函式傳送命令

rc = chip->ops->send(chip, buf, count);

if (rc < 0)

}

Python Django 建立流程和命令

django admin startproject test1 建立名字為test1的django專案,期目錄結構如下 建立名字為booktest的應用,器目錄結構如下 在建立專案之後,我們就可以在models中寫自己需要用到的bean。python manage.py makemigrations...

命令實現 linux 和 window 檔案傳送

二 檔案傳遞操作 操作環境windows 7 1 windows linux 例項 1.1 開始 執行 cmd進入到dos模式 輸入以下命令 1.2 輸入命令 pscp d clear.sh root 192.168.2.112 data www 等待輸入linux後台的密碼即可肯簡單吧 2 lin...

shell 命令和流程控制

shell 常用命令語法及功能 echo zhanqiong 將文字內容列印到螢幕上 ls 檔案列表 wc l file 計算檔案行數 wc w file 計算檔案單詞數 wc c filr 計算檔案字元數 cp sourcefile destfile 檔案拷貝 mv oldname newname...