Commit Graph

609 Commits

Author SHA1 Message Date
Joel Sherrill
2e4b3d03da changed version to 980527 1998-05-27 22:10:10 +00:00
Joel Sherrill
71d07b9ddf Corrected interrupt stack allocation. 1998-05-27 19:18:02 +00:00
Joel Sherrill
448ba47a4c Fixed spacing 1998-05-27 12:26:07 +00:00
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
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
7e93af11ce changed version to 980521 1998-05-21 19:11:24 +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
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
603d706083 Added tcdrain() from Eric Norum 1998-05-20 17:00:22 +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
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
161e1b3f6a Patch from Eric Norum to switch to termios callback structure, add
support for device driver support on tcsetattr(), and hardware
flow control callbacks.
1998-05-04 12:41:07 +00:00
Joel Sherrill
b77b26742e fixed swap of unsigned16 1998-05-04 12:36:59 +00:00
Joel Sherrill
10b3c9b3ef Added default value for CONFIGURE_MAXIMUM_POSIX_THREADS since it is
used to calculate the amount of memory used by tasks whether the
POSIX API is enabled or disabled.
1998-05-04 12:35:22 +00:00
Joel Sherrill
d74daf9d45 Fixed case where wrong variable was used. 1998-04-30 16:48:40 +00:00
Joel Sherrill
b7be9c30d2 Removed redundant "* 1024" which exploded the size of the workspace. 1998-04-30 11:41:09 +00:00
Joel Sherrill
0c508af979 Added I386_HAS_BSWAP cpu model feature flag so swap u32 could take
advantage of this instruction.

Also up conditionals mapping cpu models to feature flags by having a
section which defaults all the i386 family feature flags to the most
common value.
1998-04-27 18:18:13 +00:00
Joel Sherrill
b0aba4c46b Added swap of unsigned16 1998-04-27 16:10:16 +00:00
Joel Sherrill
eac9871aa2 Fixed spelling errors. 1998-04-27 15:30:59 +00:00
Joel Sherrill
0153d180b3 Fixed trace bit manipulation per requests from Eric Norum and Chris Johns.
Actual patch was from Eric Norum.
1998-04-27 15:28:43 +00:00
Joel Sherrill
72aa8cf4a8 Fixed CVS Id 1998-04-27 14:16:29 +00:00
Joel Sherrill
308aed9b39 Added numerous entries to make the memory calculation more accurate:
+ POSIX threads
  + Ada tasks
  + POSIX threads API support
  + POSIX condition variables
  + POSIX keys (still do not account for data fields)
  + POSIX mutexes
  + POSIX queued signals
  + added macro for extra memory for task stacks
  + default value for CONFIGURE_MAXIMUM_FAKE_ADA_TASKS
  + extra memory for Ada task stacks
1998-04-27 13:49:42 +00:00
Joel Sherrill
20fff72b41 Moved POSIX_signals_Siginfo_node structure definition to headers/psignal.h
so confdefs.h could see it.
1998-04-27 13:46:45 +00:00
Joel Sherrill
9f0dfeafdb Changed __POSIX_SIGNALS_h to __RTEMS_POSIX_SIGNALS_h to avoid conflict with
the system signals.h file.

Moved POSIX_signals_Siginfo_node type definition to this file to allow
confdefs.h to know the size per queued signal.
1998-04-27 13:46:18 +00:00
Joel Sherrill
4955afcca5 rtems_libio_number_iops is now defined in confdefs.h so the maximum
file descriptors is user configurable.
1998-04-18 17:25:35 +00:00
Joel Sherrill
4390882539 Changed to account for libio's maximum_semaphores as well as its
memory requirements.

Also added variable to tell libio how many file descriptors to allocate.
1998-04-18 17:24:56 +00:00
Joel Sherrill
b25d3d03df Changed version number so script will work. 1998-04-18 17:24:04 +00:00
Joel Sherrill
8a1636d39f Added bh, ch, dh, bl, cl, and dl register macros. 1998-04-15 22:16:22 +00:00
Joel Sherrill
bd9c3d1e76 Numerous changes which in total greatly reduced the amount of source
code in each BSP's bspstart.c.  These changes were:

  + confdefs.h now knows libio's semaphore requirements
  + shared/main.c now copies Configuration to BSP_Configuration
  + shared/main.c fills in the Cpu_table with default values

This removed the need for rtems_libio_config() and the constant
BSP_LIBIO_MAX_FDS in every BSP.  Plus now the maximum number of open
files can now be set on the gcc command line.
1998-04-15 20:50:31 +00:00
Joel Sherrill
0451b44f36 Per suggestion from Eric Norum, went from one initial extension set
to multiple.  This lets the stack check extension be installed
at system initialization time and avoids the BSP having to
even know about its existence.
1998-04-15 00:02:10 +00:00
Joel Sherrill
7780978058 changed version to ralf-980414 1998-04-14 23:00:33 +00:00
Joel Sherrill
01a49905ae Account for interrupt stack space 1998-04-14 22:56:31 +00:00
Joel Sherrill
4381e50e1e Ralf Corsepius suggested a way to get rid of UNIX compiler files and use gcc-target-default.cfg 1998-04-14 22:44:49 +00:00
Joel Sherrill
ab97da95b3 Added stack checker extension 1998-04-14 21:30:10 +00:00
Joel Sherrill
3b89891244 Now accounts for region used by RTEMS malloc and extension used
by newlib.
1998-04-14 20:54:26 +00:00
Joel Sherrill
993e1b5c73 Refreshing effort from Avenger. 1998-04-14 19:54:24 +00:00
Joel Sherrill
c796ea979c More stuff removed as a result of using newlib's isatty() implementation.
These were noticed by Eric Norum.
1998-04-06 15:57:58 +00:00
Joel Sherrill
b82c9578f4 Removed isatty() since we are now using newlib's implementation as
a result of enabling the newlib POSIX directory.
1998-04-03 18:45:42 +00:00
Joel Sherrill
a456074d78 Made these have real constants. 1998-04-03 18:44:44 +00:00
Joel Sherrill
9a355cb341 changed version to 4.0.0-beta2 1998-03-31 16:59:07 +00:00
Joel Sherrill
5e34bf4b95 Added "sigemptyset()" call to insure that the memcmp() would work.
It appears that the new glibc does not clear all the bits of the signal
set with a sigprocmask.
1998-03-31 14:19:27 +00:00
Joel Sherrill
a30359bbdd Changed int to unsigned32 to match cpu.h. 1998-03-27 19:42:58 +00:00
Joel Sherrill
3973e40a54 Should have included <rtems.h> before checking for ifdef RTEMS_UNIX.
Bug report from Olivier Hainque <hainque@inf.enst.fr> on SPARC Solaris 2.6.
1998-03-27 16:34:25 +00:00
Joel Sherrill
c80add4623 m68k software interrupt stack support from Chris Johns and Eric Norum. 1998-03-25 18:46:47 +00:00
Joel Sherrill
ddf142da51 Added _XOPEN_SOURCE definition to allow use of UNIX IPC. 1998-03-24 20:53:48 +00:00
Joel Sherrill
abbd5b1bea changed version to 4.0.0-beta1 1998-03-24 19:14:47 +00:00