diff --git a/headers/private/kernel/debug.h b/headers/private/kernel/debug.h index c5d7a1228a..8018476358 100755 --- a/headers/private/kernel/debug.h +++ b/headers/private/kernel/debug.h @@ -12,14 +12,6 @@ struct kernel_args; -extern int dbg_register_file[SMP_MAX_CPUS][14]; - /* XXXmpetit -- must be made generic */ - -int dbg_init(struct kernel_args *ka); -int dbg_init2(struct kernel_args *ka); -char dbg_putch(char c); -void dbg_puts(const char *s); - #if DEBUG # define ASSERT(x) \ if (x) {} else { panic("ASSERT FAILED (%s:%d): %s\n", __FILE__, __LINE__, #x); } @@ -27,4 +19,22 @@ void dbg_puts(const char *s); # define ASSERT(x) #endif +extern int dbg_register_file[SMP_MAX_CPUS][14]; + /* XXXmpetit -- must be made generic */ + +#ifdef __cplusplus +extern "C" { +#endif + +extern int dbg_init(struct kernel_args *ka); +extern int dbg_init2(struct kernel_args *ka); +extern char dbg_putch(char c); +extern void dbg_puts(const char *s); + +extern void _user_debug_output(const char *userString); + +#ifdef __cplusplus +} +#endif + #endif /* _KERNEL_DEBUG_H */ diff --git a/headers/private/kernel/ksyscalls.h b/headers/private/kernel/ksyscalls.h index 325420feea..2fbffc9cde 100755 --- a/headers/private/kernel/ksyscalls.h +++ b/headers/private/kernel/ksyscalls.h @@ -148,6 +148,7 @@ enum { SYSCALL_ATOMIC_OR64, SYSCALL_ATOMIC_GET64, SYSCALL_SET_REAL_TIME_CLOCK, + SYSCALL_DEBUG_OUTPUT, }; int syscall_dispatcher(unsigned long call_num, void *arg_buffer, uint64 *call_ret); diff --git a/headers/private/kernel/syscalls.h b/headers/private/kernel/syscalls.h index 963d54d6e9..65e9c745cf 100644 --- a/headers/private/kernel/syscalls.h +++ b/headers/private/kernel/syscalls.h @@ -134,6 +134,8 @@ int sys_getenv(const char *, char **); /* region prototypes */ area_id sys_find_region_by_name(const char *); +void _kern_debug_output(const char *message); + /* This is a real BSD'ism :) Basically it returns the size of the * descriptor table for the current process as an integer. */ diff --git a/src/kernel/libroot/os/syscalls.S b/src/kernel/libroot/os/syscalls.S index f7f782280a..2298026f9e 100644 --- a/src/kernel/libroot/os/syscalls.S +++ b/src/kernel/libroot/os/syscalls.S @@ -164,6 +164,7 @@ SYSCALL6(sys_sysctl, 71) //SYSCALL3(sys_socket, 72) SYSCALL3(sys_setenv, 79) SYSCALL2(sys_getenv, 80) +SYSCALL1(_kern_debug_output, 139) /* atomic calls */ SYSCALL2(_kern_atomic_set, 126)