summaryrefslogtreecommitdiffstats
path: root/c/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to correct minorJoel Sherrill1998-10-133-6/+6
| | | | cosmetic things.
* Modified to avoid building certain files under UNIX.Joel Sherrill1998-10-131-3/+11
|
* Typo which prevented baud rate changes from Thomas Doerfler <td@imd.m.isar.de>.Joel Sherrill1998-10-121-1/+1
|
* changed version to 4.0.0-beta4Joel Sherrill1998-10-122-2/+2
|
* New files.Joel Sherrill1998-10-124-0/+328
|
* Removed fork(), execv(), and wait() since they are now stubbed in theJoel Sherrill1998-10-121-21/+0
| | | | POSIX API.
* Added opendir and readdir.Joel Sherrill1998-10-121-1/+1
|
* Added header files per request from Chris Johns to avoid problemsJoel Sherrill1998-10-123-0/+12
| | | | in include file order.
* NEXT_GAS should have been NEW_GAS. Spotted by Emmanuel Raguet ↵Joel Sherrill1998-10-073-4/+4
| | | | <raguet@crf.canon.fr>.
* changed version to 981006Joel Sherrill1998-10-062-2/+2
|
* Removed files pc386uart.h and pcibio.h from Makefile since they areJoel Sherrill1998-10-061-1/+0
| | | | now installed from the shared directory.
* Corrected assembly language to use constants instead of addresses.Joel Sherrill1998-10-061-2/+2
| | | | Thanks to Rod Barman for this one.
* Added missing field (idle_task_stack_size) to CPU Table.Joel Sherrill1998-10-061-0/+1
|
* Patch from Emmanuel Raguet <raguet@crf.canon.fr> to add networkingJoel Sherrill1998-10-061-0/+10
| | | | information to this file to be more like the gen68360.
* Large patch from Erik Ivanenko <erik.ivanenko@utoronto.ca> whichJoel Sherrill1998-10-0531-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.
* New file based on information from Eric Norum <eric@skatter.usask.ca>.Joel Sherrill1998-10-051-0/+42
|
* Commented out line which ran psim tests twice.Joel Sherrill1998-10-051-1/+1
|
* Update from Thomas Doerfler <td@imd.m.isar.de>.Joel Sherrill1998-10-051-0/+58
|
* Fixed use of incorrect macro for minimum stack size.Joel Sherrill1998-10-051-1/+1
|
* Patch from Ian Lance Taylor <ian@airs.com>:Joel Sherrill1998-10-012-10/+16
| | | | | | | | 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.
* changed version to 981001Joel Sherrill1998-10-012-2/+2
|
* Patch from Thomas Doerfler <td@imd.m.isar.de> to improve 403 support.Joel Sherrill1998-10-014-1/+42
| | | | | | | | | | | | | | | | | - 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...
* BSP submitted by Thomas Doerfler <td@imd.m.isar.de>:Joel Sherrill1998-09-307-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
* BSP submitted by Thomas Doerfler <td@imd.m.isar.de>:Joel Sherrill1998-09-3019-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
* Added new autoconf test for i386 code16/code32 support. The guts of theJoel Sherrill1998-09-304-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.
* New file from Ralf.Joel Sherrill1998-09-301-0/+91
|
* Changed based on patch from pc386 linkcmds from Ian Lance TaylorJoel Sherrill1998-09-306-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.
* Patch from Ian Lance Taylor <ian@airs.com>:Joel Sherrill1998-09-301-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.
* Patch from Eric Norum <eric@skatter.USask.Ca>:Joel Sherrill1998-09-302-18/+1
| | | | | | | | | | | | | | | | | | | | | | | 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.
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1998-09-298-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).
* Patch from Eric Norum <eric@skatter.usask.ca>:Joel Sherrill1998-09-293-9/+6
| | | | | | | | | | | | | | 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.
* New files.Joel Sherrill1998-09-273-1/+35
|
* Now compiles.Joel Sherrill1998-09-253-1/+7
|
* Added ENOSYS stubs for a number of process routines.Joel Sherrill1998-09-258-0/+132
|
* Improved missing directory message.Joel Sherrill1998-09-241-1/+4
|
* Removed superfluous initialization of PC video.Joel Sherrill1998-09-241-3/+4
|
* Patch from Erik Ivanenko <erik.ivanenko@utoronto.ca>:Joel Sherrill1998-09-242-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!
* New version from Erik Ivanenko <erik.ivanenko@utoronto.ca>.Joel Sherrill1998-09-241-1/+23
|
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>.Joel Sherrill1998-09-232-2/+2
|
* IDLE task stack size now specified as a field in the CPU Table for allJoel Sherrill1998-09-2314-19/+18
| | | | ports.
* Modifed to zero out the C heap if the CPU Table indicates that theJoel Sherrill1998-09-232-0/+30
| | | | RTEMS workspace is to be zeroed out.
* changed version to 980923Joel Sherrill1998-09-232-2/+2
|
* Updated to remove bad comment.Joel Sherrill1998-09-231-4/+1
|
* Removed printk() references.Joel Sherrill1998-09-231-4/+4
|
* Patch from Erik Ivanenko <erik.ivanenko@utoronto.ca>:Joel Sherrill1998-09-232-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.
* Patch from Aleksey (Quality Quorum <qqi@world.std.com>):Joel Sherrill1998-09-2313-82/+77
| | | | | | | | | | | 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.
* Switched "NEW_GAS" flag.Joel Sherrill1998-09-231-2/+0
|
* changed version to 980921Joel Sherrill1998-09-212-2/+2
|
* New file from Emmanuel Raguet <raguet@crf.canon.fr>.Joel Sherrill1998-09-211-0/+64
|
* Patch from Eric Norum <eric@skatter.usask.ca>:Joel Sherrill1998-09-213-87/+303
| | | | | | | 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.