Subversion Repositories HelenOS

Rev

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

Rev 4342 Rev 4343
Line 32... Line 32...
32
/** @file
32
/** @file
33
 *  @brief ARM32 architecture specific functions.
33
 *  @brief ARM32 architecture specific functions.
34
 */
34
 */
35
 
35
 
36
#include <arch.h>
36
#include <arch.h>
37
#include <arch/boot.h>
-
 
38
#include <config.h>
37
#include <config.h>
39
#include <arch/console.h>
38
#include <arch/console.h>
40
#include <ddi/device.h>
39
#include <ddi/device.h>
41
#include <genarch/fb/fb.h>
40
#include <genarch/fb/fb.h>
42
#include <genarch/fb/visuals.h>
41
#include <genarch/fb/visuals.h>
Line 46... Line 45...
46
#include <config.h>
45
#include <config.h>
47
#include <interrupt.h>
46
#include <interrupt.h>
48
#include <arch/regutils.h>
47
#include <arch/regutils.h>
49
#include <arch/machine.h>
48
#include <arch/machine.h>
50
#include <userspace.h>
49
#include <userspace.h>
51
 
-
 
52
/** Information about loaded tasks. */
-
 
53
bootinfo_t bootinfo;
50
#include <macros.h>
54
 
51
 
55
/** Performs arm32 specific initialization before main_bsp() is called. */
52
/** Performs arm32 specific initialization before main_bsp() is called. */
56
void arch_pre_main(void)
53
void arch_pre_main(void *entry __attribute__((unused)), bootinfo_t *bootinfo)
57
{
54
{
58
    unsigned int i;
55
    unsigned int i;
59
 
-
 
60
    init.cnt = bootinfo.cnt;
-
 
61
 
-
 
62
    for (i = 0; i < bootinfo.cnt; ++i) {
-
 
63
        init.tasks[i].addr = bootinfo.tasks[i].addr;
-
 
64
        init.tasks[i].size = bootinfo.tasks[i].size;
-
 
65
    }
-
 
66
   
56
   
-
 
57
    init.cnt = bootinfo->cnt;
-
 
58
   
-
 
59
    for (i = 0; i < min3(bootinfo->cnt, TASKMAP_MAX_RECORDS, CONFIG_INIT_TASKS); ++i) {
-
 
60
        init.tasks[i].addr = bootinfo->tasks[i].addr;
-
 
61
        init.tasks[i].size = bootinfo->tasks[i].size;
-
 
62
    }
67
}
63
}
68
 
64
 
69
/** Performs arm32 specific initialization before mm is initialized. */
65
/** Performs arm32 specific initialization before mm is initialized. */
70
void arch_pre_mm_init(void)
66
void arch_pre_mm_init(void)
71
{
67
{