Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/main/kinit.c

    rc8cbd39 rb2fa1204  
    5959#include <mm/km.h>
    6060#include <print.h>
     61#include <log.h>
    6162#include <memstr.h>
    6263#include <console/console.h>
     
    140141                                thread_ready(thread);
    141142                        } else
    142                                 printf("Unable to create kcpulb thread for cpu%u\n", i);
     143                                log(LF_OTHER, LVL_ERROR,
     144                                    "Unable to create kcpulb thread for cpu%u", i);
    143145                }
    144146        }
     
    156158                thread_ready(thread);
    157159        else
    158                 printf("Unable to create kload thread\n");
     160                log(LF_OTHER, LVL_ERROR, "Unable to create kload thread");
    159161       
    160162#ifdef CONFIG_KCONSOLE
     
    168170                        thread_ready(thread);
    169171                else
    170                         printf("Unable to create kconsole thread\n");
     172                        log(LF_OTHER, LVL_ERROR,
     173                            "Unable to create kconsole thread");
    171174        }
    172175#endif /* CONFIG_KCONSOLE */
     176       
     177        /*
     178         * Store the default stack size in sysinfo so that uspace can create
     179         * stack with this default size.
     180         */
     181        sysinfo_set_item_val("default.stack_size", NULL, STACK_SIZE_USER);
    173182       
    174183        interrupts_enable();
     
    204213        for (i = 0; i < init.cnt; i++) {
    205214                if (init.tasks[i].paddr % FRAME_SIZE) {
    206                         printf("init[%zu]: Address is not frame aligned\n", i);
     215                        log(LF_OTHER, LVL_ERROR,
     216                            "init[%zu]: Address is not frame aligned", i);
    207217                        programs[i].task = NULL;
    208218                        continue;
     
    244254                                    CAP_IO_MANAGER | CAP_IRQ_REG);
    245255                               
    246                                 if (!ipc_phone_0)
     256                                if (!ipc_phone_0) {
    247257                                        ipc_phone_0 = &programs[i].task->answerbox;
     258                                        /*
     259                                         * Hold the first task so that the
     260                                         * ipc_phone_0 remains a valid pointer
     261                                         * even if the first task exits for
     262                                         * whatever reason.
     263                                         */
     264                                        task_hold(programs[i].task);
     265                                }
    248266                        }
    249267                       
     
    259277                        init_rd((void *) init.tasks[i].paddr, init.tasks[i].size);
    260278                } else
    261                         printf("init[%zu]: Init binary load failed "
    262                             "(error %d, loader status %u)\n", i, rc,
     279                        log(LF_OTHER, LVL_ERROR,
     280                            "init[%zu]: Init binary load failed "
     281                            "(error %d, loader status %u)", i, rc,
    263282                            programs[i].loader_status);
    264283        }
Note: See TracChangeset for help on using the changeset viewer.