Hai phương pháp để xác định kích thước bộ nhớ tối đa.
Trong môi trường đám mây, không thể kiểm tra Bộ nhớ dành riêng cho bộ xử lý (PRM), bao gồm Bộ nhớ đệm trang bộ nhớ (EPC), trong BIOS.
Không thể sử dụng Intel® Software Guard Extensions SDK (Intel® SGX) để tìm bộ nhớ khả dụng cho một bộ nhớ bao gồm.
SDK Intel® Software Guard Extensions (Intel® SGX) không cung cấp cách để tìm kích thước bộ nhớ tối đa. SDK Intel® Software Guard Extensions (Intel® SGX) cho phép bạn thiết lập kích thước bộ nhớ trong một ứng dụng bằng cách sử dụng Tập tin cấu hình Enclave.
Có hai phương pháp để báo cáo các tính năng Intel® Software Guard Extensions (Intel® SGX) khả dụng trên bộ xử lý. Cả hai tùy chọn báo cáo MaxEnclaveSize, là kích thước bộ vi phân tối đa ảo. Kích thước bộ nhớ tối đa thực tế được xác định bởi giới hạn hệ điều hành hoặc bộ nhớ.
Tùy chọn 1
Trên hệ thống Linux*, thực thi cpuid trong thiết bị đầu cuối:
$ cpuid | grep MaxEnclaveSize
Tùy chọn 2
Sử test_sgx.c:
- Vào SGX Hardware Github và tải xuống tệp test_sgx.c hoặc sao chép kho lưu trữ
- Biên dịch và chạy test_sgx.c theo những chỉ thị:
$ gcc test-sgx.c -o test-sgx
$ ./test-sgx
Giải thích MaxEnclaveSize
Nếu MaxEnclaveSize được 0bật , thì SGX sẽ không được bật trên nền tảng.
Nếu SGX được bật, đầu ra phổ biến nhất là:
MaxEnclaveSize_Not64: 1f
MaxEnclaveSize_64: 24
- MaxEnclaveSize_Not64: kích thước vùng được hỗ trợ tối đa là 2^(EDX[7:0]) byte khi không ở chế độ 64 bit
- MaxEnclaveSize_64: kích thước vùng được hỗ trợ tối đa là 2^(EDX[15:8]) byte khi hoạt động ở chế độ 64 bit.
Kích thước ảo tối đa của enclave là 2^(0x1f) cho 32-bit và 2^(0x24) cho các enclave 64 bit.
Tham khảo giá trị được trả về bằng cuộc gọi CPUID trong Mục 37.7.2, Bảng 37-6 của Hướng dẫn dành cho nhà phát triển phần mềm IA tập 3d Phần 4.