1 /***************************************************************************
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
10 * Copyright (C) 2002 by Linus Nielsen Feltzing
12 * All files in this archive are subject to the GNU General Public License.
13 * See the file COPYING in the source tree root for full license agreement.
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied.
18 ****************************************************************************/
22 /* We begin with some tricks. If we have built our code to be loaded
23 * via the standalone GDB stub, we will have out VBR at some other
24 * location than 0x9000000. We must copy the trap vectors for the
25 * GDB stub to our vector table.
26 * If, on the other hand, we are running standalone we will have
27 * the VBR at 0x9000000, and the copy will not do any harm.
32 /* Move the invalid instruction vector (4) */
38 /* Move the invalid slot vector (6) */
44 /* Move the bus error vector (9) */
50 /* Move the DMA bus error vector (10) */
56 /* Move the NMI vector as well (11) */
62 /* Move the breakpoint trap vector (32) */
68 /* Move the IO trap vector (33) */
74 /* Move the serial Rx interrupt vector (105) */
80 /* Move the single step trap vector (127) */
88 /* Now let's get on with the normal business */
102 /* copy the .iram section */
115 /* Munge the main thread stack */
118 mov.l stackbegin_k,r1
160 .section .resetvectors