Subversion Repositories HelenOS

Rev

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

Rev 2408 Rev 2411
Line 66... Line 66...
66
        init.tasks[i].size = bootinfo.tasks[i].size;
66
        init.tasks[i].size = bootinfo.tasks[i].size;
67
    }
67
    }
68
   
68
   
69
}
69
}
70
 
70
 
-
 
71
 
71
/** Performs arm32 specific initialization before mm is initialized. */
72
/** Performs arm32 specific initialization before mm is initialized. */
72
void arch_pre_mm_init(void)
73
void arch_pre_mm_init(void)
73
{
74
{
74
    /* It is not assumed by default */
75
    /* It is not assumed by default */
75
    interrupts_disable();
76
    interrupts_disable();
76
}
77
}
77
 
78
 
-
 
79
 
78
/** Performs arm32 specific initialization afterr mm is initialized. */
80
/** Performs arm32 specific initialization afterr mm is initialized. */
79
void arch_post_mm_init(void)
81
void arch_post_mm_init(void)
80
{
82
{
81
    machine_hw_map_init();
83
    machine_hw_map_init();
82
 
84
 
Line 90... Line 92...
90
#ifdef CONFIG_FB
92
#ifdef CONFIG_FB
91
    fb_init(machine_get_fb_address(), 640, 480, 1920, VISUAL_RGB_8_8_8);
93
    fb_init(machine_get_fb_address(), 640, 480, 1920, VISUAL_RGB_8_8_8);
92
#endif
94
#endif
93
}
95
}
94
 
96
 
-
 
97
 
95
/** Performs arm32 specific tasks needed after cpu is initialized.
98
/** Performs arm32 specific tasks needed after cpu is initialized.
96
 *
99
 *
97
 * Currently the function is empty.
100
 * Currently the function is empty.
98
 */
101
 */
99
void arch_post_cpu_init(void)
102
void arch_post_cpu_init(void)
100
{
103
{
101
}
104
}
102
 
105
 
-
 
106
 
103
/** Performs arm32 specific tasks needed before the multiprocessing is
107
/** Performs arm32 specific tasks needed before the multiprocessing is
104
 * initialized.
108
 * initialized.
105
 *
109
 *
106
 * Currently the function is empty because SMP is not supported.
110
 * Currently the function is empty because SMP is not supported.
107
 */
111
 */
108
void arch_pre_smp_init(void)
112
void arch_pre_smp_init(void)
109
{
113
{
110
}
114
}
111
 
115
 
-
 
116
 
112
/** Performs arm32 specific tasks needed after the multiprocessing is
117
/** Performs arm32 specific tasks needed after the multiprocessing is
113
 * initialized.
118
 * initialized.
114
 *
119
 *
115
 * Currently the function is empty because SMP is not supported.
120
 * Currently the function is empty because SMP is not supported.
116
 */
121
 */
Line 123... Line 128...
123
void before_task_runs_arch(void)
128
void before_task_runs_arch(void)
124
{
129
{
125
    tlb_invalidate_all();
130
    tlb_invalidate_all();
126
}
131
}
127
 
132
 
-
 
133
 
128
/** Performs arm32 specific tasks needed before the new thread is scheduled.
134
/** Performs arm32 specific tasks needed before the new thread is scheduled.
129
 *
135
 *
130
 * It sets supervisor_sp.
136
 * It sets supervisor_sp.
131
 */
137
 */
132
void before_thread_runs_arch(void)
138
void before_thread_runs_arch(void)
133
{
139
{
134
    supervisor_sp = (uintptr_t) &THREAD->kstack[THREAD_STACK_SIZE-SP_DELTA];
140
    supervisor_sp = (uintptr_t) &THREAD->kstack[THREAD_STACK_SIZE-SP_DELTA];
135
}
141
}
136
 
142
 
-
 
143
 
137
/** Performs arm32 specific tasks before a thread stops running.
144
/** Performs arm32 specific tasks before a thread stops running.
138
 *
145
 *
139
 * Currently the function is empty.
146
 * Currently the function is empty.
140
 */
147
 */
141
void after_thread_ran_arch(void)
148
void after_thread_ran_arch(void)
142
{
149
{
143
}
150
}
144
 
151
 
-
 
152
 
145
/** Halts CPU. */
153
/** Halts CPU. */
146
void cpu_halt(void)
154
void cpu_halt(void)
147
{
155
{
148
    machine_cpu_halt();
156
    machine_cpu_halt();
149
}
157
}