summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/powerpc/mpc505
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2000-10-18 18:24:43 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2000-10-18 18:24:43 +0000
commita982e0c6397b93625eb8246547bed6a08ee24542 (patch)
treeeee589ce86b5e3bb8390cfabcf7f3313d8c0a9b0 /c/src/lib/libcpu/powerpc/mpc505
parent2000-10-18 Joel Sherrill <joel@OARcorp.com> (diff)
downloadrtems-a982e0c6397b93625eb8246547bed6a08ee24542.tar.bz2
2000-10-18 Sergei Organov <osv@javad.ru>
* Added full support for MPC505. * mpc505/ictrl: New directory. * configure.in, mpc505/Makefile.am: Modified to reflect ictrl addition. * mpc505/ictrl/.cvsignore, mpc505/ictrl/Makefile.am, mpc505/ictrl/ictrl.c, mpc505/ictrl/ictrl.h: New files. * mpc505/timer/timer.c: Use <rtems.h>, not "rtems.h". * mpc505/vectors/Makefile.am: alignment exception handler now included. * mpc505/vectors/vectors.S: Now use constants for exception numbers. * old_exception_processing/ppc_offs.h: New file. * old_exception_processing/Makefile.am: Account for ppc_offs.h. * old_exception_processing/cpu.h: Make Nest and Disable levels volatile. * old_exception_processing/cpu_asm.S: Offsets moved to ppc_offs.h.
Diffstat (limited to 'c/src/lib/libcpu/powerpc/mpc505')
-rw-r--r--c/src/lib/libcpu/powerpc/mpc505/Makefile.am2
-rw-r--r--c/src/lib/libcpu/powerpc/mpc505/timer/timer.c2
-rw-r--r--c/src/lib/libcpu/powerpc/mpc505/vectors/Makefile.am6
-rw-r--r--c/src/lib/libcpu/powerpc/mpc505/vectors/vectors.S23
4 files changed, 15 insertions, 18 deletions
diff --git a/c/src/lib/libcpu/powerpc/mpc505/Makefile.am b/c/src/lib/libcpu/powerpc/mpc505/Makefile.am
index 37b11c93a3..ebc29b2eca 100644
--- a/c/src/lib/libcpu/powerpc/mpc505/Makefile.am
+++ b/c/src/lib/libcpu/powerpc/mpc505/Makefile.am
@@ -4,7 +4,7 @@
AUTOMAKE_OPTIONS = foreign 1.4
-SUBDIRS = vectors timer
+SUBDIRS = ictrl vectors timer
include $(top_srcdir)/../../../../../automake/subdirs.am
include $(top_srcdir)/../../../../../automake/local.am
diff --git a/c/src/lib/libcpu/powerpc/mpc505/timer/timer.c b/c/src/lib/libcpu/powerpc/mpc505/timer/timer.c
index c0c23efa51..f7741dcfe3 100644
--- a/c/src/lib/libcpu/powerpc/mpc505/timer/timer.c
+++ b/c/src/lib/libcpu/powerpc/mpc505/timer/timer.c
@@ -19,7 +19,7 @@
* timer.c,v 1.2 1995/05/31 16:56:39 joel Exp
*/
-#include "rtems.h"
+#include <rtems.h>
rtems_boolean Timer_driver_Find_average_overhead;
diff --git a/c/src/lib/libcpu/powerpc/mpc505/vectors/Makefile.am b/c/src/lib/libcpu/powerpc/mpc505/vectors/Makefile.am
index cf5e302c77..0ce4b0243f 100644
--- a/c/src/lib/libcpu/powerpc/mpc505/vectors/Makefile.am
+++ b/c/src/lib/libcpu/powerpc/mpc505/vectors/Makefile.am
@@ -4,14 +4,10 @@
AUTOMAKE_OPTIONS = foreign 1.4
-VPATH = @srcdir@:@srcdir@/../../ppc403/vectors
-
-## FIXME
-
PGM = ${ARCH}/vectors.rel
## Assembly sources
-S_FILES = vectors.S align_h.S
+S_FILES = vectors.S
vectors_rel_OBJECTS = $(S_FILES:%.S=${ARCH}/%.o)
diff --git a/c/src/lib/libcpu/powerpc/mpc505/vectors/vectors.S b/c/src/lib/libcpu/powerpc/mpc505/vectors/vectors.S
index be3bd6ffe5..f7e02ec295 100644
--- a/c/src/lib/libcpu/powerpc/mpc505/vectors/vectors.S
+++ b/c/src/lib/libcpu/powerpc/mpc505/vectors/vectors.S
@@ -20,22 +20,23 @@
*
*/
-#include "asm.h"
-#include "ppc_offs.h"
+#include <asm.h>
+#include <rtems/score/ppc.h>
+#include <rtems/score/ppc_offs.h>
/* Vector offsets */
- .set reset, 0x0100 # PPC_IRQ_RESET
+ .set reset, 0x0100 # PPC_IRQ_SYSTEM_RESET
.set machine_check, 0x0200 # PPC_IRQ_MCHECK
.set dsi, 0x0300 # PPC_IRQ_PROTECT
.set isi, 0x0400 # PPC_IRQ_ISI
.set external_interrupt, 0x0500 # PPC_IRQ_EXTERNAL
- .set alignment, 0x0600 # PPC_IRQ_ALIGN
+ .set alignment, 0x0600 # PPC_IRQ_ALIGNMENT
.set program, 0x0700 # PPC_IRQ_PROGRAM
.set fp_unavailable, 0x0800 # PPC_IRQ_NOFP
- .set decrementer, 0x0900 # PPC_IRQ_DEC
+ .set decrementer, 0x0900 # PPC_IRQ_DECREMENTER
.set system_call, 0x0C00 # PPC_IRQ_SCALL
.set trace, 0x0D00 # PPC_IRQ_TRACE
- .set fp_assist, 0x0E00 # PPC_IRQ_FPASSIST
+ .set fp_assist, 0x0E00 # PPC_IRQ_FP_ASST
.set software_emulation, 0x1000 # PPC_IRQ_SOFTEMU
.set data_bp, 0x1C00 # PPC_IRQ_DATA_BP
.set istruction_bp, 0x1D00 # PPC_IRQ_INST_BP
@@ -47,7 +48,7 @@
#else
#define ABI_ADD 0
#endif
-
+ .extern led_green
#define ISR_HANDLER(vector, irq) \
.org vector; \
stwu r1, -(ABI_ADD + IP_END)(r1); \
@@ -59,18 +60,18 @@
.section .vect,"ax",@progbits
.globl __vect
__vect:
- ISR_HANDLER(reset, PPC_IRQ_RESET)
+ ISR_HANDLER(reset, PPC_IRQ_SYSTEM_RESET)
ISR_HANDLER(machine_check, PPC_IRQ_MCHECK)
ISR_HANDLER(dsi, PPC_IRQ_PROTECT)
ISR_HANDLER(isi, PPC_IRQ_ISI)
ISR_HANDLER(external_interrupt, PPC_IRQ_EXTERNAL)
- ISR_HANDLER(alignment, PPC_IRQ_ALIGN)
+ ISR_HANDLER(alignment, PPC_IRQ_ALIGNMENT)
ISR_HANDLER(program, PPC_IRQ_PROGRAM)
ISR_HANDLER(fp_unavailable, PPC_IRQ_NOFP)
- ISR_HANDLER(decrementer, PPC_IRQ_DEC)
+ ISR_HANDLER(decrementer, PPC_IRQ_DECREMENTER)
ISR_HANDLER(system_call, PPC_IRQ_SCALL)
ISR_HANDLER(trace, PPC_IRQ_TRACE)
- ISR_HANDLER(fp_assist, PPC_IRQ_FPASSIST)
+ ISR_HANDLER(fp_assist, PPC_IRQ_FP_ASST)
ISR_HANDLER(software_emulation, PPC_IRQ_SOFTEMU)
ISR_HANDLER(data_bp, PPC_IRQ_DATA_BP)
ISR_HANDLER(istruction_bp, PPC_IRQ_INST_BP)