Commit Graph

2613 Commits

Author SHA1 Message Date
Joel Sherrill
42c0b9ee13 NEXT_GAS should have been NEW_GAS. Spotted by Emmanuel Raguet <raguet@crf.canon.fr>. 1998-10-07 14:54:02 +00:00
Joel Sherrill
959d75263b Corrected typo pointed out by Pollak Leon <leonp@plris.com>. 1998-10-07 14:39:58 +00:00
Joel Sherrill
5ee9068634 changed version to 981006 1998-10-06 21:45:33 +00:00
Joel Sherrill
72640a330e Removed files pc386uart.h and pcibio.h from Makefile since they are
now installed from the shared directory.
1998-10-06 20:56:13 +00:00
Joel Sherrill
d171f8a814 Corrected assembly language to use constants instead of addresses.
Thanks to Rod Barman for this one.
1998-10-06 20:55:28 +00:00
Joel Sherrill
dff5b40d92 Added missing field (idle_task_stack_size) to CPU Table. 1998-10-06 20:54:36 +00:00
Joel Sherrill
dc6763c88f Patch from Emmanuel Raguet <raguet@crf.canon.fr> to add networking
information to this file to be more like the gen68360.
1998-10-06 13:02:51 +00:00
Joel Sherrill
0ebbf66b0e Large patch from Erik Ivanenko <erik.ivanenko@utoronto.ca> which
moves pieces of the pc386 bsp up to a shared level for all i386 BSPs
and modifies the i386ex BSP to use those shared pieces.  Serial remote
debugging is included for both targets.  Erik's notes:

    There are several workarounds in it:

     1) #define NEXT_GAS is hardcoded in pc386/start/start.s
     2)  #define NEXT_GAS is hardcoded in i386ex/start/start.s
     3) #define NEW_GAS is hardcoded in pc386/start16.s
     4) #undef __assert and redeclare _assert hardcoded in console.c for
        both pc386 and i386ex due to my egcs1.1b ~ newlib problem. Should have
        modified t-rtems.cfg ( no time )

    I've tested pc386 with both video and serial consoles and GDB remote.
    All work fine, except that GDB acts weird. ( re: other posting)

    I hope this will work for you.  It took quite some time to locate the
    autoconf error.  The remainder was just grunt work.
    Unfortunately, I think I've unwound the removal of the IBMPCInitVideo
    stuff. Sorry. I REALLY can't spend more time... I've been at this
    conversion to 4.0 locally and updating the release since Sept. 8th, and
    have yet to compile my network driver.... This is as much as I can do
    right now.

    I look forward to the next patch to really test i368ex.  I did make sure
    that the sample tests worked for pc386.
1998-10-05 22:36:06 +00:00
Joel Sherrill
711a2a1133 New file based on information from Eric Norum <eric@skatter.usask.ca>. 1998-10-05 21:26:07 +00:00
Joel Sherrill
41a890a381 Commented out line which ran psim tests twice. 1998-10-05 19:45:04 +00:00
Joel Sherrill
86dc490ac4 Update from Thomas Doerfler <td@imd.m.isar.de>. 1998-10-05 18:21:11 +00:00
Joel Sherrill
fe64e9f42d Regenerated. 1998-10-05 15:22:38 +00:00
Joel Sherrill
09213ec317 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
As mentioned in other mails before, there is are minor inconsistencies in the
  posix custom/*cfg files.

    Linux-posix.cfg sets RTEMS_BSP=posix
    FreeBSD-posix.cfg sets RTEMS_BSP=posix
    Solaris-posix.cfg first sets RTEMS_BSP=posix, later it sets
       RTEMS_BSP=solaris2

    1. Setting RTEMS_BSP=posix is redunant to settings in default.cfg
    2. The solaris variant of setting RTEMS_BSP is merely non-functional.

    The patch attached to this mail should clean up this issue.

    The patch was tested by building the posix bsp under
    i686-pc-linux-glibc1/glibc2 and Solaris2.6 (I did not run any
    rtems program, however) The HPUX9 and FreeBSD configuration files
    were adapted in analogy to the solaris and linux configurations.
1998-10-05 13:53:16 +00:00
Joel Sherrill
bf1ef5ba1d Regenerated after fixing a typo. 1998-10-05 13:50:53 +00:00
Joel Sherrill
f44a81b761 Modifed i386 gas test to put each directive on its own line per
problem report from Erik Ivanenko <erik.ivanenko@utoronto.ca>.
1998-10-05 12:52:31 +00:00
Joel Sherrill
082fc2d5d2 Fixed use of incorrect macro for minimum stack size. 1998-10-05 12:45:53 +00:00
Joel Sherrill
388be68fbc Patch from Ian Lance Taylor <ian@airs.com>:
The reentrant versions of the malloc functions in
        c/src/lib/libc/malloc.c
    do not match the definitions in newlib.  These will be used if you use
    newlib routines such as fdopen.  I believe this patch to malloc.c is
    needed to provide the correct versions.
1998-10-01 21:44:31 +00:00
Joel Sherrill
f0bca9fb67 changed version to 981001 1998-10-01 20:22:37 +00:00
Joel Sherrill
086836e10e Patch from Thomas Doerfler <td@imd.m.isar.de> to improve 403 support.
- c/src/exec/score/cpu/powerpc/ppc.h: some small changes
      (added ppc403 characteristics like a exception vector prefix
      register, some special register definitions). I am quite sure, they
      are compatible with the existing sources, although I did not check

    - c/src/exec/score/cpu/powerpc/cpu.c: There is one severe
      limitation in the exception entries: Due to the current code
      arrangement, the "branch absolute" to the ISR handler may only
      jump to the first 128MByte or the last 128MByte of the 4GByte
      address range. When the ppc403 is running out of ROM, the ROM
      functions are located in the last 128MByte (0xFFF00000 and up).
      These addresses were not handled correctly (sign reduced) in
      "install_raw_handler". The change I added should work on existing
      ppc BSPs aswell...
1998-10-01 18:50:43 +00:00
Joel Sherrill
1c82336395 Regenerated. 1998-10-01 18:49:16 +00:00
Joel Sherrill
e125ad3471 Switched from HAS_KA9Q=no to HAS_NETWORKING=no. 1998-10-01 18:48:43 +00:00
Joel Sherrill
a0b7a078db Patch from Eric Norum <eric@skatter.usask.ca>:
Here's a patch to get rid of the `#define RTEMS__mcpu32p__ 1' when
    gen68360.cfg is being used as a companion for gen68360_040.cfg.  The
    old version worked because of the order of the conditional tests in
    m68k.h (the check for __mc68040__ is before the test for
    RTEMS__mcpu32p__) , but I think it might have been a little confusing
    to others just getting started.
1998-10-01 18:38:53 +00:00
Joel Sherrill
02c14a0bfc Updated to reflect Thomas Doerfler (td@imd.m.isar.de) submitting the
helas403 BSP.
1998-10-01 13:13:33 +00:00
Joel Sherrill
aecfa2bf09 BSP submitted by Thomas Doerfler <td@imd.m.isar.de>:
Finally I am through: I have found the last bugs that made RTEMS-
    4.0-beta3 start on my ppc403 board from ROM. So now the '403
    support is up to date again.

    Roughly I have added the following features:
    - support for the on-chip interrupt controller (in a separate module)
    - interrupt support for the console device
    - termios support for the console device

    ==============================================
    Since the BSP behaivour changed in some details (console no
    longer is polling, other memory layout etc) I have created a new
    BSP "helas403" rather than changing the "papyrus" BSP. The old
    "polled" console driver still sticks around in "console.c.polled"

    To get the BSP up and running, I had to create the new BSP files
    (derived from papyrus). Besides that, the following source areas
    have been changed:

    - c/src/lib/libcpu/powerpc/ppc403: changes to console driver, small
    changes to clock driver, new "ictrl" interrupt controller driver

    - c/src/exec/score/cpu/powerpc/ppc.h: some small changes
    (added ppc403 characteristics like a exception vector prefix
    register, some special register definitions). I am quite sure, they
    are compatible with the existing sources, although I did not check

    - c/src/exec/score/cpu/powerpc/cpu.c: There is one severe
    limitation in the exception entries: Due to the current code
    arrangement, the "branch absolute" to the ISR handler may only
    jump to the first 128MByte or the last 128MByte of the 4GByte
    address range. When the ppc403 is running out of ROM, the ROM
    functions are located in the last 128MByte (0xFFF00000 and up).
    These addresses were not handled correctly (sign reduced) in
    "install_raw_handler". The change I added should work on existing
    ppc BSPs aswell...

    - c/src/lib/libc/termios.c: During my tests, I added one change you
    sent me, so this patch will already be incorporated in the current
    source tree.

    There are some smaller changes, see the attached diff file.

    =========================================
    Concerning the GNU toolchain:

    I tried several tool chains. Finally I almost succeeded with

    egcs-1.0.3a with patch  egcs-1.0.3-rtems-diff-19980527

    I had to add the following lines to the egcs files. Without them
    configure complaint that the cross compiler could not generate
    executable output.
    - additional lines needed in egcs distribution in file
      gcc/config/rs6000/rtems.h:

    +++ lines start
    #undef STARTFILE_DEFAULT_SPEC
    #define STARTFILE_DEFAULT_SPEC "ecrti.o%s"

    #undef  ENDFILE_DEFAULT_SPEC
    #define ENDFILE_DEFAULT_SPEC "ecrtn.o%s"
    ++++ lines end

    As far as I have seen in the Changelog of egcs, you have recently
    sent two patches affecting the powerpc support, but they were
    added in the wrong order.... :-(

    egcs-19980628 with patch egcs-19980628-rtems-diff-19980707 does
    not work!

    I used binutils 2.9.1 with patch binutils-2.9.1-rtems-diff-19980515
     (binutils 2.8.1 does not work, internal error in gas)
    and newlib-1.8.0 with patch newlib-1.8.0-rtems-diff-19980707

    Finally I had to poke a line in the "bit" script, since, on my LINUX
    machine, the GNU make is only available as "make", not as
    "gmake"...

    For all the tools and newlib I selected configuration "powerpc-
    rtems".

--------------------------------------------
IMD Ingenieurbuero fuer Microcomputertechnik
Thomas Doerfler           Herbststrasse 8
D-82178 Puchheim          Germany
email:    td@imd.m.isar.de
1998-09-30 21:55:53 +00:00
Joel Sherrill
be4284d0f2 BSP submitted by Thomas Doerfler <td@imd.m.isar.de>:
Finally I am through: I have found the last bugs that made RTEMS-
    4.0-beta3 start on my ppc403 board from ROM. So now the '403
    support is up to date again.

    Roughly I have added the following features:
        - support for the on-chip interrupt controller (in a separate module)
        - interrupt support for the console device
        - termios support for the console device

    ==============================================
    Since the BSP behaivour changed in some details (console no
    longer is polling, other memory layout etc) I have created a new
    BSP "helas403" rather than changing the "papyrus" BSP. The old
    "polled" console driver still sticks around in "console.c.polled"
    To get the BSP up and running, I had to create the new BSP files
    (derived from papyrus). Besides that, the following source areas
    have been changed:

    - c/src/lib/libcpu/powerpc/ppc403: changes to console driver, small
    changes to clock driver, new "ictrl" interrupt controller driver

    - c/src/exec/score/cpu/powerpc/ppc.h: some small changes
    (added ppc403 characteristics like a exception vector prefix
    register, some special register definitions). I am quite sure, they
    are compatible with the existing sources, although I did not check

    - c/src/exec/score/cpu/powerpc/cpu.c: There is one severe
    limitation in the exception entries: Due to the current code
    arrangement, the "branch absolute" to the ISR handler may only
    jump to the first 128MByte or the last 128MByte of the 4GByte
    address range. When the ppc403 is running out of ROM, the ROM
    functions are located in the last 128MByte (0xFFF00000 and up).
    These addresses were not handled correctly (sign reduced) in
    "install_raw_handler". The change I added should work on existing
    ppc BSPs aswell...

    - c/src/lib/libc/termios.c: During my tests, I added one change you
    sent me, so this patch will already be incorporated in the current
    source tree.

    There are some smaller changes, see the attached diff file.

    =========================================
    Concerning the GNU toolchain:

    I tried several tool chains. Finally I almost succeeded with

    egcs-1.0.3a with patch  egcs-1.0.3-rtems-diff-19980527

    I had to add the following lines to the egcs files. Without them
    configure complaint that the cross compiler could not generate
    executable output.
    - additional lines needed in egcs distribution in file
      gcc/config/rs6000/rtems.h:

    +++ lines start
    #undef STARTFILE_DEFAULT_SPEC
    #define STARTFILE_DEFAULT_SPEC "ecrti.o%s"

    #undef  ENDFILE_DEFAULT_SPEC
    #define ENDFILE_DEFAULT_SPEC "ecrtn.o%s"
    ++++ lines end

    As far as I have seen in the Changelog of egcs, you have recently
    sent two patches affecting the powerpc support, but they were
    added in the wrong order.... :-(

    egcs-19980628 with patch egcs-19980628-rtems-diff-19980707 does
    not work!

    I used binutils 2.9.1 with patch binutils-2.9.1-rtems-diff-19980515
     (binutils 2.8.1 does not work, internal error in gas)
    and newlib-1.8.0 with patch newlib-1.8.0-rtems-diff-19980707

    Finally I had to poke a line in the "bit" script, since, on my LINUX
    machine, the GNU make is only available as "make", not as
    "gmake"...

    For all the tools and newlib I selected configuration "powerpc-
    rtems".

--------------------------------------------
IMD Ingenieurbuero fuer Microcomputertechnik
Thomas Doerfler           Herbststrasse 8
D-82178 Puchheim          Germany
email:    td@imd.m.isar.de
1998-09-30 21:50:42 +00:00
Wade A Smith
05d499280c Corrected TYPO error in the file. 1998-09-30 21:18:46 +00:00
Wade A Smith
b8ea1c8eb5 Corrected TYPO errors in the file 1998-09-30 21:15:23 +00:00
Joel Sherrill
2c3840b563 Added new autoconf test for i386 code16/code32 support. The guts of the
test were suggested by Ian Taylor <ian@airs.com> and Joel did the
hard part of putting it in aclocal and editting all the offending
Makefiles and source code which could use this feature.
1998-09-30 20:58:39 +00:00
Wade A Smith
2405b76726 Corrected TYPOs in the file 1998-09-30 20:52:43 +00:00
Joel Sherrill
f65b0903f5 New file from Ralf. 1998-09-30 20:51:54 +00:00
Wade A Smith
8dd54b6363 Updated the STATUS CODE section for the routines in this file. 1998-09-30 20:21:45 +00:00
Joel Sherrill
b931d05af0 Added Id's. 1998-09-30 19:51:39 +00:00
Joel Sherrill
5620149cd6 New configure test from Ian Lance Taylor <ian@airs.com>:
If the target is an i386, this test checks whether or not the binutils
  is new enough to have good support for code16.
1998-09-30 19:51:31 +00:00
Wade A Smith
1dedfde98f Updated the STATUS CODE section of the routines in this file. 1998-09-30 19:39:56 +00:00
Wade A Smith
8ed58e6547 Made formatting changes to the file 1998-09-30 18:19:40 +00:00
Joel Sherrill
4ca5bd8b93 Changed based on patch from pc386 linkcmds from Ian Lance Taylor
<ian@airs.com>:

    The pc386 linker scripts omits .gnu.linkonce.r* sections.  It's not a
    big deal, but they should be treated like .rodata sections.  ELF
    versions of g++ generate them for static constants defined in template
    classes, such as string::npos.
1998-09-30 17:27:57 +00:00
Joel Sherrill
d1d4766494 Patch from Ian Lance Taylor <ian@airs.com>:
The pc386 linker scripts omits .gnu.linkonce.r* sections.  It's not a
    big deal, but they should be treated like .rodata sections.  ELF
    versions of g++ generate them for static constants defined in template
    classes, such as string::npos.
1998-09-30 17:17:23 +00:00
Wade A Smith
c11f51269b Updated the DESCRIPTION section of the times routine. 1998-09-30 15:45:08 +00:00
Wade A Smith
a65c28e785 Documented the fsync and fdatasync routines in this file. 1998-09-30 15:42:46 +00:00
Wade A Smith
9dd238772f Updated the STATUS CODE section for the truncate routine. 1998-09-30 15:40:47 +00:00
Joel Sherrill
17408b901b Patch from Eric Norum <eric@skatter.USask.Ca>:
I found that my 68040/68360 test programs would not run even after
    I fixed the `wrong BSP' problem.

    It seems that there's a bug in the interrupt handling code for
    processors with hardware interrupt stacks (e.g. 68040).  The wrong
    status register was getting pushed on the stack for the `return
    from exception' to call _ISR__Dispatch.   This ended up making
    the context switch code run on the interrupt stack, so interrupt-driven
    context switches would always fail.

    I guess that no one has tried running any of the RTEMS-4.0 snapshots
    on a 68040 machine!

    Anyhow, here are the patches for
        1) gen68360.cfg   ---   to fix the `wrong-BSP' problem.
        2) m68k/cpu_asm.s ---   to fix the hardware interrupt stack problem.

    With these patches in place, the network demo programs run on my
    68040/68360 system.  The paranoia program runs with no failures,
    defects nor flaws.
1998-09-30 13:02:30 +00:00
Wade A Smith
982ed3f825 Made cosmetic changes and documented routines in this file 1998-09-29 21:53:08 +00:00
Wade A Smith
6e62b72e39 Made cosmetic changes and documented routines in file. 1998-09-29 21:52:24 +00:00
Wade A Smith
80189ac259 Made cosmetic changes, and document routines in the file. 1998-09-29 21:51:52 +00:00
Wade A Smith
f1ccfde628 Made cosmetic changes to the file and documented the time, times, and
getimeofday routines.
1998-09-29 21:51:08 +00:00
Joel Sherrill
21bfd93aaf Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
Please find enclosed a patch which enables me to build the bare-bsp for
    sh-rtems.

    Changes:
        1. Add preinstall to libbsp/bare/include/Makefile.in
        2. Removed FORCEIT, add preinstall to
        libbsp/sh/gensh1/include/Makefile.in
        3. Disabled support of set_vector from sh code (shared/setvec.c is still
        present but isn't used anymore), set_vector replaced with standard rtems
        functions.

    Problems still present:
        1. Support of spin-delays in bare bsp
        2. Proper support of cpu frequency

    To configure I used:
        <srcdir>/configure \
        --target=sh-rtems \
        --prefix=<instdir>/sh-bare \
        --enable-bare-cpu-model=sh7032 \
        --enable-bare-cpu-cflags='-Wall -m1 -DMHZ=20
        -DCPU_CONSOLE_DEVNAME="\"/dev/null\""'
        --enable-rtemsbsp=bare \
        --disable-networking \
        --disable-cxx \
        --disable-posix \
        --disable-tests

    IMO, if there are no objections to this patch, a similar approach should
    be applied to all CPUs/BSPs (esp. hppa1.1, mips64orion, ppc403, because
    they apply set_vector inside of libcpu).
1998-09-29 12:40:33 +00:00
Joel Sherrill
766ed7c0f1 Patch from Eric Norum <eric@skatter.usask.ca>:
Remember the test to see if a socket could be read and written at
    the same time by two different tasks?  I discovered that if both
    tasks attempt to close the socket a panic can occur from inside the
    BSD code.

    Closing the same socket twice from two different threads is
    certainly an error, but a panic is not the greatest error reporting
    method :-)

    The following small change to the socket close routine should reduce
    the chances of the panic.
1998-09-29 12:15:08 +00:00
Joel Sherrill
d7fcc1d40a Added sentence to indicate sections were deliberately empty.
Added NONE to Notes sections and "-" to make this easier to fill out later.
1998-09-29 00:05:40 +00:00
Joel Sherrill
241e4c7c0a Added sentence to indicate sections were deliberately empty. 1998-09-29 00:04:53 +00:00
Joel Sherrill
2341410c7a Fleshed out considerably. This is almost a passable manual now. 1998-09-29 00:02:53 +00:00