Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev HEAD → Rev 3502

/branches/sparc/kernel/arch/sparc64/src/sparc64.c
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
}
}