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

#ifndef TRACE_TARGET_ARM_HVF_GENERATED_TRACERS_H
#define TRACE_TARGET_ARM_HVF_GENERATED_TRACERS_H

#include "trace/control.h"

extern TraceEvent _TRACE_HVF_UNHANDLED_SYSREG_READ_EVENT;
extern TraceEvent _TRACE_HVF_UNHANDLED_SYSREG_WRITE_EVENT;
extern TraceEvent _TRACE_HVF_INJECT_FIQ_EVENT;
extern TraceEvent _TRACE_HVF_INJECT_IRQ_EVENT;
extern TraceEvent _TRACE_HVF_DATA_ABORT_EVENT;
extern TraceEvent _TRACE_HVF_SYSREG_READ_EVENT;
extern TraceEvent _TRACE_HVF_SYSREG_WRITE_EVENT;
extern TraceEvent _TRACE_HVF_UNKNOWN_HVC_EVENT;
extern TraceEvent _TRACE_HVF_UNKNOWN_SMC_EVENT;
extern TraceEvent _TRACE_HVF_EXIT_EVENT;
extern TraceEvent _TRACE_HVF_PSCI_CALL_EVENT;
extern TraceEvent _TRACE_HVF_VGIC_WRITE_EVENT;
extern TraceEvent _TRACE_HVF_VGIC_READ_EVENT;
extern uint16_t _TRACE_HVF_UNHANDLED_SYSREG_READ_DSTATE;
extern uint16_t _TRACE_HVF_UNHANDLED_SYSREG_WRITE_DSTATE;
extern uint16_t _TRACE_HVF_INJECT_FIQ_DSTATE;
extern uint16_t _TRACE_HVF_INJECT_IRQ_DSTATE;
extern uint16_t _TRACE_HVF_DATA_ABORT_DSTATE;
extern uint16_t _TRACE_HVF_SYSREG_READ_DSTATE;
extern uint16_t _TRACE_HVF_SYSREG_WRITE_DSTATE;
extern uint16_t _TRACE_HVF_UNKNOWN_HVC_DSTATE;
extern uint16_t _TRACE_HVF_UNKNOWN_SMC_DSTATE;
extern uint16_t _TRACE_HVF_EXIT_DSTATE;
extern uint16_t _TRACE_HVF_PSCI_CALL_DSTATE;
extern uint16_t _TRACE_HVF_VGIC_WRITE_DSTATE;
extern uint16_t _TRACE_HVF_VGIC_READ_DSTATE;
#define TRACE_HVF_UNHANDLED_SYSREG_READ_ENABLED 1
#define TRACE_HVF_UNHANDLED_SYSREG_WRITE_ENABLED 1
#define TRACE_HVF_INJECT_FIQ_ENABLED 1
#define TRACE_HVF_INJECT_IRQ_ENABLED 1
#define TRACE_HVF_DATA_ABORT_ENABLED 1
#define TRACE_HVF_SYSREG_READ_ENABLED 1
#define TRACE_HVF_SYSREG_WRITE_ENABLED 1
#define TRACE_HVF_UNKNOWN_HVC_ENABLED 1
#define TRACE_HVF_UNKNOWN_SMC_ENABLED 1
#define TRACE_HVF_EXIT_ENABLED 1
#define TRACE_HVF_PSCI_CALL_ENABLED 1
#define TRACE_HVF_VGIC_WRITE_ENABLED 1
#define TRACE_HVF_VGIC_READ_ENABLED 1
#include "qemu/log-for-trace.h"
#include "qemu/error-report.h"


#define TRACE_HVF_UNHANDLED_SYSREG_READ_BACKEND_DSTATE() ( \
    trace_event_get_state_dynamic_by_id(TRACE_HVF_UNHANDLED_SYSREG_READ) || \
    false)

static inline void _nocheck__trace_hvf_unhandled_sysreg_read(uint64_t pc, uint32_t reg, uint32_t op0, uint32_t op1, uint32_t crn, uint32_t crm, uint32_t op2)
{
    if (trace_event_get_state(TRACE_HVF_UNHANDLED_SYSREG_READ) && qemu_loglevel_mask(LOG_TRACE)) {
        if (message_with_timestamp) {
            struct timeval _now;
            gettimeofday(&_now, NULL);
#line 1 "../target/arm/hvf/trace-events"
            qemu_log("%d@%zu.%06zu:hvf_unhandled_sysreg_read " "unhandled sysreg read at pc=0x%"PRIx64": 0x%08x (op0=%d op1=%d crn=%d crm=%d op2=%d)" "\n",
                     qemu_get_thread_id(),
                     (size_t)_now.tv_sec, (size_t)_now.tv_usec
                     , pc, reg, op0, op1, crn, crm, op2);
#line 67 "trace/trace-target_arm_hvf.h"
        } else {
#line 1 "../target/arm/hvf/trace-events"
            qemu_log("hvf_unhandled_sysreg_read " "unhandled sysreg read at pc=0x%"PRIx64": 0x%08x (op0=%d op1=%d crn=%d crm=%d op2=%d)" "\n", pc, reg, op0, op1, crn, crm, op2);
#line 71 "trace/trace-target_arm_hvf.h"
        }
    }
}

static inline void trace_hvf_unhandled_sysreg_read(uint64_t pc, uint32_t reg, uint32_t op0, uint32_t op1, uint32_t crn, uint32_t crm, uint32_t op2)
{
    if (true) {
        _nocheck__trace_hvf_unhandled_sysreg_read(pc, reg, op0, op1, crn, crm, op2);
    }
}

#define TRACE_HVF_UNHANDLED_SYSREG_WRITE_BACKEND_DSTATE() ( \
    trace_event_get_state_dynamic_by_id(TRACE_HVF_UNHANDLED_SYSREG_WRITE) || \
    false)

static inline void _nocheck__trace_hvf_unhandled_sysreg_write(uint64_t pc, uint32_t reg, uint32_t op0, uint32_t op1, uint32_t crn, uint32_t crm, uint32_t op2)
{
    if (trace_event_get_state(TRACE_HVF_UNHANDLED_SYSREG_WRITE) && qemu_loglevel_mask(LOG_TRACE)) {
        if (message_with_timestamp) {
            struct timeval _now;
            gettimeofday(&_now, NULL);
#line 2 "../target/arm/hvf/trace-events"
            qemu_log("%d@%zu.%06zu:hvf_unhandled_sysreg_write " "unhandled sysreg write at pc=0x%"PRIx64": 0x%08x (op0=%d op1=%d crn=%d crm=%d op2=%d)" "\n",
                     qemu_get_thread_id(),
                     (size_t)_now.tv_sec, (size_t)_now.tv_usec
                     , pc, reg, op0, op1, crn, crm, op2);
#line 98 "trace/trace-target_arm_hvf.h"
        } else {
#line 2 "../target/arm/hvf/trace-events"
            qemu_log("hvf_unhandled_sysreg_write " "unhandled sysreg write at pc=0x%"PRIx64": 0x%08x (op0=%d op1=%d crn=%d crm=%d op2=%d)" "\n", pc, reg, op0, op1, crn, crm, op2);
#line 102 "trace/trace-target_arm_hvf.h"
        }
    }
}

static inline void trace_hvf_unhandled_sysreg_write(uint64_t pc, uint32_t reg, uint32_t op0, uint32_t op1, uint32_t crn, uint32_t crm, uint32_t op2)
{
    if (true) {
        _nocheck__trace_hvf_unhandled_sysreg_write(pc, reg, op0, op1, crn, crm, op2);
    }
}

#define TRACE_HVF_INJECT_FIQ_BACKEND_DSTATE() ( \
    trace_event_get_state_dynamic_by_id(TRACE_HVF_INJECT_FIQ) || \
    false)

static inline void _nocheck__trace_hvf_inject_fiq(void)
{
    if (trace_event_get_state(TRACE_HVF_INJECT_FIQ) && qemu_loglevel_mask(LOG_TRACE)) {
        if (message_with_timestamp) {
            struct timeval _now;
            gettimeofday(&_now, NULL);
#line 3 "../target/arm/hvf/trace-events"
            qemu_log("%d@%zu.%06zu:hvf_inject_fiq " "injecting FIQ" "\n",
                     qemu_get_thread_id(),
                     (size_t)_now.tv_sec, (size_t)_now.tv_usec
                     );
#line 129 "trace/trace-target_arm_hvf.h"
        } else {
#line 3 "../target/arm/hvf/trace-events"
            qemu_log("hvf_inject_fiq " "injecting FIQ" "\n");
#line 133 "trace/trace-target_arm_hvf.h"
        }
    }
}

static inline void trace_hvf_inject_fiq(void)
{
    if (true) {
        _nocheck__trace_hvf_inject_fiq();
    }
}

#define TRACE_HVF_INJECT_IRQ_BACKEND_DSTATE() ( \
    trace_event_get_state_dynamic_by_id(TRACE_HVF_INJECT_IRQ) || \
    false)

static inline void _nocheck__trace_hvf_inject_irq(void)
{
    if (trace_event_get_state(TRACE_HVF_INJECT_IRQ) && qemu_loglevel_mask(LOG_TRACE)) {
        if (message_with_timestamp) {
            struct timeval _now;
            gettimeofday(&_now, NULL);
#line 4 "../target/arm/hvf/trace-events"
            qemu_log("%d@%zu.%06zu:hvf_inject_irq " "injecting IRQ" "\n",
                     qemu_get_thread_id(),
                     (size_t)_now.tv_sec, (size_t)_now.tv_usec
                     );
#line 160 "trace/trace-target_arm_hvf.h"
        } else {
#line 4 "../target/arm/hvf/trace-events"
            qemu_log("hvf_inject_irq " "injecting IRQ" "\n");
#line 164 "trace/trace-target_arm_hvf.h"
        }
    }
}

static inline void trace_hvf_inject_irq(void)
{
    if (true) {
        _nocheck__trace_hvf_inject_irq();
    }
}

#define TRACE_HVF_DATA_ABORT_BACKEND_DSTATE() ( \
    trace_event_get_state_dynamic_by_id(TRACE_HVF_DATA_ABORT) || \
    false)

static inline void _nocheck__trace_hvf_data_abort(uint64_t pc, uint64_t va, uint64_t pa, bool isv, bool iswrite, bool s1ptw, uint32_t len, uint32_t srt)
{
    if (trace_event_get_state(TRACE_HVF_DATA_ABORT) && qemu_loglevel_mask(LOG_TRACE)) {
        if (message_with_timestamp) {
            struct timeval _now;
            gettimeofday(&_now, NULL);
#line 5 "../target/arm/hvf/trace-events"
            qemu_log("%d@%zu.%06zu:hvf_data_abort " "data abort: [pc=0x%"PRIx64" va=0x%016"PRIx64" pa=0x%016"PRIx64" isv=%d iswrite=%d s1ptw=%d len=%d srt=%d]" "\n",
                     qemu_get_thread_id(),
                     (size_t)_now.tv_sec, (size_t)_now.tv_usec
                     , pc, va, pa, isv, iswrite, s1ptw, len, srt);
#line 191 "trace/trace-target_arm_hvf.h"
        } else {
#line 5 "../target/arm/hvf/trace-events"
            qemu_log("hvf_data_abort " "data abort: [pc=0x%"PRIx64" va=0x%016"PRIx64" pa=0x%016"PRIx64" isv=%d iswrite=%d s1ptw=%d len=%d srt=%d]" "\n", pc, va, pa, isv, iswrite, s1ptw, len, srt);
#line 195 "trace/trace-target_arm_hvf.h"
        }
    }
}

static inline void trace_hvf_data_abort(uint64_t pc, uint64_t va, uint64_t pa, bool isv, bool iswrite, bool s1ptw, uint32_t len, uint32_t srt)
{
    if (true) {
        _nocheck__trace_hvf_data_abort(pc, va, pa, isv, iswrite, s1ptw, len, srt);
    }
}

#define TRACE_HVF_SYSREG_READ_BACKEND_DSTATE() ( \
    trace_event_get_state_dynamic_by_id(TRACE_HVF_SYSREG_READ) || \
    false)

static inline void _nocheck__trace_hvf_sysreg_read(uint32_t reg, uint32_t op0, uint32_t op1, uint32_t crn, uint32_t crm, uint32_t op2, uint64_t val)
{
    if (trace_event_get_state(TRACE_HVF_SYSREG_READ) && qemu_loglevel_mask(LOG_TRACE)) {
        if (message_with_timestamp) {
            struct timeval _now;
            gettimeofday(&_now, NULL);
#line 6 "../target/arm/hvf/trace-events"
            qemu_log("%d@%zu.%06zu:hvf_sysreg_read " "sysreg read 0x%08x (op0=%d op1=%d crn=%d crm=%d op2=%d) = 0x%016"PRIx64 "\n",
                     qemu_get_thread_id(),
                     (size_t)_now.tv_sec, (size_t)_now.tv_usec
                     , reg, op0, op1, crn, crm, op2, val);
#line 222 "trace/trace-target_arm_hvf.h"
        } else {
#line 6 "../target/arm/hvf/trace-events"
            qemu_log("hvf_sysreg_read " "sysreg read 0x%08x (op0=%d op1=%d crn=%d crm=%d op2=%d) = 0x%016"PRIx64 "\n", reg, op0, op1, crn, crm, op2, val);
#line 226 "trace/trace-target_arm_hvf.h"
        }
    }
}

static inline void trace_hvf_sysreg_read(uint32_t reg, uint32_t op0, uint32_t op1, uint32_t crn, uint32_t crm, uint32_t op2, uint64_t val)
{
    if (true) {
        _nocheck__trace_hvf_sysreg_read(reg, op0, op1, crn, crm, op2, val);
    }
}

#define TRACE_HVF_SYSREG_WRITE_BACKEND_DSTATE() ( \
    trace_event_get_state_dynamic_by_id(TRACE_HVF_SYSREG_WRITE) || \
    false)

static inline void _nocheck__trace_hvf_sysreg_write(uint32_t reg, uint32_t op0, uint32_t op1, uint32_t crn, uint32_t crm, uint32_t op2, uint64_t val)
{
    if (trace_event_get_state(TRACE_HVF_SYSREG_WRITE) && qemu_loglevel_mask(LOG_TRACE)) {
        if (message_with_timestamp) {
            struct timeval _now;
            gettimeofday(&_now, NULL);
#line 7 "../target/arm/hvf/trace-events"
            qemu_log("%d@%zu.%06zu:hvf_sysreg_write " "sysreg write 0x%08x (op0=%d op1=%d crn=%d crm=%d op2=%d, val=0x%016"PRIx64")" "\n",
                     qemu_get_thread_id(),
                     (size_t)_now.tv_sec, (size_t)_now.tv_usec
                     , reg, op0, op1, crn, crm, op2, val);
#line 253 "trace/trace-target_arm_hvf.h"
        } else {
#line 7 "../target/arm/hvf/trace-events"
            qemu_log("hvf_sysreg_write " "sysreg write 0x%08x (op0=%d op1=%d crn=%d crm=%d op2=%d, val=0x%016"PRIx64")" "\n", reg, op0, op1, crn, crm, op2, val);
#line 257 "trace/trace-target_arm_hvf.h"
        }
    }
}

static inline void trace_hvf_sysreg_write(uint32_t reg, uint32_t op0, uint32_t op1, uint32_t crn, uint32_t crm, uint32_t op2, uint64_t val)
{
    if (true) {
        _nocheck__trace_hvf_sysreg_write(reg, op0, op1, crn, crm, op2, val);
    }
}

#define TRACE_HVF_UNKNOWN_HVC_BACKEND_DSTATE() ( \
    trace_event_get_state_dynamic_by_id(TRACE_HVF_UNKNOWN_HVC) || \
    false)

static inline void _nocheck__trace_hvf_unknown_hvc(uint64_t x0)
{
    if (trace_event_get_state(TRACE_HVF_UNKNOWN_HVC) && qemu_loglevel_mask(LOG_TRACE)) {
        if (message_with_timestamp) {
            struct timeval _now;
            gettimeofday(&_now, NULL);
#line 8 "../target/arm/hvf/trace-events"
            qemu_log("%d@%zu.%06zu:hvf_unknown_hvc " "unknown HVC! 0x%016"PRIx64 "\n",
                     qemu_get_thread_id(),
                     (size_t)_now.tv_sec, (size_t)_now.tv_usec
                     , x0);
#line 284 "trace/trace-target_arm_hvf.h"
        } else {
#line 8 "../target/arm/hvf/trace-events"
            qemu_log("hvf_unknown_hvc " "unknown HVC! 0x%016"PRIx64 "\n", x0);
#line 288 "trace/trace-target_arm_hvf.h"
        }
    }
}

static inline void trace_hvf_unknown_hvc(uint64_t x0)
{
    if (true) {
        _nocheck__trace_hvf_unknown_hvc(x0);
    }
}

#define TRACE_HVF_UNKNOWN_SMC_BACKEND_DSTATE() ( \
    trace_event_get_state_dynamic_by_id(TRACE_HVF_UNKNOWN_SMC) || \
    false)

static inline void _nocheck__trace_hvf_unknown_smc(uint64_t x0)
{
    if (trace_event_get_state(TRACE_HVF_UNKNOWN_SMC) && qemu_loglevel_mask(LOG_TRACE)) {
        if (message_with_timestamp) {
            struct timeval _now;
            gettimeofday(&_now, NULL);
#line 9 "../target/arm/hvf/trace-events"
            qemu_log("%d@%zu.%06zu:hvf_unknown_smc " "unknown SMC! 0x%016"PRIx64 "\n",
                     qemu_get_thread_id(),
                     (size_t)_now.tv_sec, (size_t)_now.tv_usec
                     , x0);
#line 315 "trace/trace-target_arm_hvf.h"
        } else {
#line 9 "../target/arm/hvf/trace-events"
            qemu_log("hvf_unknown_smc " "unknown SMC! 0x%016"PRIx64 "\n", x0);
#line 319 "trace/trace-target_arm_hvf.h"
        }
    }
}

static inline void trace_hvf_unknown_smc(uint64_t x0)
{
    if (true) {
        _nocheck__trace_hvf_unknown_smc(x0);
    }
}

#define TRACE_HVF_EXIT_BACKEND_DSTATE() ( \
    trace_event_get_state_dynamic_by_id(TRACE_HVF_EXIT) || \
    false)

static inline void _nocheck__trace_hvf_exit(uint64_t syndrome, uint32_t ec, uint64_t pc)
{
    if (trace_event_get_state(TRACE_HVF_EXIT) && qemu_loglevel_mask(LOG_TRACE)) {
        if (message_with_timestamp) {
            struct timeval _now;
            gettimeofday(&_now, NULL);
#line 10 "../target/arm/hvf/trace-events"
            qemu_log("%d@%zu.%06zu:hvf_exit " "exit: 0x%"PRIx64" [ec=0x%x pc=0x%"PRIx64"]" "\n",
                     qemu_get_thread_id(),
                     (size_t)_now.tv_sec, (size_t)_now.tv_usec
                     , syndrome, ec, pc);
#line 346 "trace/trace-target_arm_hvf.h"
        } else {
#line 10 "../target/arm/hvf/trace-events"
            qemu_log("hvf_exit " "exit: 0x%"PRIx64" [ec=0x%x pc=0x%"PRIx64"]" "\n", syndrome, ec, pc);
#line 350 "trace/trace-target_arm_hvf.h"
        }
    }
}

static inline void trace_hvf_exit(uint64_t syndrome, uint32_t ec, uint64_t pc)
{
    if (true) {
        _nocheck__trace_hvf_exit(syndrome, ec, pc);
    }
}

#define TRACE_HVF_PSCI_CALL_BACKEND_DSTATE() ( \
    trace_event_get_state_dynamic_by_id(TRACE_HVF_PSCI_CALL) || \
    false)

static inline void _nocheck__trace_hvf_psci_call(uint64_t x0, uint64_t x1, uint64_t x2, uint64_t x3, uint32_t cpuid)
{
    if (trace_event_get_state(TRACE_HVF_PSCI_CALL) && qemu_loglevel_mask(LOG_TRACE)) {
        if (message_with_timestamp) {
            struct timeval _now;
            gettimeofday(&_now, NULL);
#line 11 "../target/arm/hvf/trace-events"
            qemu_log("%d@%zu.%06zu:hvf_psci_call " "PSCI Call x0=0x%016"PRIx64" x1=0x%016"PRIx64" x2=0x%016"PRIx64" x3=0x%016"PRIx64" cpu=0x%x" "\n",
                     qemu_get_thread_id(),
                     (size_t)_now.tv_sec, (size_t)_now.tv_usec
                     , x0, x1, x2, x3, cpuid);
#line 377 "trace/trace-target_arm_hvf.h"
        } else {
#line 11 "../target/arm/hvf/trace-events"
            qemu_log("hvf_psci_call " "PSCI Call x0=0x%016"PRIx64" x1=0x%016"PRIx64" x2=0x%016"PRIx64" x3=0x%016"PRIx64" cpu=0x%x" "\n", x0, x1, x2, x3, cpuid);
#line 381 "trace/trace-target_arm_hvf.h"
        }
    }
}

static inline void trace_hvf_psci_call(uint64_t x0, uint64_t x1, uint64_t x2, uint64_t x3, uint32_t cpuid)
{
    if (true) {
        _nocheck__trace_hvf_psci_call(x0, x1, x2, x3, cpuid);
    }
}

#define TRACE_HVF_VGIC_WRITE_BACKEND_DSTATE() ( \
    trace_event_get_state_dynamic_by_id(TRACE_HVF_VGIC_WRITE) || \
    false)

static inline void _nocheck__trace_hvf_vgic_write(const char * name, uint64_t val)
{
    if (trace_event_get_state(TRACE_HVF_VGIC_WRITE) && qemu_loglevel_mask(LOG_TRACE)) {
        if (message_with_timestamp) {
            struct timeval _now;
            gettimeofday(&_now, NULL);
#line 12 "../target/arm/hvf/trace-events"
            qemu_log("%d@%zu.%06zu:hvf_vgic_write " "vgic write to %s [val=0x%016"PRIx64"]" "\n",
                     qemu_get_thread_id(),
                     (size_t)_now.tv_sec, (size_t)_now.tv_usec
                     , name, val);
#line 408 "trace/trace-target_arm_hvf.h"
        } else {
#line 12 "../target/arm/hvf/trace-events"
            qemu_log("hvf_vgic_write " "vgic write to %s [val=0x%016"PRIx64"]" "\n", name, val);
#line 412 "trace/trace-target_arm_hvf.h"
        }
    }
}

static inline void trace_hvf_vgic_write(const char * name, uint64_t val)
{
    if (true) {
        _nocheck__trace_hvf_vgic_write(name, val);
    }
}

#define TRACE_HVF_VGIC_READ_BACKEND_DSTATE() ( \
    trace_event_get_state_dynamic_by_id(TRACE_HVF_VGIC_READ) || \
    false)

static inline void _nocheck__trace_hvf_vgic_read(const char * name, uint64_t val)
{
    if (trace_event_get_state(TRACE_HVF_VGIC_READ) && qemu_loglevel_mask(LOG_TRACE)) {
        if (message_with_timestamp) {
            struct timeval _now;
            gettimeofday(&_now, NULL);
#line 13 "../target/arm/hvf/trace-events"
            qemu_log("%d@%zu.%06zu:hvf_vgic_read " "vgic read from %s [val=0x%016"PRIx64"]" "\n",
                     qemu_get_thread_id(),
                     (size_t)_now.tv_sec, (size_t)_now.tv_usec
                     , name, val);
#line 439 "trace/trace-target_arm_hvf.h"
        } else {
#line 13 "../target/arm/hvf/trace-events"
            qemu_log("hvf_vgic_read " "vgic read from %s [val=0x%016"PRIx64"]" "\n", name, val);
#line 443 "trace/trace-target_arm_hvf.h"
        }
    }
}

static inline void trace_hvf_vgic_read(const char * name, uint64_t val)
{
    if (true) {
        _nocheck__trace_hvf_vgic_read(name, val);
    }
}
#endif /* TRACE_TARGET_ARM_HVF_GENERATED_TRACERS_H */
