summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2001-11-08 13:39:52 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2001-11-08 13:39:52 +0000
commit5354ab0574eb5d4b24007252741a2e169d4a1266 (patch)
treecf9e0aebd97b796e766fcad9fa33e5206e05feda /c/src/lib/libbsp
parent47901d84b3fb3119c2baf96a71fbe7158a7d5d7c (diff)
downloadrtems-5354ab0574eb5d4b24007252741a2e169d4a1266.tar.bz2
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.
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 */