1/**
2 * \file
3 * \brief Contains VMKit kernel interface for version using SVM extensions.
4 */
5
6/*
7 * Copyright (c) 2014, University of Washington.
8 * All rights reserved.
9 *
10 * This file is distributed under the terms in the attached LICENSE file.
11 * If you do not find this file, copies can be found by writing to:
12 * ETH Zurich D-INFK, CAB F.78, Universitaetstr. 6, CH-8092 Zurich.
13 * Attn: Systems Group.
14 */
15
16#ifndef SVM_VMKIT_H
17#define SVM_VMKIT_H
18
19// SVM relevant CPUID info
20#define CPUID_AMD_EXTFEAT       0x80000001
21#define AMD_EXTFEAT_ECX_SVM     (1 << 2)
22
23// some EXITCODE values
24#define VMEXIT_INTR     0x60
25#define VMEXIT_NMI      0x61
26#define VMEXIT_SMI      0x62
27#define VMEXIT_VMMCALL  0x81
28
29errval_t svm_enable_virtualization (void);
30void __attribute__ ((noreturn)) svm_vmkit_vmenter (struct dcb *dcb);
31
32#endif // SVM_VMKIT_H
33