Changes in / [0fa34dd:3e6a98c5] in mainline


Ignore:
Files:
4 added
1 deleted
11 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/amd64/Makefile.inc

    r0fa34dd r3e6a98c5  
    7676        arch/$(KARCH)/src/proc/thread.c \
    7777        arch/$(KARCH)/src/userspace.c \
    78         arch/$(KARCH)/src/syscall.c
     78        arch/$(KARCH)/src/syscall.c \
     79        arch/$(KARCH)/src/debugger.c
    7980
    8081ifeq ($(CONFIG_SMP),y)
  • kernel/arch/amd64/src/amd64.c

    r0fa34dd r3e6a98c5  
    4343#include <arch/bios/bios.h>
    4444#include <arch/boot/boot.h>
     45#include <arch/debugger.h>
    4546#include <arch/drivers/i8254.h>
    4647#include <arch/drivers/i8259.h>
     
    160161#endif
    161162               
     163                /* Enable debugger */
     164                debugger_init();
    162165                /* Merge all memory zones to 1 big zone */
    163166                zone_merge_all();
  • kernel/arch/ia32/Makefile.inc

    r0fa34dd r3e6a98c5  
    105105        arch/$(KARCH)/src/boot/memmap.c \
    106106        arch/$(KARCH)/src/fpu_context.c \
     107        arch/$(KARCH)/src/debugger.c \
    107108        arch/$(KARCH)/src/syscall.c
  • kernel/arch/ia32/src/ia32.c

    r0fa34dd r3e6a98c5  
    4545#include <arch/bios/bios.h>
    4646#include <arch/boot/boot.h>
     47#include <arch/debugger.h>
    4748#include <arch/drivers/i8254.h>
    4849#include <arch/drivers/i8259.h>
     
    117118#endif
    118119               
     120                /* Enable debugger */
     121                debugger_init();
    119122                /* Merge all memory zones to 1 big zone */
    120123                zone_merge_all();
  • kernel/generic/include/console/console.h

    r0fa34dd r3e6a98c5  
    6767extern wchar_t getc(indev_t *indev);
    6868extern size_t gets(indev_t *indev, char *buf, size_t buflen);
    69 extern sysarg_t sys_klog(int cmd, const void *buf, size_t size);
     69extern sysarg_t sys_klog(int fd, const void *buf, size_t size);
    7070
    7171extern void grab_console(void);
  • kernel/generic/src/console/console.c

    r0fa34dd r3e6a98c5  
    5252#include <errno.h>
    5353#include <str.h>
    54 #include <abi/klog.h>
    5554
    5655#define KLOG_PAGES    8
     
    336335 *
    337336 */
    338 sysarg_t sys_klog(int cmd, const void *buf, size_t size)
     337sysarg_t sys_klog(int fd, const void *buf, size_t size)
    339338{
    340339        char *data;
    341340        int rc;
    342 
    343         switch (cmd) {
    344         case KLOG_UPDATE:
    345                 klog_update(NULL);
    346                 return EOK;
    347         case KLOG_WRITE:
    348         case KLOG_COMMAND:
    349                 break;
    350         default:
    351                 return ENOTSUP;
    352         }
    353 
     341       
    354342        if (size > PAGE_SIZE)
    355343                return (sysarg_t) ELIMIT;
     
    367355                data[size] = 0;
    368356               
    369                 switch (cmd) {
    370                 case KLOG_WRITE:
    371                         printf("%s", data);
    372                         break;
    373                 case KLOG_COMMAND:
    374                         for (unsigned int i = 0; i < size; i++)
    375                                 indev_push_character(stdin, data[i]);
    376                         indev_push_character(stdin, '\n');
    377                         break;
    378                 }
    379 
     357                printf("%s", data);
    380358                free(data);
    381         }
    382 
     359        } else
     360                klog_update(NULL);
     361       
    383362        return size;
    384363}
  • uspace/app/klog/Makefile

    r0fa34dd r3e6a98c5  
    2929
    3030USPACE_PREFIX = ../..
    31 LIBS = $(LIBCLUI_PREFIX)/libclui.a
    32 EXTRA_CFLAGS = -I$(LIBCLUI_PREFIX)
    3331BINARY = klog
    3432
  • uspace/app/klog/klog.c

    r0fa34dd r3e6a98c5  
    4848#include <adt/list.h>
    4949#include <adt/prodcons.h>
    50 #include <tinput.h>
    5150
    5251#define NAME       "klog"
     
    229228        }
    230229       
    231         tinput_t *input = tinput_new();
    232         if (!input) {
    233                 fprintf(stderr, "%s: Could not create input\n", NAME);
    234                 return ENOMEM;
    235         }       
    236 
    237230        fibril_add_ready(fid);
    238231        event_unmask(EVENT_KLOG);
    239232        klog_update();
    240233       
    241         tinput_set_prompt(input, "klog> ");
    242 
    243         char *str;
    244         while ((rc = tinput_read(input, &str)) == EOK) {
    245                 if (str_cmp(str, "") == 0) {
    246                         free(str);
    247                         continue;
    248                 }
    249 
    250                 klog_command(str, str_size(str));
    251                 free(str);
    252         }
    253  
    254         if (rc == ENOENT)
    255                 rc = EOK;       
    256 
    257         return EOK;
     234        task_retval(0);
     235        async_manager();
     236       
     237        return 0;
    258238}
    259239
  • uspace/lib/c/generic/io/klog.c

    r0fa34dd r3e6a98c5  
    3939#include <unistd.h>
    4040#include <errno.h>
    41 #include <abi/klog.h>
    4241#include <io/klog.h>
    4342#include <io/printf_core.h>
     
    4544size_t klog_write(const void *buf, size_t size)
    4645{
    47         ssize_t ret = (ssize_t) __SYSCALL3(SYS_KLOG, KLOG_WRITE, (sysarg_t) buf, size);
     46        ssize_t ret = (ssize_t) __SYSCALL3(SYS_KLOG, 1, (sysarg_t) buf, size);
    4847       
    4948        if (ret >= 0)
     
    5554void klog_update(void)
    5655{
    57         (void) __SYSCALL3(SYS_KLOG, KLOG_UPDATE, (uintptr_t) NULL, 0);
    58 }
    59 
    60 void klog_command(const void *buf, size_t size)
    61 {
    62         (void) __SYSCALL3(SYS_KLOG, KLOG_COMMAND, (sysarg_t) buf, (sysarg_t) size);
     56        (void) __SYSCALL3(SYS_KLOG, 1, (uintptr_t) NULL, 0);
    6357}
    6458
  • uspace/lib/c/include/io/klog.h

    r0fa34dd r3e6a98c5  
    4242extern size_t klog_write(const void *, size_t);
    4343extern void klog_update(void);
    44 extern void klog_command(const void *, size_t);
    4544extern int klog_printf(const char *, ...)
    4645    PRINTF_ATTRIBUTE(1, 2);
  • uspace/lib/c/include/stdio.h

    r0fa34dd r3e6a98c5  
    4040#include <str.h>
    4141#include <io/verify.h>
    42 #include <abi/klog.h>
    4342
    4443#define EOF  (-1)
     
    5251                int _n = snprintf(_buf, sizeof(_buf), fmt, ##__VA_ARGS__); \
    5352                if (_n > 0) \
    54                         (void) __SYSCALL3(SYS_KLOG, KLOG_WRITE, (sysarg_t) _buf, str_size(_buf)); \
     53                        (void) __SYSCALL3(SYS_KLOG, 1, (sysarg_t) _buf, str_size(_buf)); \
    5554        }
    5655
Note: See TracChangeset for help on using the changeset viewer.