Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/x86/kvm/vmx/sgx.h
26489 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
#ifndef __KVM_X86_SGX_H
3
#define __KVM_X86_SGX_H
4
5
#include <linux/kvm_host.h>
6
7
#include "capabilities.h"
8
#include "vmx_ops.h"
9
10
#ifdef CONFIG_X86_SGX_KVM
11
extern bool __read_mostly enable_sgx;
12
13
int handle_encls(struct kvm_vcpu *vcpu);
14
15
void setup_default_sgx_lepubkeyhash(void);
16
void vcpu_setup_sgx_lepubkeyhash(struct kvm_vcpu *vcpu);
17
18
void vmx_write_encls_bitmap(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12);
19
#else
20
#define enable_sgx 0
21
22
static inline void setup_default_sgx_lepubkeyhash(void) { }
23
static inline void vcpu_setup_sgx_lepubkeyhash(struct kvm_vcpu *vcpu) { }
24
25
static inline void vmx_write_encls_bitmap(struct kvm_vcpu *vcpu,
26
struct vmcs12 *vmcs12)
27
{
28
/* Nothing to do if hardware doesn't support SGX */
29
if (cpu_has_vmx_encls_vmexit())
30
vmcs_write64(ENCLS_EXITING_BITMAP, -1ull);
31
}
32
#endif
33
34
#endif /* __KVM_X86_SGX_H */
35
36