diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2005-04-28 16:17:39 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2005-04-28 16:17:39 +0000 |
commit | 27d619b86bd3ea6a36c8d3258ac6cba06b22a6e6 (patch) | |
tree | 676f2c9228a668ad9e8cdebc4fc10866204459da /c/src/lib/libbsp/powerpc/ppcn_60x/vectors/vectors.S | |
parent | 2005-04-28 Jennifer Averett <jennifer.averett@oarcorp.com> (diff) | |
download | rtems-27d619b86bd3ea6a36c8d3258ac6cba06b22a6e6.tar.bz2 |
2005-04-28 Joel Sherrill <joel@OARcorp.com>
* acinclude.m4: Remove dmv177 and ppcn_60x.
* dmv177/.cvsignore, dmv177/ChangeLog, dmv177/Makefile.am,
dmv177/QUIRKS, dmv177/README, dmv177/README.net, dmv177/STATUS,
dmv177/bsp_specs, dmv177/cable.doc, dmv177/configure.ac,
dmv177/times, dmv177/clock/clock.c, dmv177/console/conscfg.c,
dmv177/console/debugio.c, dmv177/include/.cvsignore,
dmv177/include/bsp.h, dmv177/include/dmv170.h, dmv177/include/tm27.h,
dmv177/scv64/scv64.c, dmv177/sonic/dmvsonic.c, dmv177/start/start.S,
dmv177/startup/bspclean.c, dmv177/startup/bspstart.c,
dmv177/startup/genpvec.c, dmv177/startup/linkcmds,
dmv177/startup/setvec.c, dmv177/startup/vmeintr.c,
dmv177/timer/timer.c, dmv177/tod/todcfg.c, ppcn_60x/.cvsignore,
ppcn_60x/ChangeLog, ppcn_60x/Makefile.am, ppcn_60x/README,
ppcn_60x/STATUS, ppcn_60x/bsp_specs, ppcn_60x/configure.ac,
ppcn_60x/clock/clock.c, ppcn_60x/console/config.c,
ppcn_60x/console/console.c, ppcn_60x/console/console.h,
ppcn_60x/console/debugio.c, ppcn_60x/console/i8042.c,
ppcn_60x/console/i8042_p.h, ppcn_60x/console/i8042vga.c,
ppcn_60x/console/i8042vga.h, ppcn_60x/console/ns16550cfg.c,
ppcn_60x/console/ns16550cfg.h, ppcn_60x/console/vga.c,
ppcn_60x/console/vga_p.h, ppcn_60x/console/z85c30cfg.c,
ppcn_60x/console/z85c30cfg.h, ppcn_60x/include/.cvsignore,
ppcn_60x/include/bsp.h, ppcn_60x/include/extisrdrv.h,
ppcn_60x/include/nvram.h, ppcn_60x/include/pci.h,
ppcn_60x/include/tm27.h, ppcn_60x/network/amd79c970.c,
ppcn_60x/network/amd79c970.h, ppcn_60x/nvram/ds1385.h,
ppcn_60x/nvram/mk48t18.h, ppcn_60x/nvram/nvram.c,
ppcn_60x/nvram/prepnvr.h, ppcn_60x/nvram/stk11c68.h,
ppcn_60x/pci/pci.c, ppcn_60x/start/start.S,
ppcn_60x/startup/bspclean.c, ppcn_60x/startup/bspstart.c,
ppcn_60x/startup/bsptrap.S, ppcn_60x/startup/genpvec.c,
ppcn_60x/startup/linkcmds, ppcn_60x/startup/rtems-ctor.cc,
ppcn_60x/startup/setvec.c, ppcn_60x/startup/spurious.c,
ppcn_60x/startup/swap.c, ppcn_60x/timer/timer.c, ppcn_60x/tod/cmos.h,
ppcn_60x/tod/tod.c, ppcn_60x/universe/universe.c,
ppcn_60x/vectors/README, ppcn_60x/vectors/align_h.S,
ppcn_60x/vectors/vectors.S: Removed.
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libbsp/powerpc/ppcn_60x/vectors/vectors.S | 291 |
1 files changed, 0 insertions, 291 deletions
diff --git a/c/src/lib/libbsp/powerpc/ppcn_60x/vectors/vectors.S b/c/src/lib/libbsp/powerpc/ppcn_60x/vectors/vectors.S deleted file mode 100644 index 47c8aec0c2..0000000000 --- a/c/src/lib/libbsp/powerpc/ppcn_60x/vectors/vectors.S +++ /dev/null @@ -1,291 +0,0 @@ -/* - * (c) 1998, Radstone Technology plc. - * - * - * This is an unpublished work the copyright in which vests - * in Radstone Technology plc. All rights reserved. - * - * The information contained herein is the property of Radstone - * Technology plc. and is supplied without liability for - * errors or omissions and no part may be reproduced, used or - * disclosed except as authorized by contract or other written - * permission. The copyright and the foregoing - * restriction on reproduction, use and disclosure extend to - * all the media in which this information may be - * embodied. - * - */ -/* vectors.s 1.1 - 95/12/04 - * - * This file contains the assembly code for the PowerPC - * interrupt veneers for RTEMS. - * - */ - -/* - * The issue with this file is getting it loaded at the right place. - * The first vector MUST be at address 0x????0100. - * How this is achieved is dependant on the tool chain. - * - * However the basic mechanism for ELF assemblers is to create a - * section called ".vectors", which will be loaded to an address - * between 0x????0000 and 0x????0100 (inclusive) via a link script. - * - * The basic mechanism for XCOFF assemblers is to place it in the - * normal text section, and arrange for this file to be located - * at an appropriate position on the linker command line. - * - * The variable 'PPC_VECTOR_FILE_BASE' must be defined to be the - * offset from 0x????0000 to the first location in the file. This - * will usually be 0x0000 or 0x0100. - * - * $Id$ - */ - -#include <rtems/asm.h> -#include "bsp.h" - -#ifndef PPC_VECTOR_FILE_BASE -#error "PPC_VECTOR_FILE_BASE is not defined." -#endif - - .set IP_LINK, 0 -/* PPC_ABI_EABI */ - .set IP_0, (IP_LINK + 8) - .set IP_2, (IP_0 + 4) - - .set IP_3, (IP_2 + 4) - .set IP_4, (IP_3 + 4) - .set IP_5, (IP_4 + 4) - .set IP_6, (IP_5 + 4) - - .set IP_7, (IP_6 + 4) - .set IP_8, (IP_7 + 4) - .set IP_9, (IP_8 + 4) - .set IP_10, (IP_9 + 4) - - .set IP_11, (IP_10 + 4) - .set IP_12, (IP_11 + 4) - .set IP_13, (IP_12 + 4) - .set IP_28, (IP_13 + 4) - - .set IP_29, (IP_28 + 4) - .set IP_30, (IP_29 + 4) - .set IP_31, (IP_30 + 4) - .set IP_CR, (IP_31 + 4) - - .set IP_CTR, (IP_CR + 4) - .set IP_XER, (IP_CTR + 4) - .set IP_LR, (IP_XER + 4) - .set IP_PC, (IP_LR + 4) - - .set IP_MSR, (IP_PC + 4) - - .set IP_END, (IP_MSR + 16) - - /* Where this file will be loaded */ - .set file_base, PPC_VECTOR_FILE_BASE - - /* Vector offsets */ - .set reset_vector,0x0100 - .set mach_vector,0x0200 - .set prot_vector,0x0300 - .set isi_vector,0x0400 - .set ext_vector,0x0500 - .set align_vector,0x0600 - .set prog_vector,0x0700 - .set float_vector,0x0800 - .set dec_vector,0x0900 - .set sys_vector,0x00C00 - .set trace_vector, 0x0d00 - .set itm_vector,0x01000 - .set dltm_vector,0x1100 - .set dstm_vector,0x1200 - .set addr_vector,0x1300 - .set sysmgmt_vector,0x1400 - -/* Go to the right section */ -#if PPC_ASM == PPC_ASM_ELF - .section .vectors,"awx",@progbits -#endif - - PUBLIC_VAR (__vectors) -SYM (__vectors): - -#if PPCN_60X_USE_DINK - .org reset_vector - file_base - /* This is where the DINK soft reset handler is located */ - ba 0xfff00180 - - .org mach_vector - file_base - ba 0xfff00200 - - .org prot_vector - file_base - ba 0xfff00300 - - .org isi_vector - file_base - ba 0xfff00400 - - .org ext_vector - file_base - rfi - - .org align_vector - file_base - ba 0xfff00600 - - .org prog_vector - file_base - ba 0xfff00700 - - .org float_vector - file_base - ba 0xfff00800 - - .org dec_vector - file_base - rfi - - .org sys_vector - file_base - ba 0xfff00C00 - - .org trace_vector - file_base - ba 0xfff00d00 - - .org itm_vector - file_base - ba 0xfff01000 - - .org dltm_vector - file_base - ba 0xfff01100 - - .org dstm_vector - file_base - ba 0xfff01200 - - .org addr_vector - file_base - ba 0xfff01300 - - .org sysmgmt_vector - file_base - ba 0xfff01400 -#else - .org reset_vector - file_base - stwu r1, -(IP_END)(r1) - stw r4,IP_4(r1) - li r4,1 -display_exc: - stw r3,IP_3(r1) - stw r5,IP_5(r1) - /* - * Enable data and instruction address translation - */ - li r3,MSR_IR | MSR_DR - mtmsr r3 - lis r3,0x8000 - stb r4,0x860(r3) - addi r4,r4,0x30 -waitfortx: - lbz r5,0x3fd(r3) - andi. r5,r5,0x20 - beq waitfortx - stb r4,0x3f8(r3) - li r5,0 - stw r4,0x00(r5) - mfsrr0 r4 - stw r4,0x04(r5) - mfsrr1 r4 - stw r4,0x08(r5) - lwz r4,IP_4(r1) - lwz r5,IP_5(r1) - lwz r3,IP_3(r1) - addi r1,r1,IP_END - rfi - - .org mach_vector - file_base - stwu r1, -(IP_END)(r1) - stw r4,IP_4(r1) - stw r3,IP_3(r1) - lis r4,0 - mfspr r3,srr0 - stw r3,0x00(r4) - mfspr r3,srr1 - stw r3,0x04(r4) - stw r5,0x08(r4) - stw r2,0x0c(r4) - stw r11,0x10(r4) - stw r12,0x14(r4) - dcbst 0,r4 - li r4,0x02 - b display_exc - - .org prot_vector - file_base - stwu r1, -(IP_END)(r1) - stw r4,IP_4(r1) - li r4,0x03 - b display_exc - - .org isi_vector - file_base - stwu r1, -(IP_END)(r1) - stw r4,IP_4(r1) - li r4,0x04 - b display_exc - - .org ext_vector - file_base - rfi - - .org align_vector - file_base - stwu r1, -(IP_END)(r1) - stw r4,IP_4(r1) - li r4,0x06 - b display_exc - - .org prog_vector - file_base - stwu r1, -(IP_END)(r1) - stw r4,IP_4(r1) - li r4,0x07 - b display_exc - - .org float_vector - file_base - stwu r1, -(IP_END)(r1) - stw r4,IP_4(r1) - li r4,0x08 - b display_exc - - .org dec_vector - file_base - rfi - - .org sys_vector - file_base - stwu r1, -(IP_END)(r1) - stw r4,IP_4(r1) - li r4,0x0a - b display_exc - - .org trace_vector - file_base - stwu r1, -(IP_END)(r1) - stw r4,IP_4(r1) - li r4,0x0b - b display_exc - - .org itm_vector - file_base - stwu r1, -(IP_END)(r1) - stw r4,IP_4(r1) - li r4,0x0c - b display_exc - - .org dltm_vector - file_base - stwu r1, -(IP_END)(r1) - stw r4,IP_4(r1) - li r4,0x0d - b display_exc - - .org dstm_vector - file_base - stwu r1, -(IP_END)(r1) - stw r4,IP_4(r1) - li r4,0x0e - b display_exc - - .org addr_vector - file_base - stwu r1, -(IP_END)(r1) - stw r4,IP_4(r1) - li r4,0x0f - b display_exc - - .org sysmgmt_vector - file_base - stwu r1, -(IP_END)(r1) - stw r4,IP_4(r1) - li r4,0x00 - b display_exc -#endif |