/branches/arm/kernel/arch/arm32/src/arm32.c |
---|
40,7 → 40,8 |
#include <ddi/device.h> |
#include "aux_print/printf.h" |
#include <print.h> |
#include <config.h> |
bootinfo_t bootinfo; |
void arch_pre_main(void) |
50,6 → 51,7 |
init.cnt = bootinfo.cnt; |
printf("Used memmory\n"); |
for (i = 0; i < bootinfo.cnt; ++i) { |
init.tasks[i].addr = bootinfo.tasks[i].addr; |
init.tasks[i].size = bootinfo.tasks[i].size; |
58,17 → 60,20 |
} |
#include <ddi/irq.h> |
void arch_pre_mm_init(void) |
{ |
aux_printf("arch_pre_mm_init\n"); |
console_init(device_assign_devno()); |
} |
void arch_post_mm_init(void) |
{ |
aux_printf("arch_post_mm_init\n"); |
// irq_init(8, 8); /// needs malloc ... so after mm init |
// console_init(device_assign_devno()); // need hash table of irq ... so after irq_init |
/* TODO */ |
} |
/branches/arm/kernel/arch/arm32/src/dummy.S |
---|
60,31 → 60,48 |
.global userspace |
calibrate_delay_loop: |
# stop gxemul |
ldr r1, =0x10000010 |
eor r2, r2 |
strb r3, [r1, r2] |
bkpt |
asm_delay_loop: |
mov pc, lr // ret |
#arch_grab_console: |
#arch_release_console: |
cpu_halt: |
bkpt |
fpu_context_restore: |
bkpt |
fpu_context_save: |
bkpt |
fpu_enable: |
bkpt |
fpu_init: |
#interrupts_disable: |
#interrupts_enable: |
#interrupts_read: |
#interrupts_restore: |
#memcpy: |
#memcpy_from_uspace: |
#memcpy_to_uspace: |
#memsetb: |
bkpt |
panic_printf: |
bl aux_printf |
# stop gxemul |
ldr r1, =0x10000010 |
eor r2, r2 |
strb r3, [r1, r2] |
bkpt |
symbol_table: |
bkpt |
sys_tls_set: |
#tlb_invalidate_asid: |
#tlb_invalidate_pages: |
bkpt |
userspace: |
bkpt |
dummy: |
0: |
b 0b |
bkpt |