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)