Commit Graph

1325 Commits

Author SHA1 Message Date
Joel Sherrill
0e8c200051 Renamed old_start340.s to startfor340only.s 1998-07-02 18:07:09 +00:00
Joel Sherrill
132f19405b Initial submission of gen68340 BSP (should run on a 68349) from
Geoffroy Montel <g_montel@yahoo.com>.
1998-07-01 22:03:20 +00:00
Joel Sherrill
a05de51283 Added _stat_r and changed spacing. 1998-07-01 21:33:38 +00:00
Joel Sherrill
dd6dddcf1e Fixed typo. 1998-07-01 21:33:11 +00:00
Joel Sherrill
dc95ee8dce Changed prototype for console_write_support to eliminate a warning. 1998-06-29 17:51:50 +00:00
Joel Sherrill
cf65c40819 Bare BSP patch from Chris Johns <cjohns@plessey.com.au>. He also
sent an example bare bsp but we have not decided how to integrate it yet.
1998-06-27 20:01:28 +00:00
Joel Sherrill
5d18fb057a PC386 BSP enhancements from Aleksey Romanov (Quality Quorum
<qqi@world.std.com>).   Unfortunately after merging these,
the pc386 will not boot using grub for for.  It still does not
work using netboot for me.  Here is his summary of changes:


  rtems/c/src/lib/libbsp/i386/pc386/Makefile.in
  	Added support for new sub-directory

  rtems/c/src/lib/libbsp/i386/pc386/bsp_specs
  	Made possible to build COFF image

  rtems/c/src/lib/libbsp/i386/pc386/console/console.c
  	Added support for serial consoles, selectable by patching
  	binary image, added __assert(), use _IBMPC_inch_sleep()
  	instaed of _IMBPC_inch()

  rtems/c/src/lib/libbsp/i386/pc386/console/inch.c
  	Added _IMBPC_inch_sleep()

  rtems/c/src/lib/libbsp/i386/pc386/console/outch.c
  	Oops - just formatting

  rtems/c/src/lib/libbsp/i386/pc386/include/Makefile.in
  	Added support for new files

  rtems/c/src/lib/libbsp/i386/pc386/include/bsp.h
  	Added support for new features

  rtems/c/src/lib/libbsp/i386/pc386/include/pc386uart.h
  	New file: definitions for serial ports

  rtems/c/src/lib/libbsp/i386/pc386/include/pcibios.h
  	New file: definitions for PCI BIOS

  rtems/c/src/lib/libbsp/i386/pc386/pc386dev/Makefile.in
  	New file: makefile in new directory

  rtems/c/src/lib/libbsp/i386/pc386/pc386dev/i386-stub-glue.c
  	New file: i386-stub interface

  rtems/c/src/lib/libbsp/i386/pc386/pc386dev/i386-stub.c
  	New file: i386-stub itself

  rtems/c/src/lib/libbsp/i386/pc386/pc386dev/pc386uart.c
  	New file: serial ports

  rtems/c/src/lib/libbsp/i386/pc386/pc386dev/pcibios.c
  	New file: PCI BIOS support

  rtems/c/src/lib/libbsp/i386/pc386/start/start.s
  	Commented out DEBUG_EARLY stuff, everything is working fine

  rtems/c/src/lib/libbsp/i386/pc386/start/start16.s
  	Cleaned up

  rtems/c/src/lib/libbsp/i386/pc386/startup/bspstart.c
  	Added call to console_resereve_resources

  rtems/c/src/lib/libbsp/i386/pc386/startup/exit.c
  	Added support for serial console

  rtems/c/src/lib/libbsp/i386/pc386/startup/ldsegs.s
  	Fixed typo in comments

  rtems/c/src/lib/libbsp/i386/pc386/tools/Makefile.in
  	Changed to reflect cnages in code

  rtems/c/src/lib/libbsp/i386/pc386/tools/bin2boot.c
  	Trivialized, problem - I do not know how to make patch
  	remove obsolete files - there are a lot of them there

  rtems/c/src/lib/libbsp/i386/pc386/tools/binpatch.c
  	New file: utility to do binary patches

  rtems/c/src/lib/libbsp/i386/pc386/wrapup/Makefile.in
  	Added support for new directory

  rtems/make/custom/pc386.cfg
  	Add COFF image building
1998-06-27 18:51:49 +00:00
Joel Sherrill
98100d275f Monstrous patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>. I have
made no attempt to divide the comments up and place them with just
the appropriate files.  Here is an excerpt from Ralf's email:

Changes including comments on changes I made after cycling through
all the targets:

  * Added ranlib support. Now all targets use "ranlib" instead of "ar -s"
    to build an index for a library. If ranlib isn't detected during
    configuration, check if ar -s is working and try "ar -s" instead of

  * Removed $(XXX_FOR_TARGET) from make/target.cfg.in, use $(XXX) instead now.

  * gcc-target-default.cfg: LINK_XXXX-defines reworked to solve the -l
    problem under posix (cf gcc-target-default.cfg)

  * rtems-glom replaced by Makefile-rules inside of the wrapup/Makefile.in
    that has been using rtems-glom until now.

  * Removed CCC and friends in gcc-target-default.cfg, as they have been
    breaking CXX support.

  * Removed CONFIG.$(TARGET_ARCH).CC lines from several custom/*.cfg
    files, because this is now set in custom/default.cfg.

  * Added aclocal/ar-s.m4, check whether "ar -s" is working

  * Added aclocal/cygwin.m4 and aclocal/exeext.m4.

  * Reworked aclocal/canonicalize-tools.m4: Added ar -s check; fixes for
    problems when  XXX_FOR_TARGET is given via environment variables (didn't
    work for gcc until now), adding cygwin check, improved autoconf-cache
    handling.

  * Removed -l from make rule dependencies. LINK_LIBS is now allowed to
    contain -L and -l. LINK_OBJS and LINK_FILES must not contain -L or -l.
    gcc28 make-exe rules now link using $(LINK_OBJS) $(LINK_LIBS) => Almost
    all custom/*.cfg are modified. This is very likely to break something
    because of typos or having missed to edit a file.

  Open problems, known bugs, things I didn't do:

  * custom/p4000.cfg seems to be out of date and requires to be reviewed.

    (JRS NOTE: It is subordinate p4650 and p4600 -- both of which build ok
               after minor changes.)

  * custom/psim.cfg needs to be reviewed, I added some changes to it, I am
    insecure about.

    (JRS NOTE: psim had a minor problem endif/endef swapped but runs fine.)

  * rtems-glom.in can now be removed.

  * gcc*.cfg files "make depend" rules don't honor language specific flags
    (e.g CXXFLAGS is ignored for *.cc) - Nothing to worry about now, but may
    cause problems for hosts/targets not using gcc or rtems-add-ons that use
    external packages.

  * AFAIS, the no_bsp BSP can't be build anymore, i.e. configure refused
    to configure for it whatever I tried.

  * The toplevel and toplevel+1 README files are quite out-dated

  * cygwin.m4 isn't of much use for rtems. In most cases (cf.
    aclocal/*.m4) it is worked around by directly using $host_os. I think
    I'll remove it soon after the next snapshot

  * Before release the cygwin patch needs to be tested under cygwin. I may
    have broken/missed something (esp. the sed-pattern to convert \\ into /
    may be broken).

  * You should try to build/run the posix-BSP under solaris - I don't
    expect problems, but I am not 100% sure, esp. with regard to ranlib/ar -s.

  * You should consider to convert all make/compilers/*.cfg files into
    make/compilers/*.cfg.in files and let autoconf generate the *.cfg. This
    may help getting rid of some if/then/else statements and help
    hard-coding some defines into those files in future and shouldn't
    disturb now.

  * Not having installed libc.a/libm.a on a host may still break building
    rtems, esp. when using -disable-gcc28 as the gcc27-configuration scheme
    directly accesses libc.a and libm.a. The problem should not appear when
    using gcc28 because it references libc/libm only through -lc and -lm
    which may be static or dynamic (I didn't test this).

  * shgen is not yet included (I didn't yet have enough time to integrate it).

  * I know about a few more configure-probs (esp. cross-checking
    --enable-* flags).
     + warn/refuse to configure when --enable-libcdir and
       --enable-gcc28 are given.
     + force --enable-libcdir when --disable-gcc28 is given

  * Replaced KSHELL with @KSH@ in some shell scripts generated by configure.in.

  * Added a dependency to aclocal/*.m4 in the toplevel Makefile => configure
    and aclocal.m4 will now be rebuild when any aclocal/*.m4 file is changed

  * Some changes to aclocal/gcc-pipe.m4 and aclocal/gcc-specs.m4

  * Replaced i[[3456]]86-unknown-freebsd2.[[12]] with i[[3456]]86-*freebsd2.*
    in configure.in, as I suppose there might exist a variety of valid vendors
    (2nd field of the name-tripple)

  * Disabled override MAKEFLAGS in toplevel Makefile.in - Potential
    side-effects are not really clear to me.

  * In mvme162.cfg, $(LINK_LIBS) is missing in the CC line in gcc28's make-exe
    rule (yet another one I missed to edit). Just append $(LINK_LIBS) to
    the "CC" line, like I hopefully did to ALL other custom/*.cfg files.

  * the problem with mvme162lx.cfg is a follow-up problem of the
    mvme162.cfg-bug.

  * mvme162/console and idp/console had variables named Buffer which
    conflicted with similarly named variables in some tests.
1998-06-27 17:09:47 +00:00
Joel Sherrill
d13b247131 Clean up from Aleksey Romanov (Quality Quorum <qqi@world.std.com>).
Here are his comments:

  I removed all unnecessary stuff from start16.s - setting idt and
  setting 16-bit stack using .code32 istructions.
1998-06-25 18:42:30 +00:00
Joel Sherrill
7252f65668 Added David Fiddes for ColdFire. 1998-06-25 16:54:08 +00:00
Joel Sherrill
b22b1294a6 Coldfire support patch from David Fiddes <D.J.Fiddes@hw.ac.uk>. 1998-06-25 16:26:43 +00:00
Joel Sherrill
924e17ac81 Patch from Robin Kirkham <Robin.Kirkham@mlb.dmt.csiro.au> to distinguish
between CPU32 and CPU32+ cores.  Commentary follows:

    Unfortunately c/src/exec/score/cpu/m68k/m68k.h incorrectly defines
    M68K_HAS_MISALIGNED for the plain old CPU32 (it is correct for the CPU32+).
    As a consequence, the recently-relocated m68k memcpy() may still attempt
    misaligned memory accesses.

    I suggest that until such time as egcs/gcc differentiates these cores
    that we invent a new preprocessor symbol, RTEMS__mcpu32p__ for this
    purpose, on the assumption that egcs may one day grow a -mcpu32+ option
    which will define a __mcpu32p__ symbol (whether this option would also
    define __mcpu32__ is yet to be resolved).

    BSPs that have a CPU32+ (like gen68360) would for the time being define
    RTEMS__mcpu32p__ using -D. The symbol is `RTEMS__mcpu32p__' because
    symbols of the form __xxx__ should only be defined by the compiler
    itself.

    Note that the patch tests for RTEMS__mcpu32p__ *before* __mcpu32__, since
    __mcpu32__ is still defined for the CPU32+. It does not change the
    gen68360 BSP.

    An aside:
    Note that in egcs-1.0.3a, the option -m68332 is identical to -mcpu32,
    except it defines __mc68332__ as well as __mcpu32__. This is only
    for the sake of compatibility. The story with -m68302 is similar;
    it defines __mc68302__ and __mc68000__. In my opinion these options
    are depreciated and ought to be avoided in RTEMS.
1998-06-25 16:10:45 +00:00
Joel Sherrill
803de4133b Suggestion from Robin Kirkham <Robin.Kirkham@mlb.dmt.csiro.au> to improve
clarity.
1998-06-24 17:58:56 +00:00
Joel Sherrill
414ab59a1e Updated. 1998-06-24 14:51:09 +00:00
Joel Sherrill
4f0ffa57d8 Removed RTS and DTR handling code since the MC68681 seems to only have
automatic handling of RTS/CTS.  This only protects the on-chip buffers
and FIFOs -- not the termios queues as the RTS/CTS code in here did.  It
may be necessary in the future to enable this automatic support.

Interrupt processing code added.

In some places, channel and duart base addresses were swapped.
1998-06-23 17:42:46 +00:00
Joel Sherrill
ae21568caa New file describing mc68681 libchip driver. 1998-06-23 17:40:00 +00:00
Joel Sherrill
beaaf49f4b Added numerous comments. 1998-06-23 16:02:52 +00:00
Joel Sherrill
a5d0c7cf07 Added concept of "mate" -- the other port on the same DUART. This is
needed to properly handle the interrupt mask register since it is
shared.
1998-06-23 15:54:33 +00:00
Joel Sherrill
b7ebcea33e Added close. 1998-06-23 14:59:26 +00:00
Joel Sherrill
25c3ff91a5 Added set attributes and written initialize and first open. 1998-06-23 14:55:21 +00:00
Joel Sherrill
790d4211ae Added more registers. 1998-06-23 14:54:42 +00:00
Joel Sherrill
9eef52b95f Added set attributes prototype. 1998-06-23 14:54:30 +00:00
Joel Sherrill
8a2d4f2bb9 Added NULL entry for setAttributes. 1998-06-23 14:54:09 +00:00
Joel Sherrill
7deeb16840 Added initial part of iniitialization. 1998-06-22 11:49:38 +00:00
Joel Sherrill
ab2dbd7e94 Added mc68681 stuff to the makefile.
Added numerous constants to mc68681_p.h.

Changed spacing.

At this point the polled support is in but nothing else is right except the
structure.
1998-06-22 11:09:32 +00:00
Joel Sherrill
36152b0e4b Moved get and set register/data typedefs to this file. 1998-06-22 11:08:16 +00:00
Joel Sherrill
4cd4c5a092 Moved set and get Register and Data type defininitions to serial.h.
Cleaned up spacing.
1998-06-22 11:07:51 +00:00
Joel Sherrill
58b1e95f18 Corrected spacing 1998-06-22 10:34:34 +00:00
Joel Sherrill
424e23ee48 spacing changes 1998-06-22 10:17:14 +00:00
Joel Sherrill
547de5d956 Removed blank lines and bad debug stuff 1998-06-22 10:15:14 +00:00
Joel Sherrill
e4acf68ace Added comments and corrected spacing. 1998-06-22 09:59:22 +00:00
Joel Sherrill
aa0da6b2c2 Added a comment and cleaned up spacing 1998-06-22 09:56:09 +00:00
Joel Sherrill
cd58d821b0 Initial version of these files. 1998-06-22 09:28:03 +00:00
Joel Sherrill
ce17a7245c changed version to 980618 1998-06-18 19:14:36 +00:00
Joel Sherrill
cb1b853d0b All task delete API level services were incorrectly assuming that the
task to be deleted was created via the same API (i.e. were of the object
class created by this API).  For example, a POSIX thread calling
the rtems_task_delete(SELF) directive would incorrectly update the RTEMS
object local pointer table.

Jennifer discovered this when moving tests implemented in C using the
Classic RTEMS API into a tree of Ada tests.  The Ada tests were implicitly
using POSIX services.  This lead to some unexpected behavior.
1998-06-18 19:01:57 +00:00
Joel Sherrill
7e4c3d8b1d Modified _Objects_Is_class_valid() to correctly report that 0 was
not a valid object class.  This was discovered while looking for
a bug reported by Jennifer.
1998-06-18 18:58:42 +00:00
Joel Sherrill
9a6994b490 Added freebsd support from Dario Alcocer <alcocer@connectnet.com>. 1998-06-18 15:22:35 +00:00
Joel Sherrill
ce691c51fd Corrected so it returns the correct date. Previously was getting the number
of seconds since 1988 from RTEMS and not adding in the 1970-1988 correction
factor.  Plus removed checks for data/time set since POSIX does not permit
this call to fail.  GNAT 3.12 depends on this.
1998-06-18 15:14:48 +00:00
Joel Sherrill
bdb1057668 Spacing changes. 1998-06-18 15:13:29 +00:00
Joel Sherrill
ecc9737f40 Added a public interface to the chain handler. 1998-06-18 15:12:27 +00:00
Joel Sherrill
fe52766e81 Corrected compilation problems. 1998-06-16 19:06:35 +00:00
Joel Sherrill
8bf609527b Added initialization of css routines. 1998-06-16 19:05:50 +00:00
Joel Sherrill
1efeb61c56 Added css_iface -- assumes ../include/dy_supplied. 1998-06-16 18:22:54 +00:00
Joel Sherrill
ee3b242bb2 Initial incarnation of libchip compiles. 1998-06-13 16:03:57 +00:00
Joel Sherrill
0737710b2b Base code from ppcn_60x BSP 1998-06-13 15:48:25 +00:00
Joel Sherrill
23f5cdb5bb Adding interrupt handling routine. 1998-06-13 13:34:09 +00:00
Joel Sherrill
510524c61c Removed bad comments. 1998-06-13 13:34:08 +00:00
Joel Sherrill
8d83075595 Added IRQ information. 1998-06-13 13:33:38 +00:00
Joel Sherrill
a12d7fd72f Updated to add -qrtems_debug and -qnolinkcmds. 1998-06-13 13:33:11 +00:00
Joel Sherrill
773890639c Added optimized version of memcpy.c to this directory since RTEMS makes
important distinctions between CPU models which are not made by gcc.
These distinctions help give us a more optimized memcpy().  This is important
for message queues and KA9Q.
1998-06-12 21:12:12 +00:00