Commit Graph

1142 Commits

Author SHA1 Message Date
Joel Sherrill
bc85fd5a6d Reworked score/cpu/i960 so it can be safely compiled multilib. All
routines and structures that require CPU model specific information
are now in libcpu.  This required significant rework of the
score/cpu header files and the creation of multiple header files
and subdirectories in libcpu/i960.
2000-07-11 19:31:04 +00:00
Joel Sherrill
270e3cce96 Patch rtems-rc-20000711-1-cvs.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>
that decouples exec/ for the sh, m68k and i960 from targopts.h.

NOTE: The change to system.h is a hack to enable cpuopts.h
for some targets, but keep using targopts.h for others - I know it
does *not* work for sparc, mips, i386 and ppc.  This will have
to be addressed as work continues on multilibing.
2000-07-11 14:56:04 +00:00
Joel Sherrill
e0ba3e80ef Patch rtems-rc-20000709-1.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>
that addresses aspects of the targopts.h multilib related
issues.

  Changes:
    * Move targopts.h to libbsp/include, because the current targopts.h
      actually is a per-BSP-header and therefore can not stay below exec/.

    * Introduce an autoheader generated header file
      (exec/score/include/rtems/score/cpuopts.h), which shall take per-cpu
      configuration options only.

    * Move all autoconf-detectable/configure specified per-cpu
      option-defines from targopts.h to cpuopts.h.

    * Add Makefiles to the libbsp/shared directory hierarchy.

  Notes:
    * The new per-bsp targopts.h in libbsp includes the per-cpu
      cpuopts.h. This way, the new targopts.h is kept backward compatible
      to the old targopts.h and existing BSPs which (carelessly) include
      targopts.h (i386, ppc) should be kept working when using the
      multilib-disabled configuration scheme.

    * cpuopts.h is not yet complete, because the per-BSP make-targopts
      rules from custom/<BSP>.cfg files can not be applied to files below
      exec/ when building multilibs.

    * All files below exec/ should not include targopts.h anymore, but
      should include cpuopts.h instead.  However, eliminating inclusion of
      targopts.h currently triggers further structural / header file inclusion
      related issues, because several ports apply BSP or CPU_MODEL specific
      defines from targopts.h below exec/
2000-07-10 19:23:38 +00:00
Joel Sherrill
80e53918dc Moved old_exception_processing and new_exception_processing directories
from score/cpu to libcpu because the determination of which to use is
based on RTEMS_CPU_MODEL.  Thus it can not be determined based solely on
multilib information.
2000-07-07 19:36:14 +00:00
Joel Sherrill
df97683373 Fixed problem reported by Victor V. Vengerov <Victor.Vengerov@oktet.ru>
where alarm() did not correctly account for the watchdog start_time
and stop_time fields being based on ticks not seconds.  This resulted
in alarm() returning a bogus number of seconds remaining.
2000-07-07 19:31:30 +00:00
Joel Sherrill
5f4d774ea7 Moved __RTEMS_APPLICATION__ conditional to include the use of the
static inline routine _CORE_mutex_Seize_interrupt_trylock since
static routines are not included when in an application.
2000-07-07 19:29:05 +00:00
Joel Sherrill
ce1ba298ed Switched to faster implementation. 2000-07-06 21:59:25 +00:00
Joel Sherrill
168ba07c84 Patch from Eric Valette <valette@crf.canon.fr> and Yacine El Kolli
<elkolli@crf.canon.fr> to add support for the mbx860_005b.
2000-07-06 20:36:48 +00:00
Joel Sherrill
34a2679266 Added missing #endif's. 2000-07-06 20:01:43 +00:00
Joel Sherrill
e6faa6ac76 Corrected call to _CORE_mutex_Seize_interrupt_blocking. 2000-07-06 20:01:23 +00:00
Joel Sherrill
8ce962c095 Modfied to execute faster and have fewer instructions. 2000-07-06 20:00:44 +00:00
Joel Sherrill
9d27732222 Switched to using isr disable version of _Objects_Get. When the
semaphore/mutex can be obtained immediately, this cuts execution time
by 50%.
2000-07-06 19:40:58 +00:00
Joel Sherrill
d058ce2ef3 Added _Semaphore_Get_interrupt_disable. 2000-07-06 19:39:20 +00:00
Joel Sherrill
ab654be428 Cleaned up to avoid disruptive use of inline conditionals. 2000-07-06 19:35:44 +00:00
Joel Sherrill
1b7e8c5165 Switched to using _POSIX_Mutex_Get_interrupt_disable to improve performance. 2000-07-06 19:34:49 +00:00
Joel Sherrill
3ef54dcc4c Added support for converting a mutex id to a pointer and returning
with interrupts disabled.
2000-07-06 19:33:52 +00:00
Joel Sherrill
21e2b2b9be Reimplemented _Core_MUTEX_Seize to return with interrupts disabled
if the mutex is successfully obtained.
2000-07-06 19:32:00 +00:00
Joel Sherrill
8d5b438b9e Added _CORE_semaphore_Seize_isr_disable. 2000-07-06 19:27:03 +00:00
Joel Sherrill
c6f111bac0 Added _Objects_Get_isr_disable prototype and added numerous comments. 2000-07-06 19:14:34 +00:00
Joel Sherrill
1d9403a308 Removed unnecessary parentheses. 2000-07-06 19:13:31 +00:00
Joel Sherrill
8a3278fc6a Added objjectgetbyisr.c 2000-07-06 19:11:15 +00:00
Joel Sherrill
12aeaec6dc The code that attempts to obtain a mutex has now been inlined. The
code remaining here now only blocks.
2000-07-06 19:10:30 +00:00
Joel Sherrill
3b4413c08f Directly index local table to avoid error check. 2000-07-06 19:09:27 +00:00
Joel Sherrill
d895fe8798 New file. Convert ID to pointer and return with interrupts -- not
dispatching -- disabled.
2000-07-06 19:06:59 +00:00
Joel Sherrill
42ed30047b Format of return line changed. 2000-07-06 19:01:58 +00:00
Joel Sherrill
8bc62aeb5d Interrupt stack is allocated in _ISR_Handler_initialization not
_Interrupt_Manager_initialization.
2000-07-03 18:44:12 +00:00
Joel Sherrill
0147d5ee73 Added blocked_count field to allow for optimizations. 2000-07-03 15:49:58 +00:00
Joel Sherrill
feb93ede27 Changed extra_system_initialization_stack to extra_mpci_receive_server_stack
to be consistent with other ports.
2000-07-03 15:49:35 +00:00
Joel Sherrill
3af082818e Fixed stat_ino should be st_ino. 2000-07-02 12:29:47 +00:00
Joel Sherrill
e8fd6336c1 Patch from Chris Johns <cjohns@cybertec.com.au> so the web server
shuts down on error -- not exitting the system.
2000-06-30 12:38:25 +00:00
Joel Sherrill
068b64735c Patch from Chris Johns <cjohns@cybertec.com.au> so the directory
read function in the IMFS properly returns the inode number.
2000-06-30 12:36:32 +00:00
Joel Sherrill
e5d6705e46 Patch from Chris Johns <cjohns@cybertec.com.au> to add support for
stat()'ing a symbolic link.  This is needed to support the port
of the BSD commands like ls to RTEMS.
2000-06-30 12:33:13 +00:00
Joel Sherrill
195ae7bada Patch from Chris Johns <cjohns@cybertec.com.au> to add fchdir()
functionality to libc and update TODO.
2000-06-30 12:31:28 +00:00
Joel Sherrill
5532553209 This is the initial addition of the port of RTEMS to the
Hitachi H8 family.  This port was done by Philip Quaife
<philip@qs.co.nz> of Q Solutions and sponsored by
Comnet Technologies Ltd.  The port was done based on RTEMS 3.5.1
to a Hitach H8300H.  The port was updated to RTEMS 4.5 style
Makefiles/configure by Joel Sherrill <joel@OARcorp.com>.
While doing this Joel added support for the h8300-rtems to
binutils, gcc, newlib, and gdb.

NOTE:  Philip submitted a BSP for a Hitachi evaluation board
which is being merged as a separate entity.
2000-06-29 23:00:48 +00:00
Joel Sherrill
bbc38ba58a Added H8 as IEEE whether this is true or not. 2000-06-29 22:35:17 +00:00
Joel Sherrill
63db53342f Disabled #ident since the h8300-rtems binutils do not like the
generated assembly from it.
2000-06-29 22:34:55 +00:00
Joel Sherrill
09a6eba19d Corrected prototype for xdrrec_endofrecord to match C body. 2000-06-29 22:34:30 +00:00
Joel Sherrill
6f6ddc0011 Added RTEMS_CPU_HAS_16_BIT_ADDRESSES constant to disable code
that breaks when the target has 16 bit address space.  One of the H8
multilibs is a 16-bit address space CPU.  When a real attempt is
made to support this CPU model, the code that assumes an address
is 32 bits will have to change.  This constant is probably not
flagging all impacted code.
2000-06-29 22:33:05 +00:00
Joel Sherrill
9b6d1736ee Patch from Chris Johns <cjohns@cybertec.com.au> to make sure the
ttyHead back link is set.
2000-06-29 16:05:15 +00:00
Joel Sherrill
e42a135973 Patch from Chris Johns <cjohns@cybertec.com.au> and
Jennifer Averett <jennifer.averett@oarcorp.com> to fix
appends (O_APPEND at open time) on in-memory files.

A call such as:

    fd = open (file, O_APPEND | O_WRONLY);

did not append to the end of the file.
2000-06-26 14:49:58 +00:00
Joel Sherrill
5e0e012cda Patch from Chris Johns <cjohns@cybertec.com.au> and
Jennifer Averett <jennifer.averett@oarcorp.com> to make sure
"/" is created with S_IFDIR set.
2000-06-26 14:46:19 +00:00
Joel Sherrill
ae9c16c45c Patch from John Cotton <john.cotton@nrc.ca> to correct style of
names to be rtems_PACKAGE_method.
2000-06-16 19:55:03 +00:00
Joel Sherrill
d1716c989b Remove pragma align 4 2000-06-15 22:02:28 +00:00
Joel Sherrill
a3726b15ec Fixing warning obtained by some users. 2000-06-15 19:40:34 +00:00
Joel Sherrill
73e1db9f2b Moved <sys/cdefs.h> to lib/include so non-networking applications could
include <sys/ioctl.h>.
2000-06-15 12:58:24 +00:00
Joel Sherrill
730daa62bc Moved <sys/cdefs.h> from libnetworking to lib/include so non-networking
configurations could see it while including <sys/ioctl.h> and
<sys/ioccom.h>.
2000-06-14 21:13:20 +00:00
Joel Sherrill
9b05600b2c *** empty log message *** 2000-06-14 20:22:31 +00:00
Joel Sherrill
07f0442695 Added include of options.h since it was not being picked up
by the network build.
2000-06-14 20:21:51 +00:00
Joel Sherrill
32e2554f10 Patch rtems-4.5-beta3-mon.diff from Chris Johns <cjohns@cybertec.com.au>
to:

I have also added the ability to register and unregister commands. This
allows me to create a set of monitor commands for the network stack plus
basic memory dump/patch commands (needs a working probe interface). I
will also look at a basic ls/cd/rm/mv/cp command set at some stage.

I have been thinking about changing the monitor in the future to more
like a light weight RTEMS shell, `eshell' for embedded shell. This is a
story for another day but is a process or getting the commands to map to
the filesystem (eg, major=commands, minor=command) and supporting an
environment. The filesystem provide a structure for the commands.
2000-06-14 17:22:59 +00:00
Joel Sherrill
6f93bb49b4 Patch from Chris Johns <cjohns@cybertec.com.au> to enhance network
initialization.  This adds an interface which makes it easier to
control the BSD stack from user code. The BSD stack initialise uses
it. It is a sort of `function' interface for an ifconfig
command.

I also added support for attaching and removing interfaces. With hot
swap PCI comming online support for hot swap PCI will be an important
factor in "state of art" RTOS's. This is also part of a general move on
my part to allow RTEMS to be configured at runtime by calls rather than
table driven at initialisation.
2000-06-14 17:18:18 +00:00