/kernel/trunk/arch/ppc32/include/arch.h |
---|
29,4 → 29,6 |
#ifndef __ppc32_ARCH_H__ |
#define __ppc32_ARCH_H__ |
extern void arch_pre_main(void); |
#endif |
/kernel/trunk/arch/ppc32/src/boot/boot.S |
---|
67,6 → 67,7 |
bootinfo_end: |
bl arch_pre_main |
b main_bsp |
.section K_DATA_START, "aw", @progbits |
/kernel/trunk/arch/ppc32/src/ppc32.c |
---|
37,6 → 37,14 |
bootinfo_t bootinfo; |
void arch_pre_main(void) |
{ |
/* Setup usermode */ |
init.cnt = 1; |
init.tasks[0].addr = PA2KA(bootinfo.init.addr); |
init.tasks[0].size = bootinfo.init.size; |
} |
void arch_pre_mm_init(void) |
{ |
/* Initialize dispatch table */ |
47,11 → 55,6 |
ppc32_console_init(); |
cuda_init(); |
/* Setup usermode */ |
init.cnt = 1; |
init.tasks[0].addr = PA2KA(bootinfo.init.addr); |
init.tasks[0].size = bootinfo.init.size; |
} |
void arch_post_mm_init(void) |
/kernel/trunk/arch/mips32/include/arch.h |
---|
29,4 → 29,6 |
#ifndef __mips32_ARCH_H__ |
#define __mips32_ARCH_H__ |
extern void arch_pre_main(void); |
#endif |
/kernel/trunk/arch/mips32/src/start.S |
---|
186,10 → 186,12 |
/* Not sure about this, but might be needed for PIC code???? */ |
lui $gp, 0x8000 |
jal main_bsp |
jal arch_pre_main |
nop |
j main_bsp |
nop |
.space TEMP_STACK_SIZE |
end_stack: |
321,4 → 323,3 |
add $v0, $a1, 0 |
add $t9, $a2, 0 # Set up correct entry into PIC code |
eret |
/kernel/trunk/arch/mips32/src/mips32.c |
---|
57,6 → 57,14 |
#define NORM_EXC ((char *) 0x80000180) |
#define CACHE_EXC ((char *) 0x80000100) |
void arch_pre_main(void) |
{ |
/* Setup usermode */ |
init.cnt = 1; |
init.tasks[0].addr = INIT_ADDRESS; |
init.tasks[0].size = INIT_SIZE; |
} |
void arch_pre_mm_init(void) |
{ |
/* It is not assumed by default */ |
95,11 → 103,6 |
console_init(); |
debugger_init(); |
/* Setup usermode */ |
init.cnt = 1; |
init.tasks[0].addr = INIT_ADDRESS; |
init.tasks[0].size = INIT_SIZE; |
} |
void arch_post_mm_init(void) |