/*********************************************************
- * Copyright (C) 1999-2016 VMware, Inc. All rights reserved.
+ * Copyright (C) 1999-2016,2019 VMware, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published
#error The backdoor protocol is only supported on x86 architectures.
#endif
+/*
+ * The three different backdoor interfaces: the legacy IN/OUT interface, and the
+ * hypercall interfaces for AMD and Intel.
+ */
+typedef enum {
+ BACKDOOR_INTERFACE_NONE,
+ BACKDOOR_INTERFACE_IO,
+ BACKDOOR_INTERFACE_VMMCALL,
+ BACKDOOR_INTERFACE_VMCALL
+} BackdoorInterface;
+
/*
* These #defines are intended for defining register structs as part of
* existing named unions. If the union should encapsulate the register
#define CPUID_SGX_FEATURES 0x12
#define CPUID_PT_FEATURES 0x14
#define CPUID_HYPERVISOR_LEVEL_0 0x40000000
+#define CPUID_VMW_FEATURES 0x40000010
#define CPUID_SVM_FEATURES 0x8000000a
#define CPUID_SEV_INFO 0x8000001f