Bagikan melalui


Penjadwalan Perintah

Penjadwalan Perintah

Perintah dapat dikirimkan ke TBS dari beberapa konteks kapan saja. Namun, TPM fisik hanya dapat memproses satu perintah pada satu waktu, dan beberapa perintah dapat berjalan untuk jangka waktu yang signifikan. Ketika beberapa perintah tertunda, TBS memutuskan perintah mana yang akan dikirim ke TPM. Saat perintah dikirimkan, setiap perintah memiliki prioritas yang terkait dengannya. TBS menggunakan prioritas ini untuk menentukan perintah tertunda mana yang akan dikirimkan setiap kali TPM gratis. Empat tingkat prioritas rendah, normal, tinggi, dan sistem. Aplikasi harus menggunakan prioritas rendah, normal, atau tinggi. Meskipun perintah prioritas tinggi biasanya dijalankan sebelum perintah berprioritas rendah, penjadwal perintah TBS memiliki kebijakan penuaan yang akhirnya memberikan prioritas sangat tinggi pada perintah yang telah diblokir untuk jangka waktu yang signifikan.

Manajemen Konteks

Ketika perintah TPM_SaveContext atau TPM2 ContextSave dikirimkan dengan handel virtual ke sumber daya yang dikelola TBS, TBS menjalankan perintah yang sesuai pada sumber daya fisik dan mengembalikan hasilnya kepada pemanggil jika sumber daya ada secara fisik di TPM. Jika sumber daya tidak ada secara fisik dalam TPM, pra-pemrosesan perintah TPM_SaveContext atau TPM2_ContextSave menyebabkan sumber daya dimuat ulang, di mana konteks akan disimpan dan dikembalikan ke pemanggil. Jika sumber daya yang disimpan adalah jenis yang biasanya dihapus secara otomatis dari TPM setelah disimpan, TBS membatalkan sumber daya virtual setelah menyelesaikan perintah ini. Ketika perintah TPM_LoadContext atau TPM2_ContextLoad dikirimkan ke TBS, TBS segera menjalankan perintah. Jika perintah berhasil diselesaikan, TBS memvirtualisasi handel sumber daya dan meneruskan aliran byte TPM yang dihasilkan ke pemanggil. Ketika perintah TPM_FlushSpecific atau TPM2_FlushContext dikirimkan dengan handel virtual ke sumber daya yang mengelola TBS, TBS menjalankan perintah TPM_FlushSpecific atau TPM2_FlushContext untuk mengusir sumber daya dari TPM jika ada secara fisik. Dalam hal ini, TBS membatalkan sumber daya virtual dan mengembalikan hasil perintah flush ke pemanggil. Jika sumber daya tidak ada secara fisik dalam TPM, praproses perintah TPM_FlushSpecific atau TPM2_FlushContext akan memuat sumber daya yang sesuai dengan handel virtual, tetapi kemudian akan dihapus ketika perintah benar-benar diproses. TBS tidak mendukung bit TPM_KeyControlOwner atau fungsionalitas keepHandle dari operasi TPM_LoadContext, sehingga tidak akan memberikan sumber daya penanganan yang sama dengan yang dimilikinya sebelum konteks disimpan.

Perintah Lainnya

Perintah yang tidak disebutkan dalam dokumentasi ini diproses dengan mengganti handel kunci virtual dengan handel kunci fisik (jika perlu) dan mengirimkannya ke TPM. Ini dilakukan setelah melakukan operasi yang sesuai untuk memastikan bahwa sumber daya yang digunakan secara fisik ada di TPM. Tidak ada pemrosesan khusus tambahan yang dilakukan. TBS tidak mencoba meningkatkan keakuratan virtualisasi dengan memodifikasi data yang diteruskan kembali dari TPM sebagai bagian dari kueri TPM_GetCapabilities atau TPM2_GetCapability. TBS juga mendukung perintah Kehadiran Fisik TCG. TBS bertindak sebagai pass-through untuk perintah Kehadiran Fisik; tidak ada pemrosesan khusus yang dilakukan oleh TBS itu sendiri.

Pembersihan

Ketika konteks keluar, semua sumber daya fisik dan virtual yang terkait dengannya dibersihkan sehingga tidak lagi menggunakan sumber daya sistem.