/*
* $Id: loader.S,v 1.1 2007/10/16 08:41:04 init Exp $
*/
/*
* FunnyOS loader
* for gxemul test arm machines.
*/
.text
.global _start
.global main
_start:
bl _vector_reset /* reset */
bl _vector_undef /* undefined insn */
bl _vector_swi /* software intr handler */
bl _vector_dataabrt /* data abort */
bl _vector_prefabrt /* prefetch abort */
.word 0x00000000 /* [reserved] */
bl _vector_irq /* IRQ */
bl _vector_fiq /* Fast Interrupt Request */
_vector_reset:
/*
Will enter here just right after RESET.
Set up stack and call main.
*/
ldr r13, Astack /* XXX stack at the end of phys mem */
b main
/* NOTREACHED */
_vector_undef:
/* Undefined insn handler */
mov pc, r14
_vector_swi:
mov pc, r14
_vector_dataabrt:
/* XXX fatal */
nop
_vector_prefabrt:
nop
_vector_irq:
//bl irqc_intr
nop
_vector_fiq:
nop
/* last word of the physical memory */
Astack:
.word 0x01fffffc