Dua metode untuk menentukan ukuran enklave maksimum.
Dalam lingkungan cloud, Anda tidak dapat memeriksa Memori Cadangan Prosesor (PRM), yang mencakup Cache Halaman Enclave (EPC), di BIOS.
Tidak dapat menggunakan SDK Intel® Software Guard Extensions (Intel® SGX) untuk menemukan memori yang tersedia untuk enklave.
SDK Intel® Software Guard Extensions (Intel® SGX) tidak memberikan cara untuk menemukan ukuran enklave maksimum. SDK Intel® Software Guard Extensions (Intel® SGX) memungkinkan Anda untuk mengatur ukuran enklave dalam aplikasi menggunakan Berkas Konfigurasi Enclave.
Ada dua metode untuk melaporkan kemampuan Intel® Software Guard Extensions (Intel® SGX) yang tersedia pada prosesor. Kedua opsi melaporkan MaxEnclaveSize, yang merupakan ukuran enklave maksimum virtual. Ukuran enklave maksimum aktual ditentukan oleh batas sistem operasi atau memori.
Opsi 1
Pada sistem Linux*, jalankan cpuid di terminal:
$ cpuid | grep MaxEnclaveSize
Opsi 2
Gunakan test_sgx.c:
- Buka SGX Hardware Github dan unduh file test_sgx.c atau kloning repositori
- Mengkompilasi dan lari test_sgx.c menurut peraturan:
$ gcc test-sgx.c -o test-sgx
$ ./test-sgx
Penjelasan MaxEnclaveSize
Jika MaxEnclaveSize 0, maka SGX tidak diaktifkan pada platform.
Jika SGX diaktifkan, keluaran yang paling umum adalah:
MaxEnclaveSize_Not64: 1f
MaxEnclaveSize_64: 24
- MaxEnclaveSize_Not64: ukuran enclave maksimum yang didukung adalah 2^(EDX[7:0]) byte ketika tidak dalam mode 64-bit
- MaxEnclaveSize_64: ukuran enclave maksimum yang didukung adalah 2^(EDX[15:8]) byte ketika beroperasi dalam mode 64-bit.
Ukuran virtual maksimum enclave adalah 2^(0x1f) untuk enclave 32-bit dan 2^(0x24) untuk enclave 64-bit.
Lihat nilai yang dikembalikan oleh panggilan CPUID di Bagian 37.7.2, Tabel 37-6 dari Manual Pengembang Perangkat Lunak IA Vol 3d Bagian 4.