/SPARTAN/trunk/include/arch.h |
39,7 → 39,7 |
#define THREAD (cpu_private_data[CPU_ID_ARCH].thread) |
#define TASK (cpu_private_data[CPU_ID_ARCH].task) |
|
extern void arch_init(void); |
extern void arch_pre_mm_init(void); |
extern void arch_post_mm_init(void); |
extern void calibrate_delay_loop(void); |
|
/SPARTAN/trunk/src/main/main.c |
101,7 → 101,7 |
task_t *k; |
thread_t *t; |
|
arch_init(); |
arch_pre_mm_init(); |
|
heap_init(config.base + hardcoded_ktext_size + hardcoded_kdata_size, CONFIG_HEAP_SIZE); |
frame_init(); |
170,9 → 170,10 |
*/ |
config.cpu_active++; |
|
arch_init(); |
arch_pre_mm_init(); |
frame_init(); |
page_init(); |
arch_post_mm_init(); |
|
cpu_init(); |
calibrate_delay_loop(); |
/SPARTAN/trunk/arch/mips/src/mips.c |
30,7 → 30,7 |
#include <arch/cp0.h> |
#include <arch/exception.h> |
|
void arch_init(void) |
void arch_pre_mm_init(void) |
{ |
/* |
* Switch to BEV normal level so that exception vectors point to the kernel. |
/SPARTAN/trunk/arch/ia32/src/asm.s |
129,6 → 129,9 |
push %ebp |
movl %esp,%ebp |
pusha |
|
push %ds |
push %es |
|
# we must fill the data segment registers |
movw $16,%ax |
142,6 → 145,9 |
call trap_dispatcher |
addl $8,%esp |
|
pop %es |
pop %ds |
|
popa |
pop %ebp |
|
314,7 → 320,7 |
.global utext |
utext: |
0: |
movl $0xdeadbeaf, %eax |
# movl $0xdeadbeaf, %eax |
int $48 |
jmp 0b |
# not reached |