Subversion Repositories HelenOS

Rev

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

Rev 2339 Rev 2349
Line 29... Line 29...
29
 
29
 
30
/** @addtogroup arm32boot
30
/** @addtogroup arm32boot
31
 * @{
31
 * @{
32
 */
32
 */
33
/** @file
33
/** @file
-
 
34
 *  @brief Bootstrap.
34
 */
35
 */
35
 
36
 
36
 
37
 
37
#include "main.h" 
38
#include "main.h" 
38
#include "asm.h"
39
#include "asm.h"
Line 91... Line 92...
91
 
92
 
92
    unsigned int top = 0;
93
    unsigned int top = 0;
93
    bootinfo.cnt = 0;
94
    bootinfo.cnt = 0;
94
    for (i = 0; i < COMPONENTS; i++) {
95
    for (i = 0; i < COMPONENTS; i++) {
95
        printf(" %s...", components[i].name);
96
        printf(" %s...", components[i].name);
96
        top = ALIGN_UP(top, PAGE_SIZE);
97
        top = ALIGN_UP(top, KERNEL_PAGE_SIZE);
97
        memcpy(((void *) KERNEL_VIRTUAL_ADDRESS) + top, components[i].start, components[i].size);
98
        memcpy(((void *) KERNEL_VIRTUAL_ADDRESS) + top, components[i].start, components[i].size);
98
        if (i > 0) {
99
        if (i > 0) {
99
            bootinfo.tasks[bootinfo.cnt].addr = ((void *) KERNEL_VIRTUAL_ADDRESS) + top;
100
            bootinfo.tasks[bootinfo.cnt].addr = ((void *) KERNEL_VIRTUAL_ADDRESS) + top;
100
            bootinfo.tasks[bootinfo.cnt].size = components[i].size;
101
            bootinfo.tasks[bootinfo.cnt].size = components[i].size;
101
            bootinfo.cnt++;
102
            bootinfo.cnt++;