github.com/jlmucb/cloudproxy@v0.0.0-20170830161738-b5aa0b619bc4/cpvmm/vmm/include/vmm_objects.h (about)

     1  /*
     2   * Copyright (c) 2013 Intel Corporation
     3   *
     4   * Licensed under the Apache License, Version 2.0 (the "License");
     5   * you may not use this file except in compliance with the License.
     6   * You may obtain a copy of the License at
     7   *     http://www.apache.org/licenses/LICENSE-2.0
     8   * Unless required by applicable law or agreed to in writing, software
     9   * distributed under the License is distributed on an "AS IS" BASIS,
    10   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    11   * See the License for the specific language governing permissions and
    12   * limitations under the License.
    13   */
    14  
    15  #ifndef _VMM_OBJECTS_H_
    16  #define _VMM_OBJECTS_H_
    17  
    18  // Typedefs of the most used objects
    19  typedef void*                       GPM_HANDLE;
    20  typedef struct _GUEST_CPU *         GUEST_CPU_HANDLE;
    21  typedef struct _GUEST_DESCRIPTOR *  GUEST_HANDLE;
    22  typedef struct _VMCS_OBJECT         VMCS_OBJECT;
    23  #ifdef ENABLE_AUTOVIEW_SWITCH
    24  typedef void* GVM_HANDLE;
    25  #endif
    26  //typedef struct _VIRTUAL_CPU_ID      VIRTUAL_CPU_ID;
    27  
    28  // Support for call from NMI exception handler
    29  typedef enum _VMM_CALLING_ENVIRONMENT {
    30      VMM_CALL_NORMAL = 0,
    31      VMM_CALL_FROM_NMI_HANDLER
    32  } VMM_CALLING_ENVIRONMENT;
    33  
    34  #endif // _VMM_OBJECTS_H_