- interupts disabled after bootloader - enable interrupts in board file git-svn-id: http://moon:8086/svn/mips@109 a8ebac50-d88d-4704-bea3-6648445a41b3
44 lines
540 B
ArmAsm
44 lines
540 B
ArmAsm
.file "startup.S"
|
|
|
|
.text
|
|
.section .init,"ax"
|
|
.extern board_init
|
|
.align 2
|
|
|
|
_start:
|
|
.set noreorder
|
|
|
|
# set stack pointer
|
|
la $sp, stack_ptr
|
|
|
|
# Invalidate I-Cache
|
|
cop0 32
|
|
|
|
# Invalidate D-Cache
|
|
cop0 34
|
|
|
|
# zero bss
|
|
la $8, __bss_start
|
|
la $9, _end
|
|
$zeroise:
|
|
sw $0, 0($8)
|
|
bne $8, $9, $zeroise
|
|
addiu $8, 4
|
|
|
|
_init:
|
|
# Call board_init
|
|
la $k0, board_init
|
|
jalr $k0
|
|
nop
|
|
|
|
la $k0, main
|
|
|
|
jalr $k0
|
|
nop
|
|
_terminate:
|
|
nop
|
|
j _terminate
|
|
nop
|
|
|
|
.set reorder
|