github.com/jlmucb/cloudproxy@v0.0.0-20170830161738-b5aa0b619bc4/cpvmm/vmm/startup/vmm_extension.c (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   *
     8   *     http://www.apache.org/licenses/LICENSE-2.0
     9  
    10   * Unless required by applicable law or agreed to in writing, software
    11   * distributed under the License is distributed on an "AS IS" BASIS,
    12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13   * See the License for the specific language governing permissions and
    14   * limitations under the License.
    15   */
    16  
    17  #include "vmm_callback.h"
    18  
    19  #pragma warning(push)
    20  #pragma warning(disable : 4100) // disable non-referenced formal parameters
    21  
    22  BOOLEAN report_uvmm_event(UVMM_EVENT event, VMM_IDENTIFICATION_DATA gcpu, const GUEST_VCPU *vcpu_id, void *event_specific_data)
    23  {
    24      BOOLEAN status = TRUE;
    25      (void)gcpu;
    26      (void)vcpu_id;
    27      (void)event_specific_data;
    28  
    29      switch(event) {
    30          case UVMM_EVENT_INITIALIZATION_BEFORE_APS_STARTED:
    31              break;
    32          case UVMM_EVENT_INITIALIZATION_AFTER_APS_STARTED:
    33              break;
    34          case UVMM_EVENT_EPT_VIOLATION:
    35              break;
    36          case UVMM_EVENT_MTF_VMEXIT:
    37              break;
    38          case UVMM_EVENT_CR_ACCESS:
    39              status = FALSE;
    40              break;
    41          case UVMM_EVENT_DR_LOAD_ACCESS:
    42              break;
    43          case UVMM_EVENT_LDTR_LOAD_ACCESS:
    44              break;
    45          case UVMM_EVENT_GDTR_IDTR_ACCESS:
    46              break;
    47          case UVMM_EVENT_MSR_READ_ACCESS:
    48              break;
    49          case UVMM_EVENT_MSR_WRITE_ACCESS:
    50              break;
    51          case UVMM_EVENT_SET_ACTIVE_EPTP:
    52              break;
    53          case UVMM_EVENT_INITIAL_VMEXIT_CHECK:
    54              status = FALSE;
    55              break;
    56          case UVMM_EVENT_SINGLE_STEPPING_CHECK:
    57              break;
    58          case UVMM_EVENT_VMM_TEARDOWN:
    59              break;
    60          case UVMM_EVENT_INVALID_FAST_VIEW_SWITCH:
    61              break;
    62          case UVMM_EVENT_VMX_PREEMPTION_TIMER:
    63              break;
    64          case UVMM_EVENT_HALT_INSTRUCTION:
    65              break;
    66          case UVMM_EVENT_LOG:
    67              break;
    68          // JLM: added
    69          default:
    70              break;
    71      }
    72  
    73      return status;
    74  }
    75  #pragma warning(pop)