On 9/24/21 13:24, Paolo Bonzini wrote: > From: Sean Christopherson <sean.j.christopher...@intel.com> > > EPC (Enclave Page Cahe) is a specialized type of memory used by Intel
Typo "Enclave Page Cache". > SGX (Software Guard Extensions). The SDM desribes EPC as: > > The Enclave Page Cache (EPC) is the secure storage used to store > enclave pages when they are a part of an executing enclave. For an > EPC page, hardware performs additional access control checks to > restrict access to the page. After the current page access checks > and translations are performed, the hardware checks that the EPC > page is accessible to the program currently executing. Generally an > EPC page is only accessed by the owner of the executing enclave or > an instruction which is setting up an EPC page. > > Because of its unique requirements, Linux manages EPC separately from > normal memory. Similar to memfd, the device /dev/sgx_vepc can be > opened to obtain a file descriptor which can in turn be used to mmap() > EPC memory. > > Signed-off-by: Sean Christopherson <sean.j.christopher...@intel.com> > Signed-off-by: Yang Zhong <yang.zh...@intel.com> > Message-Id: <20210719112136.57018-3-yang.zh...@intel.com> > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> > --- > backends/hostmem-epc.c | 82 +++++++++++++++++++++++++++++++++++ > backends/meson.build | 1 + > include/hw/i386/hostmem-epc.h | 28 ++++++++++++ > 3 files changed, 111 insertions(+) > create mode 100644 backends/hostmem-epc.c > create mode 100644 include/hw/i386/hostmem-epc.h