2015-12-08 102 views
3

由於英特爾已經承認,Skylake處理器的首次收費並未啓用SGX。 CPUID似乎沒有指出這一點。 所以,我的問題是,我怎麼能知道我最近買的MS Surface Pro與I5 Skylake處理器是否啓用了SGX?我的Surface 4 pro上啓用了SGX嗎?

回答

2

如果設置了smx - 支持SGX全局啓用。

CPUID.1:ECX.[bit6] 

您可以使用this link作爲參考編寫C程序來檢查是否啓用SGX並檢查所有SGX相關參數:它可以通過調用EAX = 1 cpuid彙編指令進行檢查。

+0

cpuid with eax:07表示sgx:1但cpuid葉12h全爲零。這是什麼意思? – Cryptostasis

+0

@Cryptostasis如果我沒有記錯,這意味着CPU支持SGX,但BIOS可能是舊的,不知道如何配置系統使SGX可用。 –

3

當前英特爾SGX模式在Surface Pro 4中未啓用,但Surface Pro 4中的CPU支持英特爾SGX。 我使用i7模型,我使用飛地API編碼簡單的程序。 在飛地API中,有一個API來檢查您的系統是否支持英特爾SGX,其名稱是IsEnclaveTypeSupported。

它在我的系統上返回FALSE,但AIDA64表示我的系統支持英特爾SGX模式。

所以我們現在只能做的就是等待稍後從MS發佈新的UEFI固件。

1

這裏也有一些可用的here代碼打印出CPUID的信息告訴你新交所是否被啓用:

輸出示例:

Extended feature bits (EAX=07H, ECX=0H) 
eax: 0 ebx: 29c6fbf ecx: 0 edx: 0 
sgx available: 1 

關於什麼的寄存器值是指信息,請參見1.7的manual

相關問題