cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

sgx.h (878B)


      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
     11extern bool __read_mostly enable_sgx;
     12
     13int handle_encls(struct kvm_vcpu *vcpu);
     14
     15void setup_default_sgx_lepubkeyhash(void);
     16void vcpu_setup_sgx_lepubkeyhash(struct kvm_vcpu *vcpu);
     17
     18void vmx_write_encls_bitmap(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12);
     19#else
     20#define enable_sgx 0
     21
     22static inline void setup_default_sgx_lepubkeyhash(void) { }
     23static inline void vcpu_setup_sgx_lepubkeyhash(struct kvm_vcpu *vcpu) { }
     24
     25static 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 */