return inb(GDB_SERIAL_PORT);
}
-static void E9(char ch)
+static void Debug_Putchar(char ch)
{
if(giDebug_KTerm != -1)
VFS_Write(giDebug_KTerm, 1, &ch);
#endif
}
-static void E9_Str(char *Str)
+static void Debug_Puts(char *Str)
{
- while(*Str) E9(*Str++);
+ while(*Str) Debug_Putchar(*Str++);
}
-void E9_Fmt(const char *format, va_list *args)
+void Debug_Fmt(const char *format, va_list *args)
{
char c, pad = ' ';
int minSize = 0;
{
// Non control character
if( c != '%' ) {
- E9(c);
+ Debug_Putchar(c);
continue;
}
// Literal %
if(c == '%') {
- E9('%');
+ Debug_Putchar('%');
continue;
}
// Pointer
if(c == 'p') {
Uint ptr = va_arg(*args, Uint);
- E9('*'); E9('0'); E9('x');
+ Debug_Putchar('*'); Debug_Putchar('0'); Debug_Putchar('x');
p = tmpBuf;
itoa(p, ptr, 16, BITS/4, '0');
goto printString;
case 'd':
case 'i':
if( (isLongLong && arg >> 63) || (!isLongLong && arg >> 31) ) {
- E9('-');
+ Debug_Putchar('-');
arg = -arg;
}
itoa(p, arg, 10, minSize, pad);
goto printString;
case 'B': //Boolean
- if(arg) E9_Str("True");
- else E9_Str("False");
+ if(arg) Debug_Puts("True");
+ else Debug_Puts("False");
break;
case 's':
p = (char*)(Uint)arg;
printString:
if(!p) p = "(null)";
- while(*p) E9(*p++);
+ while(*p) Debug_Putchar(*p++);
break;
// Single Character / Array
case 'c':
if(minSize == 1) {
- E9(arg);
+ Debug_Putchar(arg);
break;
}
p = (char*)(Uint)arg;
if(!p) goto printString;
- while(minSize--) E9(*p++);
+ while(minSize--) Debug_Putchar(*p++);
break;
- default: E9(arg); break;
+ default:
+ Debug_Putchar(arg);
+ break;
}
}
}
-/**
- * \fn void LogV(char *Fmt, va_list Args)
- */
-void LogV(char *Fmt, va_list Args)
-{
- E9_Str("Log: ");
- E9_Fmt(Fmt, &Args);
- E9('\n');
-}
/**
* \fn void LogF(char *Msg, ...)
*/
va_start(args, Fmt);
- E9_Fmt(Fmt, &args);
+ Debug_Fmt(Fmt, &args);
va_end(args);
}
{
va_list args;
- E9_Str("Log: ");
+ Debug_Puts("Log: ");
va_start(args, Fmt);
- E9_Fmt(Fmt, &args);
+ Debug_Fmt(Fmt, &args);
va_end(args);
- E9('\n');
+ Debug_Putchar('\n');
}
void Warning(char *Fmt, ...)
{
va_list args;
- E9_Str("Warning: ");
+ Debug_Puts("Warning: ");
va_start(args, Fmt);
- E9_Fmt(Fmt, &args);
+ Debug_Fmt(Fmt, &args);
va_end(args);
- E9('\n');
+ Debug_Putchar('\n');
}
void Panic(char *Fmt, ...)
{
va_list args;
- E9_Str("Panic: ");
+ Debug_Puts("Panic: ");
va_start(args, Fmt);
- E9_Fmt(Fmt, &args);
+ Debug_Fmt(Fmt, &args);
va_end(args);
- E9('\n');
+ Debug_Putchar('\n');
Threads_Dump();
va_start(args, ArgTypes);
- while(i--) E9(' ');
+ while(i--) Debug_Putchar(' ');
- E9_Str(FuncName); E9_Str(": (");
+ Debug_Puts(FuncName); Debug_Puts(": (");
while(*ArgTypes)
{
pos = strpos(ArgTypes, ' ');
if(pos != -1) ArgTypes[pos] = '\0';
if(pos == -1 || pos > 1) {
- E9_Str(ArgTypes+1);
- E9('=');
+ Debug_Puts(ArgTypes+1);
+ Debug_Putchar('=');
}
if(pos != -1) ArgTypes[pos] = ' ';
switch(*ArgTypes)
{
- case 'p': E9_Fmt("%p", &args); break;
- case 's': E9_Fmt("'%s'", &args); break;
- case 'i': E9_Fmt("%i", &args); break;
- case 'u': E9_Fmt("%u", &args); break;
- case 'x': E9_Fmt("0x%x", &args); break;
- case 'b': E9_Fmt("0b%b", &args); break;
+ case 'p': Debug_Fmt("%p", &args); break;
+ case 's': Debug_Fmt("'%s'", &args); break;
+ case 'i': Debug_Fmt("%i", &args); break;
+ case 'u': Debug_Fmt("%u", &args); break;
+ case 'x': Debug_Fmt("0x%x", &args); break;
+ case 'b': Debug_Fmt("0b%b", &args); break;
// Extended (64-Bit)
- case 'X': E9_Fmt("0x%llx", &args); break;
- case 'B': E9_Fmt("0b%llb", &args); break;
+ case 'X': Debug_Fmt("0x%llx", &args); break;
+ case 'B': Debug_Fmt("0b%llb", &args); break;
}
if(pos != -1) {
- E9(','); E9(' ');
+ Debug_Putchar(','); Debug_Putchar(' ');
}
if(pos == -1) break;
}
va_end(args);
- E9(')'); E9('\n');
+ Debug_Putchar(')'); Debug_Putchar('\n');
}
void Debug_Log(char *FuncName, char *Fmt, ...)
va_start(args, Fmt);
- while(i--) E9(' ');
+ while(i--) Debug_Putchar(' ');
- E9_Str(FuncName); E9_Str(": ");
- E9_Fmt(Fmt, &args);
+ Debug_Puts(FuncName); Debug_Puts(": ");
+ Debug_Fmt(Fmt, &args);
va_end(args);
- E9('\n');
+ Debug_Putchar('\n');
}
void Debug_Leave(char *FuncName, char RetType, ...)
i = 0;
}
// Indenting
- while(i--) E9(' ');
+ while(i--) Debug_Putchar(' ');
- E9_Str(FuncName); E9_Str(": RETURN");
+ Debug_Puts(FuncName); Debug_Puts(": RETURN");
// No Return
if(RetType == '-') {
- E9('\n');
+ Debug_Putchar('\n');
return;
}
- E9(' ');
+ Debug_Putchar(' ');
switch(RetType)
{
- case 'n': E9_Str("NULL"); break;
- case 'p': E9_Fmt("%p", &args); break;
- case 's': E9_Fmt("'%s'", &args); break;
- case 'i': E9_Fmt("%i", &args); break;
- case 'u': E9_Fmt("%u", &args); break;
- case 'x': E9_Fmt("0x%x", &args); break;
+ case 'n': Debug_Puts("NULL"); break;
+ case 'p': Debug_Fmt("%p", &args); break;
+ case 's': Debug_Fmt("'%s'", &args); break;
+ case 'i': Debug_Fmt("%i", &args); break;
+ case 'u': Debug_Fmt("%u", &args); break;
+ case 'x': Debug_Fmt("0x%x", &args); break;
// Extended (64-Bit)
- case 'X': E9_Fmt("0x%llx", &args); break;
+ case 'X': Debug_Fmt("0x%llx", &args); break;
}
- E9('\n');
+ Debug_Putchar('\n');
va_end(args);
}
{
Uint8 *cdat = Data;
Uint pos = 0;
- E9_Str(Header);
+ Debug_Puts(Header);
LogF(" (Hexdump of %p)\n", Data);
while(Length >= 16)
Length--;
cdat ++;
}
- E9('\n');
+ Debug_Putchar('\n');
}
// --- EXPORTS ---