37 lines
956 B
C
37 lines
956 B
C
#pragma once
|
|
#include <string.h>
|
|
#include <int.h>
|
|
#include <sync.h>
|
|
|
|
#ifndef NDEBUG
|
|
#define debug(...) ({spin_lock(&debug_lock);debug_printf(__VA_ARGS__);spin_unlock(&debug_lock);})
|
|
#else
|
|
#define debug(...) ((void)0)
|
|
#endif
|
|
#define debug_info(...) do{debug("[INFO] ");debug(__VA_ARGS__);}while(0)
|
|
#define debug_ok(...) do{debug("[OK] ");debug(__VA_ARGS__);}while(0)
|
|
#define debug_warning(...) do{debug("[WARNING] ");debug(__VA_ARGS__);}while(0)
|
|
#define debug_error(...) do{debug("[ERROR] ");debug(__VA_ARGS__);}while(0)
|
|
|
|
extern lock_t debug_lock;
|
|
|
|
void debug_init();
|
|
void debug_putch(char c);
|
|
void debug_putsn(char *s, size_t n);
|
|
void debug_puts(char *s);
|
|
void debug_printf(char *, ...);
|
|
|
|
char *_kernel_build_date;
|
|
char *_kernel_build_time;
|
|
|
|
char *_kernel_git_hash;
|
|
char *_kernel_git_date;
|
|
int kernel_git_dirty;
|
|
char *_kernel_git_message;
|
|
char *_kernel_git_branch;
|
|
|
|
void debug_build_time();
|
|
void debug_git_info();
|
|
|
|
void print_registers(registers_t *);
|