forked from Imagelibrary/rtems
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.
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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 */
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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 */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user