github.com/jlmucb/cloudproxy@v0.0.0-20170830161738-b5aa0b619bc4/cpvmm/vmm/include/vmx_trace.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 /* 16 Trace mechanism 17 */ 18 19 #ifndef VMX_TRACE_H 20 #define VMX_TRACE_H 21 22 #include "vmm_defs.h" 23 #include "guest_cpu.h" 24 25 typedef enum { 26 VMM_TRACE_DISABLED, 27 VMM_TRACE_ENABLED_RECYCLED, 28 VMM_TRACE_ENABLED_NON_RECYCLED 29 } VMM_TRACE_STATE; 30 31 BOOLEAN vmm_trace_init( UINT32 max_num_guests, UINT32 max_num_guest_cpus); 32 BOOLEAN vmm_trace( GUEST_CPU_HANDLE guest_cpu, const char *format, ...); 33 BOOLEAN vmm_trace_buffer( GUEST_CPU_HANDLE guest_cpu, UINT8 buffer_index, 34 const char *format, ...); 35 BOOLEAN vmm_trace_print_all( UINT32 guest_num, char *guest_names[]); 36 void vmm_trace_state_set( VMM_TRACE_STATE state); 37 38 #endif // VMX_TRACE_H 39