Files
rtems/c
Joel Sherrill 139e6efe3c Fix from Jiri Gaisler <jgais@ws.estec.esa.nl> for a problem in which
external interrupt priorities were not being honored.  Here is some
of his original report:

    using rtems/erc32, I have a problem with interrupt priority when
    interrupts occure simultaneously. Erc32 has an interrupt force
    register where interrupts can be generated. If more than one
    interrupt is generated, the interrupt handlers are scheduled in
    the wrong order, i.e. with the lowest priority first.

    I have attched a program that generates three interrupts, 0x11, 0x12
    and 0x13. Interrupt 0x13 should be handled first, but is actually
    handled last. Below is the output from sis:

        sis> go
        resuming at 0x02000000
        RAM size: 4096 K, ROM size: 2048 K
        Watchdog disabled
        Waitstates = RAM read: 0, RAM write: 0, ROM read: 0, ROM write: 0
        Power-down mode enabled
        infinite UART baudrate
        External interrupt received with vector 0x11
        External interrupt received with vector 0x12
        External interrupt received with vector 0x13

    I have verified that sis generates the interrupts in the correct
    order, i.e. 0x13 first, then 0x12 and then 0x11. So the problem
    seems to be in the rtems interrupt handler. Do you use the PIL field
    in the %psr register to mask lower priority interrupts or are all
    external interrupts considered to have the same priority ..?

Here is a description of the fix:

  it turned out that lower priority interrupts were not at all masked
  off during interrupt handling. I made the following fix to cpu_asm.s:
       ... fix is in the code ...
  There might be a simpler way of doing this, but this works...
1998-05-27 12:21:32 +00:00
..
1998-03-20 17:22:23 +00:00
1998-04-15 22:15:38 +00:00

#
#  $Id$
#

This is the top level of the RTEMS directory structure.  The following
is a description of the files and directories in this directory:

  Makefile.in
    The top-level Make command file used to build the C implementation
    of RTEMS.  [RTEMS assumes the use of GNU make.]

  README
    This file.

  REQUIRES
    A list of the other tools which are assumed to be installed
    before RTEMS is built.

  SUPPORT
    Information on third-party support for RTEMS.

  build-tools
    This directory contains the source for various utilities
    needed to build RTEMS.

  make
    Make command files "included" from those in the source distribution.
    [RTEMS assumes the use of GNU make.]

  patches
    This directory contains patches for this release of RTEMS.

  src
    This directory contains the source code for the C
    implementation of RTEMS as well as the test suites, sample
    applications, Board Support Packages, Device Drivers, and
    support libraries.