#ifndef __PLATFORM_DEBUG_H
#define __PLATFORM_DEBUG_H

#include <sys/types.h>
#include <stdarg.h>
#include <compiler.h>

#if defined(__cplusplus)
extern "C" {
#endif

int dputs(const char *str);
int dprintf(const char *fmt, ...) __PRINTFLIKE(1, 2);
int dvprintf(const char *fmt, va_list ap);
void debug_dump_regs(void);
uint32_t debug_cycle_count(void);

void debug_dump_memory_bytes(void *mem, int len);
void debug_dump_memory_halfwords(void *mem, int len);
void debug_dump_memory_words(void *mem, int len);

void debug_set_trace_level(int trace_type, int level);

void debug_halt(void) __NO_RETURN;

#if defined(__cplusplus)
}
#endif


#endif

