Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 2328 → Rev 2329

/branches/arm/kernel/arch/arm32/src/arm32.c
53,6 → 53,7
// // uintptr_t supervisor_sp /*__attribute__ ((section (".text")))*/;
extern uintptr_t supervisor_sp;
 
 
void arch_pre_main(void)
{
int i;
66,6 → 67,7
}
 
 
void arch_pre_mm_init(void)
{
/* It is not assumed by default */
72,10 → 74,8
interrupts_disable();
 
setup_exception_stacks();
 
}
 
void prefetch_exception_generator(void);
 
void arch_post_mm_init(void)
{
88,34 → 88,34
console_init(device_assign_devno());
//fb_init(0x12000000, 640, 480, 1920, VISUAL_RGB_8_8_8);
interrupts_enable();
 
}
 
 
void arch_post_cpu_init(void)
{
/* TODO */
}
 
 
void arch_pre_smp_init(void)
{
/* TODO */
}
 
 
void arch_post_smp_init(void)
{
/* TODO */
}
 
 
/** Perform arm32 specific tasks needed before the new task is run. */
void before_task_runs_arch(void)
{
tlb_invalidate_all();
/* TODO */
tlb_invalidate_all();
}
 
 
/** Perform arm32 specific tasks needed before the new thread is scheduled. */
void before_thread_runs_arch(void)
{
122,11 → 122,12
supervisor_sp = (uintptr_t) &THREAD->kstack[THREAD_STACK_SIZE-SP_DELTA];
}
 
 
void after_thread_ran_arch(void)
{
/* TODO */
}
 
 
/** Struct to hold general purpose register values */
typedef struct {
uint32_t r0;
150,7 → 151,7
 
/** Changes processor mode and jumps to the address specified in the first parameter.
*
* \param kernel_uarg userspace settings (entry point, stack, ...)
* @param kernel_uarg Userspace settings (entry point, stack, ...).
*/
void userspace(uspace_arg_t *kernel_uarg)
{