79c4324644
Change-Id: I2d302dda68298877c65c99147f5bf22186a59aac
65 lines
2.6 KiB
Diff
65 lines
2.6 KiB
Diff
From b4657a1cf12f3a0a650498d87f4e91aae76cc840 Mon Sep 17 00:00:00 2001
|
|
From: Kai Huang <kai.huang@intel.com>
|
|
Date: Wed, 9 Nov 2022 15:48:34 +1300
|
|
Subject: [PATCH] target/i386: Add SGX aex-notify and EDECCSSA support
|
|
|
|
from mainline-v8.0.0-rc0
|
|
commit d45f24fe7525d8a8aaa4ca6d9d214dc41819caa5
|
|
category: feature
|
|
feature: SGX aex-notify and EDECCSSA support
|
|
bugzilla: https://gitee.com/openeuler/intel-qemu/issues/I6Y4W4
|
|
|
|
Intel-SIG: commit d45f24fe7525 ("target/i386: Add SGX aex-notify and EDECCSSA support")
|
|
|
|
-----------------------------------------------------------
|
|
|
|
The new SGX Asynchronous Exit (AEX) notification mechanism (AEX-notify)
|
|
allows one enclave to receive a notification in the ERESUME after the
|
|
enclave exit due to an AEX. EDECCSSA is a new SGX user leaf function
|
|
(ENCLU[EDECCSSA]) to facilitate the AEX notification handling.
|
|
|
|
Whether the hardware supports to create enclave with AEX-notify support
|
|
is enumerated via CPUID.(EAX=0x12,ECX=0x1):EAX[10]. The new EDECCSSA
|
|
user leaf function is enumerated via CPUID.(EAX=0x12,ECX=0x0):EAX[11].
|
|
|
|
Add support to allow to expose the new SGX AEX-notify feature and the
|
|
new EDECCSSA user leaf function to KVM guest.
|
|
|
|
Link: https://lore.kernel.org/lkml/166760360549.4906.809756297092548496.tip-bot2@tip-bot2/
|
|
Link: https://lore.kernel.org/lkml/166760360934.4906.2427175408052308969.tip-bot2@tip-bot2/
|
|
Reviewed-by: Yang Zhong <yang.zhong@linux.intel.com>
|
|
Signed-off-by: Kai Huang <kai.huang@intel.com>
|
|
Message-Id: <20221109024834.172705-1-kai.huang@intel.com>
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
[ jason: amend commit log ]
|
|
Signed-off-by: Jason Zeng <jason.zeng@intel.com>
|
|
---
|
|
target/i386/cpu.c | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
|
|
index 61cd7abcaa..df475f27d3 100644
|
|
--- a/target/i386/cpu.c
|
|
+++ b/target/i386/cpu.c
|
|
@@ -1205,7 +1205,7 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] = {
|
|
.feat_names = {
|
|
"sgx1", "sgx2", NULL, NULL,
|
|
NULL, NULL, NULL, NULL,
|
|
- NULL, NULL, NULL, NULL,
|
|
+ NULL, NULL, NULL, "sgx-edeccssa",
|
|
NULL, NULL, NULL, NULL,
|
|
NULL, NULL, NULL, NULL,
|
|
NULL, NULL, NULL, NULL,
|
|
@@ -1245,7 +1245,7 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] = {
|
|
.feat_names = {
|
|
NULL, "sgx-debug", "sgx-mode64", NULL,
|
|
"sgx-provisionkey", "sgx-tokenkey", NULL, "sgx-kss",
|
|
- NULL, NULL, NULL, NULL,
|
|
+ NULL, NULL, "sgx-aex-notify", NULL,
|
|
NULL, NULL, NULL, NULL,
|
|
NULL, NULL, NULL, NULL,
|
|
NULL, NULL, NULL, NULL,
|
|
--
|
|
2.27.0
|
|
|