diff options
-rw-r--r-- | c/src/lib/libbsp/sparc/erc32/ChangeLog | 8 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/erc32/include/bsp.h | 17 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/leon/ChangeLog | 8 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/leon/include/bsp.h | 13 |
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 */ |