Subversion Repositories HelenOS

Rev

Rev 3424 | Rev 3597 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3424 Rev 3425
Line 59... Line 59...
59
#include <proc/task.h>
59
#include <proc/task.h>
60
#include <proc/tasklet.h>
60
#include <proc/tasklet.h>
61
#include <main/kinit.h>
61
#include <main/kinit.h>
62
#include <main/version.h>
62
#include <main/version.h>
63
#include <console/kconsole.h>
63
#include <console/kconsole.h>
-
 
64
#include <console/console.h>
64
#include <cpu.h>
65
#include <cpu.h>
65
#include <align.h>
66
#include <align.h>
66
#include <interrupt.h>
67
#include <interrupt.h>
67
#include <mm/frame.h>
68
#include <mm/frame.h>
68
#include <mm/page.h>
69
#include <mm/page.h>
Line 78... Line 79...
78
#include <ipc/ipc.h>
79
#include <ipc/ipc.h>
79
#include <macros.h>
80
#include <macros.h>
80
#include <adt/btree.h>
81
#include <adt/btree.h>
81
#include <smp/smp.h>
82
#include <smp/smp.h>
82
#include <ddi/ddi.h>
83
#include <ddi/ddi.h>
83
#include <console/console.h>
-
 
-
 
84
 
84
 
85
 
85
/** Global configuration structure. */
86
/** Global configuration structure. */
86
config_t config;
87
config_t config;
87
 
88
 
88
/** Initial user-space tasks */
89
/** Initial user-space tasks */
Line 233... Line 234...
233
    LOG_EXEC(smp_init());
234
    LOG_EXEC(smp_init());
234
   
235
   
235
    /* Slab must be initialized after we know the number of processors. */
236
    /* Slab must be initialized after we know the number of processors. */
236
    LOG_EXEC(slab_enable_cpucache());
237
    LOG_EXEC(slab_enable_cpucache());
237
   
238
   
238
    printf("Detected %" PRIc " CPU(s), %" PRIu64" MB free memory\n",
239
    printf("Detected %" PRIc " CPU(s), %" PRIu64" MiB free memory\n",
239
        config.cpu_count, SIZE2MB(zone_total_size()));
240
        config.cpu_count, SIZE2MB(zone_total_size()));
240
   
241
   
241
    LOG_EXEC(cpu_init());
242
    LOG_EXEC(cpu_init());
242
   
243
   
243
    LOG_EXEC(calibrate_delay_loop());
244
    LOG_EXEC(calibrate_delay_loop());
244
    LOG_EXEC(clock_counter_init());
245
    LOG_EXEC(clock_counter_init());
Line 250... Line 251...
250
   
251
   
251
    if (init.cnt > 0) {
252
    if (init.cnt > 0) {
252
        count_t i;
253
        count_t i;
253
        for (i = 0; i < init.cnt; i++)
254
        for (i = 0; i < init.cnt; i++)
254
            printf("init[%" PRIc "].addr=%#" PRIp ", init[%" PRIc
255
            printf("init[%" PRIc "].addr=%#" PRIp ", init[%" PRIc
255
                "].size=%#" PRIs "\n", i, init.tasks[i].addr,
256
                "].size=%#" PRIs "\n", i, init.tasks[i].addr, i,
256
                i, init.tasks[i].size);
257
                init.tasks[i].size);
257
    } else
258
    } else
258
        printf("No init binaries found\n");
259
        printf("No init binaries found\n");
259
   
260
   
260
    LOG_EXEC(ipc_init());
261
    LOG_EXEC(ipc_init());
261
    LOG_EXEC(klog_init());
262
    LOG_EXEC(klog_init());