3 .globl EXT(reset_vector)
5 #if _ROMBASE >= 0xffff0000
7 * _start_offset is the low 16 bits of _start.
8 * Theoretically we should have problems but it compiles
9 * and links properly with binutils 2.9.5 & 2.10.90
10 * This is probably a case that needs fixing in binutils.
11 * And then we can just use _start.
12 * We also need something like the assume directive in
13 * other assemblers to tell it where the segment registers
14 * are pointing in memory right now.
16 jmp EXT(_start_offset)
17 #elif (_ROMBASE < 0x100000)
18 ljmp $((_ROMBASE & 0xf0000)>>4),$EXT(_start_offset);
20 #error _ROMBASE is an unsupported value
25 jmp EXT(protected_start)