From 9289abf0e4582ef95a10c2de36b3db664fc3365c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Thu, 13 Nov 2003 22:07:36 +0000 Subject: [PATCH] Added _kern_debug_output() syscall. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5353 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/private/kernel/debug.h | 26 ++++++++++++++++++-------- headers/private/kernel/ksyscalls.h | 1 + headers/private/kernel/syscalls.h | 2 ++ src/kernel/libroot/os/syscalls.S | 1 + 4 files changed, 22 insertions(+), 8 deletions(-) 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)