Changeset 5354ab0 in rtems


Ignore:
Timestamp:
Nov 8, 2001, 1:39:52 PM (19 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
ed07762
Parents:
47901d8
Message:

2001-11-08 Jiri Gaisler <jiri@…>

This fix is in response to test results reported by Jerry Needell
<jerry.needell@…> 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.
Location:
c/src/lib/libbsp/sparc
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/sparc/erc32/ChangeLog

    r47901d8 r5354ab0  
     12001-11-08      Jiri Gaisler <jiri@gaisler.com>
     2
     3        This fix is in response to test results reported by Jerry Needell
     4        <jerry.needell@unh.edu> for the SPARC/ERC32 and tracked as PR80.
     5        * include/bsp.h: TM27 was not running properly because the ERC32
     6        and LEON cannot nest interrupts at the same level.  The BSP test support
     7        had to be modified to support using two different interrupt sources.
     8
    192001-10-11      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
    210
  • c/src/lib/libbsp/sparc/erc32/include/bsp.h

    r47901d8 r5354ab0  
    2020 */
    2121
    22 #ifndef __ERC32_BSP_h
    23 #define __ERC32_BSP_h
     22#ifndef __SIS_h
     23#define __SIS_h
    2424
    2525#ifdef __cplusplus
     
    2727#endif
    2828
    29 #include <bspopts.h>
    30 
    3129#include <rtems.h>
    3230#include <iosupp.h>
    33 #include <libcpu/erc32.h>
     31#include <erc32.h>
    3432#include <clockdrv.h>
    3533
     
    102100
    103101#define TEST_INTERRUPT_SOURCE ERC32_INTERRUPT_EXTERNAL_1
     102#define TEST_INTERRUPT_SOURCE2 (ERC32_INTERRUPT_EXTERNAL_1+1)
    104103#define TEST_VECTOR ERC32_TRAP_TYPE( TEST_INTERRUPT_SOURCE )
     104#define TEST_VECTOR2 ERC32_TRAP_TYPE( TEST_INTERRUPT_SOURCE2 )
    105105 
    106106#define MUST_WAIT_FOR_INTERRUPT 1
    107107 
    108108#define Install_tm27_vector( handler ) \
    109   set_vector( (handler), TEST_VECTOR, 1 );
     109  set_vector( (handler), TEST_VECTOR, 1 ); \
     110  set_vector( (handler), TEST_VECTOR2, 1 );
    110111 
    111112#define Cause_tm27_intr() \
    112113  do { \
    113     ERC32_Force_interrupt( TEST_INTERRUPT_SOURCE ); \
     114    ERC32_Force_interrupt( TEST_INTERRUPT_SOURCE+(Interrupt_nest>>1) ); \
    114115    nop(); \
    115116    nop(); \
     
    131132extern void Clock_delay(rtems_unsigned32 microseconds);
    132133
    133 #define rtems_bsp_delay( microseconds ) Clock_delay(microseconds)
     134#define delay( microseconds ) Clock_delay(microseconds)
    134135
    135136/* Constants */
  • c/src/lib/libbsp/sparc/leon/ChangeLog

    r47901d8 r5354ab0  
     12001-11-08      Jiri Gaisler <jiri@gaisler.com>
     2
     3        This fix is in response to test results reported by Jerry Needell
     4        <jerry.needell@unh.edu> for the SPARC/ERC32 and tracked as PR80.
     5        * include/bsp.h: TM27 was not running properly because the ERC32
     6        and LEON cannot nest interrupts at the same level.  The BSP test support
     7        had to be modified to support using two different interrupt sources.
     8
    192001-10-12      Joel Sherrill <joel@OARcorp.com>
    210
  • c/src/lib/libbsp/sparc/leon/include/bsp.h

    r47901d8 r5354ab0  
    55 *  COPYRIGHT (c) 1989-1998.
    66 *  On-Line Applications Research Corporation (OAR).
     7 *  Copyright assigned to U.S. Government, 1994.
    78 *
    89 *  The license and distribution terms for this file may be
     
    2627extern "C" {
    2728#endif
    28 
    29 #include <bspopts.h>
    3029
    3130#include <rtems.h>
     
    9594#define TEST_INTERRUPT_SOURCE LEON_INTERRUPT_EXTERNAL_1
    9695#define TEST_VECTOR LEON_TRAP_TYPE( TEST_INTERRUPT_SOURCE )
    97  
     96#define TEST_INTERRUPT_SOURCE2 LEON_INTERRUPT_EXTERNAL_1+1
     97#define TEST_VECTOR2 LEON_TRAP_TYPE( TEST_INTERRUPT_SOURCE2 )
    9898#define MUST_WAIT_FOR_INTERRUPT 1
    9999 
    100100#define Install_tm27_vector( handler ) \
    101   set_vector( (handler), TEST_VECTOR, 1 );
     101  set_vector( (handler), TEST_VECTOR, 1 ); \
     102  set_vector( (handler), TEST_VECTOR2, 1 );
    102103 
    103104#define Cause_tm27_intr() \
    104105  do { \
    105     LEON_Force_interrupt( TEST_INTERRUPT_SOURCE ); \
     106    LEON_Force_interrupt( TEST_INTERRUPT_SOURCE+(Interrupt_nest>>1)); \
    106107    nop(); \
    107108    nop(); \
     
    123124extern void Clock_delay(rtems_unsigned32 microseconds);
    124125
    125 #define rtems_bsp_delay( microseconds ) Clock_delay(microseconds)
     126#define delay( microseconds ) Clock_delay(microseconds)
    126127
    127128/* Constants */
Note: See TracChangeset for help on using the changeset viewer.