Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 2283 → Rev 2284

/branches/arm/kernel/arch/arm32/src/arm32.c
47,9 → 47,10
#include <config.h>
#include <interrupt.h>
#include <arch/regutils.h>
//#include <arch/drivers/init.h>
#include <arch/drivers/gxemul.h>
#include <userspace.h>
bootinfo_t bootinfo;
uintptr_t supervisor_sp /*__attribute__ ((section (".text")))*/;
 
//TODO: Remove include and move into exceptio.c
#include <arch/exception.h>
96,9 → 97,6
init.tasks[i].addr = bootinfo.tasks[i].addr;
init.tasks[i].size = bootinfo.tasks[i].size;
}
 
/* TODO this code just setups irq testing bed */
setup_exception_stacks();
}
 
void arch_pre_mm_init(void)
107,6 → 105,9
 
/* It is not assumed by default */
interrupts_disable();
 
setup_exception_stacks();
 
}
 
114,29 → 115,22
 
void arch_post_mm_init(void)
{
dprintf("arch_post_mm_init start()\n");
/* Initialize dispatch table
Note: Have to be after page_init() */
// dprintf("arch_post_mm_init start()\n");
gxemul_hw_map_init();
 
/* Initialize dispatch table */
exception_init();
 
// drivers_init();
// drivers_init();
interrupt_init();
// console_init(device_assign_devno());
console_init(device_assign_devno());
//fb_init(0x12000000, 640, 480, 1920, VISUAL_RGB_8_8_8);
// interrupts_enable();
// asm __volatile__ ("ldr pc, =0x70000000"); // prefetch exception
//while(1);
/*
uspace_arg_t uspace;
uspace.uspace_entry = (void*)prefetch_exception_generator;
uspace.uspace_stack = (void*)0x6000000;
uspace.uspace_uarg = &uspace;
interrupts_enable();
dprintf("arch_post_mm_init end()\n");
// while(1);
userspace(&uspace);
*/
dprintf("arch_post_mm_init end()\n");
}
 
void arch_post_cpu_init(void)
163,7 → 157,7
/** Perform arm32 specific tasks needed before the new thread is scheduled. */
void before_thread_runs_arch(void)
{
/* TODO */
supervisor_sp = (uintptr_t) &THREAD->kstack/*[THREAD_STACK_SIZE-SP_DELTA]*/;
}
 
void after_thread_ran_arch(void)