有两种方法可以确定 EPC 的大小。
- 在 Windows* 中,最大围圈大小 受 EPC 限制。
- 不能使用英特尔® Software Guard Extensions (SGX) SDK 来查找 EPC 的大小。
方法 1:
查找 英特尔® Software Guard Extensions (SGX) 处理器预留内存 (PRM) 的大小,即专为英特尔 SGX保留的内存量,并包含 BIOS 中的 EPC。它将根据 BIOS 以不同的方式列出,但 SGX 内存设置通常在 SGX Enable 设置旁边。如果 PRM 为 128 MB,则其中 96 MB 分配给 EPC。
方法 2:
使用 test_sgx.c:
- 转到 SGX 硬件 Github 并下载文件test_sgx.c 或克隆存储库
- 编译 和 运行 test_sgx.c 根据这些 指示:
$ gcc test-sgx.c -o test-sgx
$ ./test-sgx
- 寻找输出,例如:
CPUID Leaf 12H, Sub-Leaf 2 of Intel SGX Capabilities (EAX=12H,ECX=2)
eax: 70200001 ebx: 0 ecx: 5d80001 edx: 0
size of EPC section in Processor Reserved Memory, 93 M
ecx 寄存器包含 EPC 大小:ecx: 5d80000 = 93MB
大多数平台拥有 128 MB 或 256 MB 的 PRM。第三代英特尔® 至强® 可扩展处理器也不例外,它们每个处理器都支持 512 GB 的 PRM 尺寸,在 双插槽平台上加起来高达 1TB。