Commit Graph

1703 Commits

Author SHA1 Message Date
Joel Sherrill
d7d51376cb Now strip elf executables so they are much smaller and quicker to
read from and write to a floppy.
1998-07-09 18:52:07 +00:00
Joel Sherrill
2ba0a0c2a8 Corrected z85c30 address and clock constants. 1998-07-09 18:50:13 +00:00
Joel Sherrill
459c1d2350 Added board specific baud rate table and set driver function table
to polled.
1998-07-09 18:49:49 +00:00
Joel Sherrill
2d8e51aade Changed static to MC68681_STATIC to make all data and routines
globally visiable to ease debugging.

Added support for mc68681 "2 column" style baud rate table as
well as the Exar 88681 "4 column" style baud rate table.

Added support for user override of the default baud rate table.
1998-07-09 18:45:28 +00:00
Joel Sherrill
b2ec38c852 Removed commented out line. 1998-07-09 18:44:10 +00:00
Joel Sherrill
8f6f641efa Added sersupp.c. 1998-07-09 18:41:49 +00:00
Joel Sherrill
d94d47b336 New files to contain generally needed serial driver support routines. 1998-07-09 18:41:33 +00:00
Joel Sherrill
37e8259727 Changed static to MC68681_STATIC to make all routines and data global
to ease debugging.
1998-07-09 18:40:27 +00:00
Joel Sherrill
8b2492f9cb Added support for the Extended Baud Rate set control found in the
Exar 88681 but not in the base 68681.

Added support for user provided baud rate tables.  This is needed
when the board does not use the standard baud rate clock.
1998-07-09 18:39:50 +00:00
Joel Sherrill
27045a82af Changed static to NS16550_STATIC to make all routines and data global
to ease debugging.
1998-07-09 18:38:18 +00:00
Joel Sherrill
677a503916 Changed static to Z85C30_STATIC so all data and routines could be global
for debugging purposes.
1998-07-09 18:37:47 +00:00
Joel Sherrill
80b1c2f87f Added information to README.mc68681.
Created the basic README and the README.z85c30.
1998-07-09 18:36:19 +00:00
Joel Sherrill
0d1184ffec changed version to 980707 1998-07-07 19:05:55 +00:00
Joel Sherrill
d859b5fb22 changed version to 9800707 1998-07-07 19:00:26 +00:00
Joel Sherrill
57c9bc284e Removed rtems-glom as a generated file. Regenerated aclocal.m4 and configure. 1998-07-07 18:35:01 +00:00
Joel Sherrill
030ff41790 Conditionals for CONSOLE_USE_INTERRUPTS should have been "if" not
"if defined".
1998-07-07 16:38:18 +00:00
Joel Sherrill
270d58fe4c New file to satisfy readdir() family. 1998-07-06 19:00:33 +00:00
Joel Sherrill
a90b9905c9 Missed this file in the initial merge. 1998-07-06 18:44:32 +00:00
Joel Sherrill
b5bb3d6f59 Update from Geoffroy Montel (g_montel@yahoo.com) to get in sync with termios
and eliminate warnings.
1998-07-06 14:52:30 +00:00
Joel Sherrill
1d22b037e3 Added Geoffroy Montel (g_montel@yahoo.com) for the gen68340 BSP. 1998-07-06 14:51:39 +00:00
Joel Sherrill
5ae415b394 Added include of termios.h.
Also added a block of comments above the console_tbl structure to explain
each entry.
1998-07-05 11:04:31 +00:00
Joel Sherrill
bc2ebb46e2 Added some address constants for the SCC and DUART to make it easier
to fill in the configuration table.
1998-07-05 11:01:21 +00:00
Joel Sherrill
e7ff2b2798 New file added in the process of converting the console driver to
libchip/serial.
1998-07-05 11:00:57 +00:00
Joel Sherrill
92a6454654 Converted the console driver to use libchip/serial and added support
for the z85c30 found on the DMV177.  This effort started with the
console driver from the Radstone PPC2.  But some simplifications were
made in the hope that console.c can be made a shared file at some point
in the near future.

Split the debugio from console.  This was done so at some point in the
future printk support as is found in the pc386 BSP can be shared
across all BSPs.
1998-07-05 11:00:00 +00:00
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
4f0fc115d9 Correction from Aleksey Romanov <qqi@world.std.com> to finish off his patch.
I had trouble merging his original patch and this corrected a reject.
1998-06-29 17:52:43 +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
a5400c06d6 Bare bsp patch from Chris Johns and regenerated files. 1998-06-25 16:21:31 +00:00
Joel Sherrill
43b78f15ae Added definition of RTEMS__mcpu32p__ per patch from Robin Kirkham. 1998-06-25 16:21:07 +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