/* This file is autogenerated by tracetool, do not edit. */

#ifndef TRACE_TARGET_S390X_KVM_GENERATED_TRACERS_H
#define TRACE_TARGET_S390X_KVM_GENERATED_TRACERS_H

#include "trace/control.h"

extern TraceEvent _TRACE_KVM_ENABLE_CMMA_EVENT;
extern TraceEvent _TRACE_KVM_CLEAR_CMMA_EVENT;
extern TraceEvent _TRACE_KVM_FAILED_CPU_STATE_SET_EVENT;
extern TraceEvent _TRACE_KVM_ASSIGN_SUBCH_IOEVENTFD_EVENT;
extern TraceEvent _TRACE_KVM_SW_BREAKPOINT_EVENT;
extern TraceEvent _TRACE_KVM_INSN_UNHANDLED_PRIV_EVENT;
extern TraceEvent _TRACE_KVM_INSN_DIAG_EVENT;
extern TraceEvent _TRACE_KVM_INSN_EVENT;
extern TraceEvent _TRACE_KVM_INTERCEPT_EVENT;
extern TraceEvent _TRACE_KVM_MSI_ROUTE_FIXUP_EVENT;
extern uint16_t _TRACE_KVM_ENABLE_CMMA_DSTATE;
extern uint16_t _TRACE_KVM_CLEAR_CMMA_DSTATE;
extern uint16_t _TRACE_KVM_FAILED_CPU_STATE_SET_DSTATE;
extern uint16_t _TRACE_KVM_ASSIGN_SUBCH_IOEVENTFD_DSTATE;
extern uint16_t _TRACE_KVM_SW_BREAKPOINT_DSTATE;
extern uint16_t _TRACE_KVM_INSN_UNHANDLED_PRIV_DSTATE;
extern uint16_t _TRACE_KVM_INSN_DIAG_DSTATE;
extern uint16_t _TRACE_KVM_INSN_DSTATE;
extern uint16_t _TRACE_KVM_INTERCEPT_DSTATE;
extern uint16_t _TRACE_KVM_MSI_ROUTE_FIXUP_DSTATE;
#define TRACE_KVM_ENABLE_CMMA_ENABLED 1
#define TRACE_KVM_CLEAR_CMMA_ENABLED 1
#define TRACE_KVM_FAILED_CPU_STATE_SET_ENABLED 1
#define TRACE_KVM_ASSIGN_SUBCH_IOEVENTFD_ENABLED 1
#define TRACE_KVM_SW_BREAKPOINT_ENABLED 1
#define TRACE_KVM_INSN_UNHANDLED_PRIV_ENABLED 1
#define TRACE_KVM_INSN_DIAG_ENABLED 1
#define TRACE_KVM_INSN_ENABLED 1
#define TRACE_KVM_INTERCEPT_ENABLED 1
#define TRACE_KVM_MSI_ROUTE_FIXUP_ENABLED 1
#include "qemu/log-for-trace.h"
#include "qemu/error-report.h"


#define TRACE_KVM_ENABLE_CMMA_BACKEND_DSTATE() ( \
    trace_event_get_state_dynamic_by_id(TRACE_KVM_ENABLE_CMMA) || \
    false)

static inline void _nocheck__trace_kvm_enable_cmma(int rc)
{
    if (trace_event_get_state(TRACE_KVM_ENABLE_CMMA) && qemu_loglevel_mask(LOG_TRACE)) {
        if (message_with_timestamp) {
            struct timeval _now;
            gettimeofday(&_now, NULL);
#line 4 "../target/s390x/kvm/trace-events"
            qemu_log("%d@%zu.%06zu:kvm_enable_cmma " "CMMA: enabling with result code %d" "\n",
                     qemu_get_thread_id(),
                     (size_t)_now.tv_sec, (size_t)_now.tv_usec
                     , rc);
#line 58 "trace/trace-target_s390x_kvm.h"
        } else {
#line 4 "../target/s390x/kvm/trace-events"
            qemu_log("kvm_enable_cmma " "CMMA: enabling with result code %d" "\n", rc);
#line 62 "trace/trace-target_s390x_kvm.h"
        }
    }
}

static inline void trace_kvm_enable_cmma(int rc)
{
    if (true) {
        _nocheck__trace_kvm_enable_cmma(rc);
    }
}

#define TRACE_KVM_CLEAR_CMMA_BACKEND_DSTATE() ( \
    trace_event_get_state_dynamic_by_id(TRACE_KVM_CLEAR_CMMA) || \
    false)

static inline void _nocheck__trace_kvm_clear_cmma(int rc)
{
    if (trace_event_get_state(TRACE_KVM_CLEAR_CMMA) && qemu_loglevel_mask(LOG_TRACE)) {
        if (message_with_timestamp) {
            struct timeval _now;
            gettimeofday(&_now, NULL);
#line 5 "../target/s390x/kvm/trace-events"
            qemu_log("%d@%zu.%06zu:kvm_clear_cmma " "CMMA: clearing with result code %d" "\n",
                     qemu_get_thread_id(),
                     (size_t)_now.tv_sec, (size_t)_now.tv_usec
                     , rc);
#line 89 "trace/trace-target_s390x_kvm.h"
        } else {
#line 5 "../target/s390x/kvm/trace-events"
            qemu_log("kvm_clear_cmma " "CMMA: clearing with result code %d" "\n", rc);
#line 93 "trace/trace-target_s390x_kvm.h"
        }
    }
}

static inline void trace_kvm_clear_cmma(int rc)
{
    if (true) {
        _nocheck__trace_kvm_clear_cmma(rc);
    }
}

#define TRACE_KVM_FAILED_CPU_STATE_SET_BACKEND_DSTATE() ( \
    trace_event_get_state_dynamic_by_id(TRACE_KVM_FAILED_CPU_STATE_SET) || \
    false)

static inline void _nocheck__trace_kvm_failed_cpu_state_set(int cpu_index, uint8_t state, const char * msg)
{
    if (trace_event_get_state(TRACE_KVM_FAILED_CPU_STATE_SET) && qemu_loglevel_mask(LOG_TRACE)) {
        if (message_with_timestamp) {
            struct timeval _now;
            gettimeofday(&_now, NULL);
#line 6 "../target/s390x/kvm/trace-events"
            qemu_log("%d@%zu.%06zu:kvm_failed_cpu_state_set " "Warning: Unable to set cpu %d state %" PRIu8 " to KVM: %s" "\n",
                     qemu_get_thread_id(),
                     (size_t)_now.tv_sec, (size_t)_now.tv_usec
                     , cpu_index, state, msg);
#line 120 "trace/trace-target_s390x_kvm.h"
        } else {
#line 6 "../target/s390x/kvm/trace-events"
            qemu_log("kvm_failed_cpu_state_set " "Warning: Unable to set cpu %d state %" PRIu8 " to KVM: %s" "\n", cpu_index, state, msg);
#line 124 "trace/trace-target_s390x_kvm.h"
        }
    }
}

static inline void trace_kvm_failed_cpu_state_set(int cpu_index, uint8_t state, const char * msg)
{
    if (true) {
        _nocheck__trace_kvm_failed_cpu_state_set(cpu_index, state, msg);
    }
}

#define TRACE_KVM_ASSIGN_SUBCH_IOEVENTFD_BACKEND_DSTATE() ( \
    trace_event_get_state_dynamic_by_id(TRACE_KVM_ASSIGN_SUBCH_IOEVENTFD) || \
    false)

static inline void _nocheck__trace_kvm_assign_subch_ioeventfd(int fd, uint32_t addr, bool assign, int datamatch)
{
    if (trace_event_get_state(TRACE_KVM_ASSIGN_SUBCH_IOEVENTFD) && qemu_loglevel_mask(LOG_TRACE)) {
        if (message_with_timestamp) {
            struct timeval _now;
            gettimeofday(&_now, NULL);
#line 7 "../target/s390x/kvm/trace-events"
            qemu_log("%d@%zu.%06zu:kvm_assign_subch_ioeventfd " "fd: %d sch: @0x%x assign: %d vq: %d" "\n",
                     qemu_get_thread_id(),
                     (size_t)_now.tv_sec, (size_t)_now.tv_usec
                     , fd, addr, assign, datamatch);
#line 151 "trace/trace-target_s390x_kvm.h"
        } else {
#line 7 "../target/s390x/kvm/trace-events"
            qemu_log("kvm_assign_subch_ioeventfd " "fd: %d sch: @0x%x assign: %d vq: %d" "\n", fd, addr, assign, datamatch);
#line 155 "trace/trace-target_s390x_kvm.h"
        }
    }
}

static inline void trace_kvm_assign_subch_ioeventfd(int fd, uint32_t addr, bool assign, int datamatch)
{
    if (true) {
        _nocheck__trace_kvm_assign_subch_ioeventfd(fd, addr, assign, datamatch);
    }
}

#define TRACE_KVM_SW_BREAKPOINT_BACKEND_DSTATE() ( \
    trace_event_get_state_dynamic_by_id(TRACE_KVM_SW_BREAKPOINT) || \
    false)

static inline void _nocheck__trace_kvm_sw_breakpoint(uint32_t n)
{
    if (trace_event_get_state(TRACE_KVM_SW_BREAKPOINT) && qemu_loglevel_mask(LOG_TRACE)) {
        if (message_with_timestamp) {
            struct timeval _now;
            gettimeofday(&_now, NULL);
#line 9 "../target/s390x/kvm/trace-events"
            qemu_log("%d@%zu.%06zu:kvm_sw_breakpoint " "KVM: will use %d-byte sw breakpoints" "\n",
                     qemu_get_thread_id(),
                     (size_t)_now.tv_sec, (size_t)_now.tv_usec
                     , n);
#line 182 "trace/trace-target_s390x_kvm.h"
        } else {
#line 9 "../target/s390x/kvm/trace-events"
            qemu_log("kvm_sw_breakpoint " "KVM: will use %d-byte sw breakpoints" "\n", n);
#line 186 "trace/trace-target_s390x_kvm.h"
        }
    }
}

static inline void trace_kvm_sw_breakpoint(uint32_t n)
{
    if (true) {
        _nocheck__trace_kvm_sw_breakpoint(n);
    }
}

#define TRACE_KVM_INSN_UNHANDLED_PRIV_BACKEND_DSTATE() ( \
    trace_event_get_state_dynamic_by_id(TRACE_KVM_INSN_UNHANDLED_PRIV) || \
    false)

static inline void _nocheck__trace_kvm_insn_unhandled_priv(uint32_t x)
{
    if (trace_event_get_state(TRACE_KVM_INSN_UNHANDLED_PRIV) && qemu_loglevel_mask(LOG_TRACE)) {
        if (message_with_timestamp) {
            struct timeval _now;
            gettimeofday(&_now, NULL);
#line 10 "../target/s390x/kvm/trace-events"
            qemu_log("%d@%zu.%06zu:kvm_insn_unhandled_priv " "KVM: unhandled PRIV: 0x%x" "\n",
                     qemu_get_thread_id(),
                     (size_t)_now.tv_sec, (size_t)_now.tv_usec
                     , x);
#line 213 "trace/trace-target_s390x_kvm.h"
        } else {
#line 10 "../target/s390x/kvm/trace-events"
            qemu_log("kvm_insn_unhandled_priv " "KVM: unhandled PRIV: 0x%x" "\n", x);
#line 217 "trace/trace-target_s390x_kvm.h"
        }
    }
}

static inline void trace_kvm_insn_unhandled_priv(uint32_t x)
{
    if (true) {
        _nocheck__trace_kvm_insn_unhandled_priv(x);
    }
}

#define TRACE_KVM_INSN_DIAG_BACKEND_DSTATE() ( \
    trace_event_get_state_dynamic_by_id(TRACE_KVM_INSN_DIAG) || \
    false)

static inline void _nocheck__trace_kvm_insn_diag(uint32_t x)
{
    if (trace_event_get_state(TRACE_KVM_INSN_DIAG) && qemu_loglevel_mask(LOG_TRACE)) {
        if (message_with_timestamp) {
            struct timeval _now;
            gettimeofday(&_now, NULL);
#line 11 "../target/s390x/kvm/trace-events"
            qemu_log("%d@%zu.%06zu:kvm_insn_diag " "KVM: unknown DIAG: 0x%x" "\n",
                     qemu_get_thread_id(),
                     (size_t)_now.tv_sec, (size_t)_now.tv_usec
                     , x);
#line 244 "trace/trace-target_s390x_kvm.h"
        } else {
#line 11 "../target/s390x/kvm/trace-events"
            qemu_log("kvm_insn_diag " "KVM: unknown DIAG: 0x%x" "\n", x);
#line 248 "trace/trace-target_s390x_kvm.h"
        }
    }
}

static inline void trace_kvm_insn_diag(uint32_t x)
{
    if (true) {
        _nocheck__trace_kvm_insn_diag(x);
    }
}

#define TRACE_KVM_INSN_BACKEND_DSTATE() ( \
    trace_event_get_state_dynamic_by_id(TRACE_KVM_INSN) || \
    false)

static inline void _nocheck__trace_kvm_insn(uint32_t ipa, uint32_t ipb)
{
    if (trace_event_get_state(TRACE_KVM_INSN) && qemu_loglevel_mask(LOG_TRACE)) {
        if (message_with_timestamp) {
            struct timeval _now;
            gettimeofday(&_now, NULL);
#line 12 "../target/s390x/kvm/trace-events"
            qemu_log("%d@%zu.%06zu:kvm_insn " "handle_instruction 0x%x 0x%x" "\n",
                     qemu_get_thread_id(),
                     (size_t)_now.tv_sec, (size_t)_now.tv_usec
                     , ipa, ipb);
#line 275 "trace/trace-target_s390x_kvm.h"
        } else {
#line 12 "../target/s390x/kvm/trace-events"
            qemu_log("kvm_insn " "handle_instruction 0x%x 0x%x" "\n", ipa, ipb);
#line 279 "trace/trace-target_s390x_kvm.h"
        }
    }
}

static inline void trace_kvm_insn(uint32_t ipa, uint32_t ipb)
{
    if (true) {
        _nocheck__trace_kvm_insn(ipa, ipb);
    }
}

#define TRACE_KVM_INTERCEPT_BACKEND_DSTATE() ( \
    trace_event_get_state_dynamic_by_id(TRACE_KVM_INTERCEPT) || \
    false)

static inline void _nocheck__trace_kvm_intercept(uint32_t icpt_code, uint64_t psw_addr)
{
    if (trace_event_get_state(TRACE_KVM_INTERCEPT) && qemu_loglevel_mask(LOG_TRACE)) {
        if (message_with_timestamp) {
            struct timeval _now;
            gettimeofday(&_now, NULL);
#line 13 "../target/s390x/kvm/trace-events"
            qemu_log("%d@%zu.%06zu:kvm_intercept " "intercept: 0x%x (at 0x%"PRIx64"lx)" "\n",
                     qemu_get_thread_id(),
                     (size_t)_now.tv_sec, (size_t)_now.tv_usec
                     , icpt_code, psw_addr);
#line 306 "trace/trace-target_s390x_kvm.h"
        } else {
#line 13 "../target/s390x/kvm/trace-events"
            qemu_log("kvm_intercept " "intercept: 0x%x (at 0x%"PRIx64"lx)" "\n", icpt_code, psw_addr);
#line 310 "trace/trace-target_s390x_kvm.h"
        }
    }
}

static inline void trace_kvm_intercept(uint32_t icpt_code, uint64_t psw_addr)
{
    if (true) {
        _nocheck__trace_kvm_intercept(icpt_code, psw_addr);
    }
}

#define TRACE_KVM_MSI_ROUTE_FIXUP_BACKEND_DSTATE() ( \
    trace_event_get_state_dynamic_by_id(TRACE_KVM_MSI_ROUTE_FIXUP) || \
    false)

static inline void _nocheck__trace_kvm_msi_route_fixup(const char* msg)
{
    if (trace_event_get_state(TRACE_KVM_MSI_ROUTE_FIXUP) && qemu_loglevel_mask(LOG_TRACE)) {
        if (message_with_timestamp) {
            struct timeval _now;
            gettimeofday(&_now, NULL);
#line 14 "../target/s390x/kvm/trace-events"
            qemu_log("%d@%zu.%06zu:kvm_msi_route_fixup " "%s" "\n",
                     qemu_get_thread_id(),
                     (size_t)_now.tv_sec, (size_t)_now.tv_usec
                     , msg);
#line 337 "trace/trace-target_s390x_kvm.h"
        } else {
#line 14 "../target/s390x/kvm/trace-events"
            qemu_log("kvm_msi_route_fixup " "%s" "\n", msg);
#line 341 "trace/trace-target_s390x_kvm.h"
        }
    }
}

static inline void trace_kvm_msi_route_fixup(const char* msg)
{
    if (true) {
        _nocheck__trace_kvm_msi_route_fixup(msg);
    }
}
#endif /* TRACE_TARGET_S390X_KVM_GENERATED_TRACERS_H */
