summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp')
-rw-r--r--c/src/lib/libbsp/sparc/erc32/ChangeLog8
-rw-r--r--c/src/lib/libbsp/sparc/erc32/include/bsp.h17
-rw-r--r--c/src/lib/libbsp/sparc/leon/ChangeLog8
-rw-r--r--c/src/lib/libbsp/sparc/leon/include/bsp.h13
4 files changed, 32 insertions, 14 deletions
diff --git a/c/src/lib/libbsp/sparc/erc32/ChangeLog b/c/src/lib/libbsp/sparc/erc32/ChangeLog
index 278f96a007..80fc12d0fb 100644
--- a/c/src/lib/libbsp/sparc/erc32/ChangeLog
+++ b/c/src/lib/libbsp/sparc/erc32/ChangeLog
@@ -1,3 +1,11 @@
+2001-11-08 Jiri Gaisler <jiri@gaisler.com>
+
+ This fix is in response to test results reported by Jerry Needell
+ <jerry.needell@unh.edu> for the SPARC/ERC32 and tracked as PR80.
+ * include/bsp.h: TM27 was not running properly because the ERC32
+ and LEON cannot nest interrupts at the same level. The BSP test support
+ had to be modified to support using two different interrupt sources.
+
2001-10-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* .cvsignore: Add autom4te.cache for autoconf > 2.52.
diff --git a/c/src/lib/libbsp/sparc/erc32/include/bsp.h b/c/src/lib/libbsp/sparc/erc32/include/bsp.h
index e5bdbf221e..6ed0df4962 100644
--- a/c/src/lib/libbsp/sparc/erc32/include/bsp.h
+++ b/c/src/lib/libbsp/sparc/erc32/include/bsp.h
@@ -19,18 +19,16 @@
* $Id$
*/
-#ifndef __ERC32_BSP_h
-#define __ERC32_BSP_h
+#ifndef __SIS_h
+#define __SIS_h
#ifdef __cplusplus
extern "C" {
#endif
-#include <bspopts.h>
-
#include <rtems.h>
#include <iosupp.h>
-#include <libcpu/erc32.h>
+#include <erc32.h>
#include <clockdrv.h>
#include <console.h>
@@ -101,16 +99,19 @@ extern int rtems_erc32_sonic_driver_attach (struct rtems_bsdnet_ifconfig *config
#else /* use a regular asynchronous trap */
#define TEST_INTERRUPT_SOURCE ERC32_INTERRUPT_EXTERNAL_1
+#define TEST_INTERRUPT_SOURCE2 (ERC32_INTERRUPT_EXTERNAL_1+1)
#define TEST_VECTOR ERC32_TRAP_TYPE( TEST_INTERRUPT_SOURCE )
+#define TEST_VECTOR2 ERC32_TRAP_TYPE( TEST_INTERRUPT_SOURCE2 )
#define MUST_WAIT_FOR_INTERRUPT 1
#define Install_tm27_vector( handler ) \
- set_vector( (handler), TEST_VECTOR, 1 );
+ set_vector( (handler), TEST_VECTOR, 1 ); \
+ set_vector( (handler), TEST_VECTOR2, 1 );
#define Cause_tm27_intr() \
do { \
- ERC32_Force_interrupt( TEST_INTERRUPT_SOURCE ); \
+ ERC32_Force_interrupt( TEST_INTERRUPT_SOURCE+(Interrupt_nest>>1) ); \
nop(); \
nop(); \
nop(); \
@@ -130,7 +131,7 @@ extern int rtems_erc32_sonic_driver_attach (struct rtems_bsdnet_ifconfig *config
extern void Clock_delay(rtems_unsigned32 microseconds);
-#define rtems_bsp_delay( microseconds ) Clock_delay(microseconds)
+#define delay( microseconds ) Clock_delay(microseconds)
/* Constants */
diff --git a/c/src/lib/libbsp/sparc/leon/ChangeLog b/c/src/lib/libbsp/sparc/leon/ChangeLog
index 119e0ce329..162bd14c75 100644
--- a/c/src/lib/libbsp/sparc/leon/ChangeLog
+++ b/c/src/lib/libbsp/sparc/leon/ChangeLog
@@ -1,3 +1,11 @@
+2001-11-08 Jiri Gaisler <jiri@gaisler.com>
+
+ This fix is in response to test results reported by Jerry Needell
+ <jerry.needell@unh.edu> for the SPARC/ERC32 and tracked as PR80.
+ * include/bsp.h: TM27 was not running properly because the ERC32
+ and LEON cannot nest interrupts at the same level. The BSP test support
+ had to be modified to support using two different interrupt sources.
+
2001-10-12 Joel Sherrill <joel@OARcorp.com>
* clock/ckinit.c, console/console.c, include/bsp.h, include/leon.h,
diff --git a/c/src/lib/libbsp/sparc/leon/include/bsp.h b/c/src/lib/libbsp/sparc/leon/include/bsp.h
index 0dd991751b..1d9b58f1cd 100644
--- a/c/src/lib/libbsp/sparc/leon/include/bsp.h
+++ b/c/src/lib/libbsp/sparc/leon/include/bsp.h
@@ -4,6 +4,7 @@
*
* COPYRIGHT (c) 1989-1998.
* On-Line Applications Research Corporation (OAR).
+ * Copyright assigned to U.S. Government, 1994.
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
@@ -26,8 +27,6 @@
extern "C" {
#endif
-#include <bspopts.h>
-
#include <rtems.h>
#include <iosupp.h>
#include <leon.h>
@@ -94,15 +93,17 @@ extern "C" {
#define TEST_INTERRUPT_SOURCE LEON_INTERRUPT_EXTERNAL_1
#define TEST_VECTOR LEON_TRAP_TYPE( TEST_INTERRUPT_SOURCE )
-
+#define TEST_INTERRUPT_SOURCE2 LEON_INTERRUPT_EXTERNAL_1+1
+#define TEST_VECTOR2 LEON_TRAP_TYPE( TEST_INTERRUPT_SOURCE2 )
#define MUST_WAIT_FOR_INTERRUPT 1
#define Install_tm27_vector( handler ) \
- set_vector( (handler), TEST_VECTOR, 1 );
+ set_vector( (handler), TEST_VECTOR, 1 ); \
+ set_vector( (handler), TEST_VECTOR2, 1 );
#define Cause_tm27_intr() \
do { \
- LEON_Force_interrupt( TEST_INTERRUPT_SOURCE ); \
+ LEON_Force_interrupt( TEST_INTERRUPT_SOURCE+(Interrupt_nest>>1)); \
nop(); \
nop(); \
nop(); \
@@ -122,7 +123,7 @@ extern "C" {
extern void Clock_delay(rtems_unsigned32 microseconds);
-#define rtems_bsp_delay( microseconds ) Clock_delay(microseconds)
+#define delay( microseconds ) Clock_delay(microseconds)
/* Constants */