diff options
Diffstat (limited to 'c/src/lib/libbsp/sparc/erc32')
-rw-r--r-- | c/src/lib/libbsp/sparc/erc32/ChangeLog | 8 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/erc32/include/bsp.h | 17 |
2 files changed, 17 insertions, 8 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 */ |