Commit Graph

1584 Commits

Author SHA1 Message Date
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
Joel Sherrill
a31f0643f6 Changed process group routines to unimplementable. 1998-05-22 15:05:33 +00:00
Joel Sherrill
9cc86e291c Updated after addition of some routines by Eric Norum. 1998-05-22 15:02:53 +00:00
Joel Sherrill
119bced0fd Added tcdrain(), cfgetospeed(0, cfsetospeed(), cfgetispeed(), and
cfsetispeed().
1998-05-22 14:51:11 +00:00
Joel Sherrill
e2476ed4d1 Added tcdrain(), cfgetospeed(), cfsetospeed(), cfgetispeed(), and cfsetispeed(). 1998-05-22 14:49:49 +00:00
Joel Sherrill
cdf6fcbccb Now uses BSP specific configure variables and compiles for i486 and m68k. 1998-05-22 12:30:19 +00:00
Joel Sherrill
6fa12899c4 Renamed bare BSP specific options to make the dependency obvious. 1998-05-22 12:29:13 +00:00
Joel Sherrill
06e326b67f UNIX port now builds and runs cleanly with both C++ support enabled
and disabled.
1998-05-22 12:28:35 +00:00
Joel Sherrill
c19a29b458 Added call to console_reserve_resources back in. 1998-05-22 12:27:51 +00:00
Joel Sherrill
082214d0c8 Regenerated after removing SIZE_FOR_TARGET change after Ralf
pointed out that gcc does not properly report it all the time.
1998-05-22 12:27:08 +00:00
Joel Sherrill
232429f6cc Removed SIZE_FOR_TARGET change after Ralf pointed out that gcc does
not properly report it all the time.
1998-05-22 12:26:47 +00:00
Joel Sherrill
550ca7d5e4 hppa1.1 -> hppa1_1 remapping crept back in somehow -- gona again.
Bare BSP is now only enabled when explicitly specified.

Bare BSP options and variables are clearly named so as to be obviously
BSP specific.  This should avoid conflicts.
1998-05-22 12:25:52 +00:00
Joel Sherrill
9d09d13808 Added main() which did not require C++ support. A different main
is used based on whether C++ is enabled or disabled.
1998-05-22 11:03:03 +00:00
Joel Sherrill
7e93af11ce changed version to 980521 1998-05-21 19:11:24 +00:00
Joel Sherrill
31668a6756 Use gcc to look for size also 1998-05-21 18:46:36 +00:00
Joel Sherrill
bd5e4f3baf Added bare bsp from Chris Johns <cjohns@plessey.com.au>. 1998-05-21 18:26:58 +00:00
Joel Sherrill
90cf4cc734 Corrected license notices per Eric's permission 1998-05-21 16:49:51 +00:00
Joel Sherrill
6207ea2986 New file from Ralf Corsepius 1998-05-21 16:46:24 +00:00
Joel Sherrill
941f6f3c5e New file from Eric Valette 1998-05-21 16:46:05 +00:00
Joel Sherrill
1e9c9d4643 Per patch from Ralf Corsepius removed redundant lines. 1998-05-21 16:41:56 +00:00
Joel Sherrill
dd84f129c8 Removed undesirable space in TARGET_ARCH assignment line.
Cleaned up command line macro definitions.

Per patch from Ralf Corsepius UNIX ports always needs C++ for rtems-ctor.cc.
1998-05-21 16:41:40 +00:00
Joel Sherrill
d494eeb429 Per patch from Ralf Corsepius UNIX ports always needs C++ for rtems-ctor.cc. 1998-05-21 16:40:46 +00:00
Joel Sherrill
d7588efc2f Per suggestion from Ralf Corsepius made all macros solaris2 -- not solaris
or solaris2.
1998-05-21 16:39:51 +00:00
Joel Sherrill
0d48220948 Remove --start-group/--end-group pair to support non-GNU ld's. 1998-05-21 16:38:54 +00:00
Joel Sherrill
fe2401b239 Regenerated. 1998-05-21 16:38:17 +00:00
Joel Sherrill
27dccaec15 Patch to add return status to rtems_termios_enqueue_raw_characters from
Eric Norum per request from Geoffroy Montel:

   > The rtems_termios_enqueue_raw_characters function type is void.
   > The problem is that I can't return an error message if the input
   > buffer is full.
   > Could we add a return value?

   Sure, but what would you do with the overflow indication?  POSIX says,
   ``when the input limit is reached, the saved characters are thrown away
   without notice''.

   Anyhow, the change is so small I've done it and enclosed the patch.
1998-05-20 17:09:12 +00:00
Joel Sherrill
2efdd08b40 Patch from Ralf Corseipus to fix latent configure problems suddenly triggered:
The breakdown:
        * CC_FOR_TARGET and CXX_FOR_TARGET were not correctly re-read
          from autoconf's configuration cache (config.cache)

        * If <target>-[gcc|g++] was not found while running configure,
          the config macros tried to use other (wrong) compilers (e.g. cc).

    Changes:
        * New RTEMS_PROG_CC macro (aclocal/prog-cc.m4).
        * New RTEMS_PROG_CXX macro (aclocal/prog-cxx.m4)
        * Moved a shell script fragment from configure.in to a
          new m4-autoconf macro (New file: aclocal/tool-prefix.m4)
        * Minor changes to configure.in

    I tested it with linux/posix (native gcc/primary libc) and
    sh-rtems/gensh1 on a linux host and didn't notice any bugs
    related to the problems mentioned above.  There seem to be
    more bugs with the posix bsp, but I consider them minor as
    the build run completed successfully. It is just too late
    for me to attempt to fix them now.
1998-05-20 17:06:57 +00:00
Joel Sherrill
17a8d60365 Some patches in place from Brian Stevens which help the Solaris port
build.  It does not link successfully for him.  It does not compile
for me locally.
1998-05-20 17:02:29 +00:00
Joel Sherrill
7aa10b005e Copied gcc 2.7.2 style make-exe rule to gcc 2.8 conditional. This
lets the makefile work in both cases.
1998-05-20 17:01:39 +00:00
Joel Sherrill
5dd4212fec Changed CPP rule per patch from Ralf Corsepius. 1998-05-20 17:01:04 +00:00
Joel Sherrill
603d706083 Added tcdrain() from Eric Norum 1998-05-20 17:00:22 +00:00
Joel Sherrill
7139415434 Regenerated 1998-05-20 16:34:15 +00:00
Joel Sherrill
9c3b406b4d Addition of tcdrain() from Eric Norum. 1998-05-19 11:34:04 +00:00
Joel Sherrill
3ac8e59c93 Removed prototype of rtems_libio_config() per Chris Johns' eagle eye. 1998-05-19 10:53:12 +00:00
Joel Sherrill
8dc5d00f2c changed version to 980518 1998-05-18 17:35:24 +00:00
Joel Sherrill
98c7389586 New file from Pedro Romano 1998-05-18 16:43:36 +00:00
Joel Sherrill
ca0bafa734 Added much stuff formerly in multiple compiler files. 1998-05-18 16:40:13 +00:00
Joel Sherrill
0500c342e1 Added conditional around TARGET_ARCH to prevent accidental overrides. 1998-05-18 16:39:49 +00:00
Joel Sherrill
7ebfa9347d Switched to using shared gcc-target-default.cfg. 1998-05-18 16:39:21 +00:00
Joel Sherrill
6ee6abb40d Added C++ rule.
Added CROSS_TARGET conditionals so unix port can share this file.
1998-05-18 16:38:38 +00:00
Joel Sherrill
60fa630576 Added RTEMS_CROSS_TARGET. 1998-05-18 16:37:50 +00:00
Joel Sherrill
64876e33f4 Added bsp_specs. 1998-05-18 16:37:32 +00:00
Joel Sherrill
bac7b61449 Include memory for Ada task stacks. 1998-05-18 16:37:00 +00:00
Joel Sherrill
38093c0b8e Modified to find C++ compilers. 1998-05-18 16:36:31 +00:00
Joel Sherrill
0b767238bc Support bsp_specs style building for linux and solaris. Improved C++
support.
1998-05-18 16:36:09 +00:00
Joel Sherrill
158f211023 Regenerated. 1998-05-18 16:35:00 +00:00
Joel Sherrill
185fab0b5a Added proper reference now that Embedded Systems Programming's WWW site
is available and has the code available.
1998-05-18 16:32:35 +00:00
Joel Sherrill
5c844076a2 Update from Ralf Corsepius. 1998-05-18 14:41:33 +00:00
Joel Sherrill
a863c500cc Updates from Pedro Romano. 1998-05-18 14:41:15 +00:00
Joel Sherrill
7d78f404ae New file. 1998-05-18 14:40:59 +00:00