Changeset b84aaba in mainline


Ignore:
Timestamp:
2008-06-03T14:51:35Z (16 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
5b86d10
Parents:
49eec93
Message:

debugging output of kernel initialization

File:
1 edited

Legend:

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

    r49eec93 rb84aaba  
    7979#include <macros.h>
    8080#include <adt/btree.h>
    81 #include <console/klog.h>
    8281#include <smp/smp.h>
    8382#include <ddi/ddi.h>
     
    141140void main_bsp(void)
    142141{
     142        LOG();
     143       
    143144        config.cpu_count = 1;
    144145        config.cpu_active = 1;
     
    172173                config.stack_base = ALIGN_UP(stack_safe, PAGE_SIZE);
    173174       
     175        version_print();
     176       
     177        LOG("\nconfig.base=%#" PRIp " config.kernel_size=%" PRIs
     178                "\nconfig.stack_base=%#" PRIp " config.stack_size=%" PRIs,
     179                config.base, config.kernel_size,
     180                config.stack_base, config.stack_size);
     181       
    174182        context_save(&ctx);
    175183        context_set(&ctx, FADDR(main_bsp_separated_stack), config.stack_base,
     
    187195void main_bsp_separated_stack(void)
    188196{
    189         task_t *k;
    190         thread_t *t;
    191         count_t i;
     197        LOG();
    192198       
    193199        the_initialize(THE);
     
    198204         * commands.
    199205         */
    200         kconsole_init();
     206        LOG_EXEC(kconsole_init());
    201207       
    202208        /*
     
    204210         * starts adding its own handlers
    205211         */
    206         exc_init();
     212        LOG_EXEC(exc_init());
    207213
    208214        /*
    209215         * Memory management subsystems initialization.
    210          */     
    211         arch_pre_mm_init();
    212         frame_init();           
     216         */
     217        LOG_EXEC(arch_pre_mm_init());
     218        LOG_EXEC(frame_init());
     219       
    213220        /* Initialize at least 1 memory segment big enough for slab to work. */
    214         slab_cache_init();
    215         btree_init();
    216         as_init();
    217         page_init();
    218         tlb_init();
    219         ddi_init();
    220         tasklet_init();
    221         arch_post_mm_init();
    222        
    223         version_print();
    224         printf("kernel: %.*p hardcoded_ktext_size=%zd KB, "
    225             "hardcoded_kdata_size=%zd KB\n", sizeof(uintptr_t) * 2,
    226                 config.base, SIZE2KB(hardcoded_ktext_size),
    227                 SIZE2KB(hardcoded_kdata_size));
    228         printf("stack:  %.*p size=%zd KB\n", sizeof(uintptr_t) * 2,
    229             config.stack_base, SIZE2KB(config.stack_size));
    230        
    231         arch_pre_smp_init();
    232         smp_init();
     221        LOG_EXEC(slab_cache_init());
     222        LOG_EXEC(btree_init());
     223        LOG_EXEC(as_init());
     224        LOG_EXEC(page_init());
     225        LOG_EXEC(tlb_init());
     226        LOG_EXEC(ddi_init());
     227        LOG_EXEC(tasklet_init());
     228        LOG_EXEC(arch_post_mm_init());
     229        LOG_EXEC(arch_pre_smp_init());
     230        LOG_EXEC(smp_init());
     231       
    233232        /* Slab must be initialized after we know the number of processors. */
    234         slab_enable_cpucache();
    235        
    236         printf("Detected %zu CPU(s), %llu MB free memory\n",
     233        LOG_EXEC(slab_enable_cpucache());
     234       
     235        printf("Detected %" PRIc " CPU(s), %" PRIu64" MB free memory\n",
    237236                config.cpu_count, SIZE2MB(zone_total_size()));
    238         cpu_init();
    239        
    240         calibrate_delay_loop();
    241         clock_counter_init();
    242         timeout_init();
    243         scheduler_init();
    244         task_init();
    245         thread_init();
    246         futex_init();
    247         klog_init();
     237       
     238        LOG_EXEC(cpu_init());
     239       
     240        LOG_EXEC(calibrate_delay_loop());
     241        LOG_EXEC(clock_counter_init());
     242        LOG_EXEC(timeout_init());
     243        LOG_EXEC(scheduler_init());
     244        LOG_EXEC(task_init());
     245        LOG_EXEC(thread_init());
     246        LOG_EXEC(futex_init());
    248247       
    249248        if (init.cnt > 0) {
     249                count_t i;
    250250                for (i = 0; i < init.cnt; i++)
    251                         printf("init[%zd].addr=%.*p, init[%zd].size=%zd\n", i,
    252                             sizeof(uintptr_t) * 2, init.tasks[i].addr, i,
    253                             init.tasks[i].size);
     251                        printf("init[%" PRIc "].addr=%#" PRIp
     252                                ", init[%" PRIc "].size=%#" PRIs "\n",
     253                                i, init.tasks[i].addr,
     254                                i, init.tasks[i].size);
    254255        } else
    255256                printf("No init binaries found\n");
    256257       
    257         ipc_init();
     258        LOG_EXEC(ipc_init());
    258259
    259260        /*
    260261         * Create kernel task.
    261262         */
    262         k = task_create(AS_KERNEL, "kernel");
    263         if (!k)
    264                 panic("can't create kernel task\n");
     263        task_t *kernel = task_create(AS_KERNEL, "kernel");
     264        if (!kernel)
     265                panic("Can't create kernel task\n");
    265266       
    266267        /*
    267268         * Create the first thread.
    268269         */
    269         t = thread_create(kinit, NULL, k, 0, "kinit", true);
    270         if (!t)
    271                 panic("can't create kinit thread\n");
    272         thread_ready(t);
     270        thread_t *kinit_thread = thread_create(kinit, NULL, kernel, 0, "kinit", true);
     271        if (!kinit_thread)
     272                panic("Can't create kinit thread\n");
     273        LOG_EXEC(thread_ready(kinit_thread));
    273274       
    274275        /*
Note: See TracChangeset for help on using the changeset viewer.