summaryrefslogtreecommitdiffstats
path: root/c/src/lib (unfollow)
Commit message (Collapse)AuthorFilesLines
1998-10-13Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to correct minorJoel Sherrill1-2/+2
cosmetic things.
1998-10-13Modified to avoid building certain files under UNIX.Joel Sherrill1-3/+11
1998-10-12Typo which prevented baud rate changes from Thomas Doerfler <td@imd.m.isar.de>.Joel Sherrill1-1/+1
1998-10-12New files.Joel Sherrill2-0/+164
1998-10-12Removed fork(), execv(), and wait() since they are now stubbed in theJoel Sherrill1-21/+0
POSIX API.
1998-10-12Added opendir and readdir.Joel Sherrill1-1/+1
1998-10-12Added header files per request from Chris Johns to avoid problemsJoel Sherrill1-0/+4
in include file order.
1998-10-07NEXT_GAS should have been NEW_GAS. Spotted by Emmanuel Raguet ↵Joel Sherrill3-4/+4
<raguet@crf.canon.fr>.
1998-10-06Removed files pc386uart.h and pcibio.h from Makefile since they areJoel Sherrill1-1/+0
now installed from the shared directory.
1998-10-06Patch from Emmanuel Raguet <raguet@crf.canon.fr> to add networkingJoel Sherrill1-0/+10
information to this file to be more like the gen68360.
1998-10-05Large patch from Erik Ivanenko <erik.ivanenko@utoronto.ca> whichJoel Sherrill31-376/+3515
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-05Commented out line which ran psim tests twice.Joel Sherrill1-1/+1
1998-10-05Update from Thomas Doerfler <td@imd.m.isar.de>.Joel Sherrill1-0/+58
1998-10-01Patch from Ian Lance Taylor <ian@airs.com>:Joel Sherrill1-5/+8
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-09-30BSP submitted by Thomas Doerfler <td@imd.m.isar.de>:Joel Sherrill7-221/+1192
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-30BSP submitted by Thomas Doerfler <td@imd.m.isar.de>:Joel Sherrill19-0/+2091
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-30Added new autoconf test for i386 code16/code32 support. The guts of theJoel Sherrill4-7/+10
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-30New file from Ralf.Joel Sherrill1-0/+91
1998-09-30Changed based on patch from pc386 linkcmds from Ian Lance TaylorJoel Sherrill6-5/+6
<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-30Patch from Ian Lance Taylor <ian@airs.com>:Joel Sherrill1-0/+1
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-29Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill8-18/+26
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-29Patch from Eric Norum <eric@skatter.usask.ca>:Joel Sherrill1-3/+2
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-24Removed superfluous initialization of PC video.Joel Sherrill1-3/+4
1998-09-24Patch from Erik Ivanenko <erik.ivanenko@utoronto.ca>:Joel Sherrill2-33/+7
Please find attached a start.s that includes a cli prior to the hlt instruction. This ensures that external interrupts cannot restart the system after returning to the startup code. ( According to the hlt docs, they will! ) Also find a new timer.c. ( I forgot to update the countdowm value in the timer when I changed the PSCLK frequency in start.s) . This improves timer accuracy. The raw_idt_notify messages are no longer infinite, I tested sp11 and sp05, both which were bad, and I have seen the message print once in one test. I think it's ok if it prints out once. In fact, I don't think you can effectively stop it!
1998-09-24New version from Erik Ivanenko <erik.ivanenko@utoronto.ca>.Joel Sherrill1-1/+23
1998-09-23Modifed to zero out the C heap if the CPU Table indicates that theJoel Sherrill1-0/+15
RTEMS workspace is to be zeroed out.
1998-09-23Updated to remove bad comment.Joel Sherrill1-4/+1
1998-09-23Removed printk() references.Joel Sherrill1-4/+4
1998-09-23Patch from Erik Ivanenko <erik.ivanenko@utoronto.ca>:Joel Sherrill2-23/+40
Please find attached the two files that have been changed relative to 980921 . The changes here are in the handling of the counter-timer used as the basis for the rtems executive clock. For the most part, these are housekeeping changes. The PSCLK frequency change in start.s... was a part of several bug-fixes. The fix improves executive clock and timer accuracy. changes : start.s -- All timers are disabled by the initialization routine -- PSCLK ( used by clock and timers ) frequency changed to 1MHz The clock_initialize routine now assumes that the PSCLK frequency is exactly 1 MHz. ckinit.c Clock_isr -- removed division by 1000. Now use 'static' variable -- clock_intial_isr_value -- to reset Clock_isrs variable. clock_initialize -- moved counter timer initialization here. Values used to configure the timer are totally dependent on BSP_configuration.microseconds_per_tick ( and the PSCLK assumption). Initializes clock_initial_isr_value used by th Clock_isr to reset Clock_isrs. clock_on -- no longer configures the timer, just enables it. Since altering the number of sections in the BSP, I decided to give it a good "once over" . The clock handling is now cleaner.
1998-09-23Patch from Aleksey (Quality Quorum <qqi@world.std.com>):Joel Sherrill11-78/+67
1. Finally fixes raw interrupts for pc386 2. Makes some minor cleanup in console and startup 3. Makes rtems_termios_dequeue_characters() to return count of outstanding chars - it allows to simplify console isrs a little bit. 4. pc386 uart modified to be friendlier to termios parameter changes, to have minor performance improvement and to take advantage of of above termios modification.
1998-09-23Switched "NEW_GAS" flag.Joel Sherrill1-2/+0
1998-09-21New file from Emmanuel Raguet <raguet@crf.canon.fr>.Joel Sherrill1-0/+64
1998-09-21Patch from Eric Norum <eric@skatter.usask.ca>:Joel Sherrill1-29/+101
Here's a patch to make the rtems_showroute routine a little more useful. For `host' route table entries the link-level address is now displayed. This is equivalent to the old `show arp table' information displayed by the KA9Q code.
1998-09-21Patch from Eric Norum and David Fiddes to put ColdFire support inJoel Sherrill1-8/+9
the inet checksum routine.
1998-09-21Update from Aleksey (Quality Quorum <qqi@world.std.com>) to pick up someJoel Sherrill3-48/+138
patches missing from 980911.
1998-09-21Removed by patch from Aleksey.Joel Sherrill1-1/+0
1998-09-21Patches from Aleksey which were not in 980911.Joel Sherrill1-1/+4
I am sending you patch which was lost. As far as I remember there were minor patches on top of it, either by Eric Valette or by Eric Norum or by both.
1998-09-21Update from Eric Valette <valette@crf.canon.fr>:Joel Sherrill4-16/+16
Here are patches that bring 980911 back to what I think is a correct version of raw IDT management as well as a correct initialisation of video console and rtems managed interrupts.
1998-09-21Update from Erik Ivanenko <erik.ivanenko@utoronto.ca> to bring theJoel Sherrill5-298/+138
i386ex bsp up to date. 1) A 'hlt' instruction is coded in case of a return from boot_card in start.s.
1998-09-21Patch from Eric Norum:Joel Sherrill2-8/+3
I fixed the problems noted by Victor Vengerov. 1) Fix typo in cfsetispeed(). 2) In rtems_termios_open, ensure that args->iop->data1 is set before calling device-specific open routine.
1998-09-20Patch from Eric Valette <valette@crf.canon.fr>:Joel Sherrill1-1/+1
Compiled and booted without problem. However console was set on COM2. At least for 4.0 it should be video :-)
1998-09-11Updates to tree to make it build with all desired changes and the conversionJoel Sherrill8-794/+841
of the SONIC driver to the new FreeBSD stack instead of KA9Q.
1998-09-11Corrected spelling error.Joel Sherrill1-10/+10
1998-09-11Patch from "David J. Fiddes" <D.J@fiddes.surfaid.org>:Joel Sherrill1-126/+37
I've fixed a few minor probs with the optimised version that Eric put together for me the other day and sent the fixes back to him. Provided he doesn't have a problem with it we've got a pretty solid in_cksum for the ColdFire as well as straight m68k. I've enclosed my updated in_cksum_m68k.c At the moment my own bottlenecks are elsewhere...as my driver is pulling 16bit data chunks through a libchip-esq access routine from the chip which for a polled I/O device is never going to be quick.
1998-09-10Patch from Eric Norum <eric@skatter.usask.ca>:Joel Sherrill1-1/+6
If you're getting close to a new snaphot, here's something that might be useful to add to the BSP README notes for systems with networking.
1998-09-10Patch from David Fiddes <D.J.Fiddes@hw.ac.uk> to make this compileJoel Sherrill1-1/+1
for the ColdFire.
1998-09-10Patch from Eric Valette <valette@crf.canon.fr>. Most of this was includedJoel Sherrill1-1/+8
in a previous patch. Comments from Eric: patch_com2 was before your own fixes of raw IDT vector management routine. It mainly use human readable constants for the serial line driver code + the patch you gave me for com2 write routine. I applied your patch for raw IDT mngt on top of that. Then made minor cleaning in patch_idt_mngt. I hope this helps.
1998-09-10Patch from Eric Norum <eric@skatter.usask.ca> to fix a cryptic errorJoel Sherrill1-1/+3
message after comments from Eric Valette <valette@crf.canon.fr>.
1998-09-10Patch from Emmanuel Raguet <raguet@crf.canon.fr>:Joel Sherrill3-10/+114
After some good comments from Eric Norum [thanks, Eric !], I have added some modifications to my previous driver patch : - wait for transmitter ready before sending a packet, - new delay management in case of ring-overwritting.
1998-08-31Fixed spacing. More comments from Eric Norum need to be addressed.Joel Sherrill1-7/+7