38,6 → 38,8 |
#include <arch/trap/trap.h> |
#include <arch/console.h> |
#include <proc/thread.h> |
#include <arch/drivers/sgcn.h> |
#include <arch/drivers/simics_output.h> |
#include <console/console.h> |
#include <arch/boot/boot.h> |
#include <arch/arch.h> |
44,12 → 46,32 |
#include <arch/asm.h> |
#include <arch/mm/page.h> |
#include <arch/stack.h> |
#include <genarch/ofw/ofw_tree.h> |
#include <userspace.h> |
#include <ddi/irq.h> |
#include <print.h> |
|
bootinfo_t bootinfo; |
|
/** Perform sparc64 specific initialization before main_bsp() is called. */ |
void arch_pre_main(void) |
{ |
/* Copy init task info. */ |
init.cnt = bootinfo.taskmap.count; |
|
uint32_t i; |
|
for (i = 0; i < bootinfo.taskmap.count; i++) { |
init.tasks[i].addr = (uintptr_t) bootinfo.taskmap.tasks[i].addr; |
init.tasks[i].size = bootinfo.taskmap.tasks[i].size; |
} |
|
/* Copy boot allocations info. */ |
ballocs.base = bootinfo.ballocs.base; |
ballocs.size = bootinfo.ballocs.size; |
|
ofw_tree_init(bootinfo.ofw_root); |
} |
|
/** Perform sparc64 specific initialization before mm is initialized. */ |
void arch_pre_mm_init(void) |
{ |
67,7 → 89,11 |
*/ |
irq_init(1 << 11, 128); |
|
#if defined (CONFIG_SIMICS_OUTPUT) |
sgcn_init(); |
#else |
standalone_sparc64_console_init(); |
#endif |
} |
} |
|