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