summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/psim/include
diff options
context:
space:
mode:
authorJennifer Averett <Jennifer.Averett@OARcorp.com>2004-11-22 22:13:35 +0000
committerJennifer Averett <Jennifer.Averett@OARcorp.com>2004-11-22 22:13:35 +0000
commit270ce1ff6802a56f5daf8329da252489e2c9286e (patch)
treeaac0abc18a1af1a8c1caf24cc1819b27f97c8165 /c/src/lib/libbsp/powerpc/psim/include
parent2004-11-22 Jennifer Averett <jennifer@OARcorp.com> (diff)
downloadrtems-270ce1ff6802a56f5daf8329da252489e2c9286e.tar.bz2
2004-11-22 Jennifer Averett <jennifer@OARcorp.com>
PR 581/bsps * Makefile.am, bsp_specs, configure.ac, include/bsp.h, include/tm27.h, start/start.S, startup/bspstart.c, startup/linkcmds, tools/Makefile.am, tools/psim, vectors/vectors.S, wrapup/Makefile.am: Convert PSIM to new exception model. * irq/irq.c, irq/irq.h, irq/irq_asm.S, irq/irq_init.c: New files. * startup/setvec.c, timer/timer.c: Removed.
Diffstat (limited to 'c/src/lib/libbsp/powerpc/psim/include')
-rw-r--r--c/src/lib/libbsp/powerpc/psim/include/bsp.h43
-rw-r--r--c/src/lib/libbsp/powerpc/psim/include/tm27.h26
2 files changed, 31 insertions, 38 deletions
diff --git a/c/src/lib/libbsp/powerpc/psim/include/bsp.h b/c/src/lib/libbsp/powerpc/psim/include/bsp.h
index 5821fcc1ab..6103728312 100644
--- a/c/src/lib/libbsp/powerpc/psim/include/bsp.h
+++ b/c/src/lib/libbsp/powerpc/psim/include/bsp.h
@@ -54,64 +54,41 @@ extern "C" {
#else
#include <rtems.h>
#include <rtems/console.h>
+#include <libcpu/io.h>
#include <rtems/clockdrv.h>
-#include <rtems/console.h>
#include <rtems/iosupp.h>
+#include <bsp/vectors.h>
/* Constants */
/*
- * Device Driver Table Entries
+ * Information placed in the linkcmds file.
*/
+extern int RAM_END;
+extern int end; /* last address in the program */
+
/*
- * NOTE: Use the standard Console driver entry
+ * Device Driver Table Entries
*/
/*
- * NOTE: Use the standard Clock driver entry
+ * NOTE: Use the standard Console driver entry
*/
/*
- * Information placed in the linkcmds file.
+ * NOTE: Use the standard Clock driver entry
*/
-extern int RAM_START;
-extern int RAM_END;
-extern int RAM_SIZE;
-
-extern int PROM_START;
-extern int PROM_END;
-extern int PROM_SIZE;
-
-extern int CLOCK_SPEED;
-
-extern int end; /* last address in the program */
+#define BSP_Convert_decrementer( _value ) ( (unsigned long long) _value )
/* functions */
-void bsp_start( void );
-
void bsp_cleanup( void );
-rtems_isr_entry set_vector( /* returns old vector */
- rtems_isr_entry handler, /* isr routine */
- rtems_vector_number vector, /* vector number */
- int type /* RTEMS or RAW intr */
-);
-
-void DEBUG_puts( char *string );
-
-void BSP_fatal_return( void );
-
-void bsp_spurious_initialize( void );
-
extern rtems_configuration_table BSP_Configuration; /* owned by BSP */
-
extern rtems_cpu_table Cpu_table; /* owned by BSP */
-extern uint32_t bsp_isr_level;
-
#endif /* ASM */
#ifdef __cplusplus
diff --git a/c/src/lib/libbsp/powerpc/psim/include/tm27.h b/c/src/lib/libbsp/powerpc/psim/include/tm27.h
index f66b5bc85f..0393260509 100644
--- a/c/src/lib/libbsp/powerpc/psim/include/tm27.h
+++ b/c/src/lib/libbsp/powerpc/psim/include/tm27.h
@@ -15,30 +15,46 @@
#ifndef __tm27_h
#define __tm27_h
+#include <bsp/irq.h>
+
/*
* Stuff for Time Test 27
*/
#define MUST_WAIT_FOR_INTERRUPT 1
-#define Install_tm27_vector( _handler ) \
- set_vector( (_handler), PPC_IRQ_DECREMENTER, 1 )
+void nullFunc() {}
+static rtems_irq_connect_data clockIrqData = {BSP_DECREMENTER,
+ 0,
+ (rtems_irq_enable)nullFunc,
+ (rtems_irq_disable)nullFunc,
+ (rtems_irq_is_enabled) nullFunc};
+
+void Install_tm27_vector(void (*_handler)())
+{
+ clockIrqData.hdl = _handler;
+ if (!BSP_install_rtems_irq_handler (&clockIrqData)) {
+ printk("Error installing clock interrupt handler!\n");
+ rtems_fatal_error_occurred(1);
+ }
+}
#define Cause_tm27_intr() \
do { \
- uint32_t _clicks = 1; \
+ unsigned32 _clicks = 1; \
asm volatile( "mtdec %0" : "=r" ((_clicks)) : "r" ((_clicks)) ); \
} while (0)
+
#define Clear_tm27_intr() \
do { \
- uint32_t _clicks = 0xffffffff; \
+ unsigned32 _clicks = 0xffffffff; \
asm volatile( "mtdec %0" : "=r" ((_clicks)) : "r" ((_clicks)) ); \
} while (0)
#define Lower_tm27_intr() \
do { \
- uint32_t _msr = 0; \
+ unsigned32 _msr = 0; \
_ISR_Set_level( 0 ); \
asm volatile( "mfmsr %0 ;" : "=r" (_msr) : "r" (_msr) ); \
_msr |= 0x8002; \