target/i386: Add SGX aex-notify and EDECCSSA support
authorKai Huang <kai.huang@intel.com>
Wed, 9 Nov 2022 02:48:34 +0000 (15:48 +1300)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 5 Jan 2023 23:51:02 +0000 (00:51 +0100)
commitd45f24fe7525d8a8aaa4ca6d9d214dc41819caa5
tree767b3ab1bc738eb277fc064d29955eaa8ead23f7
parent6f9f630836df355b9ca3f4641e6b7be71f6af076
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>
target/i386/cpu.c