summaryrefslogtreecommitdiffstats
path: root/c/src/exec (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Patch from Eric Valette <valette@crf.canon.fr>:Joel Sherrill1998-08-311-6/+17
| | | | | | | | | | | | | | | | | | | Eric> NB : there is still a bug on PC386 serial line : exit does not Eric> flush the remaining output queue. As this is not a bug in the Eric> driver itself but somewhere in PC386 initialization/termios Eric> relationship it will be part of another patch. Eric> NB2 : As Emmanuel excerced the exception hanlder code, while Eric> porting the SMC driver to the new BSD stack, we found a bug Eric> in the exception handler : it shall not delete the current Eric> thread in case we are running at interrupt level. This will Eric> be part of another patch... So here is the patch. This patch fixes the two problems mentionned above + it use vpath mechanism intead of copying the irq related files in the right directory. This avoid to compile them each time and is more homogenous with other Makefiles.
* Patch from Eric Norum <eric@skatter.usask.ca>:Joel Sherrill1998-08-311-4/+2
| | | | | | | | | | | | | | I think I figured out why rtems_panic was locking up instead of shutting down the executive and returning to the code that called boot_card(). Later on there is code to print some messages on the standard error stream, a recursive call back to rtems_verror (through rtems_error) and finally a call to _exit(). I think that the _Thread_Disable_dispatch() is preventing the final context switch back to the boot_card() code. Does this sound right to you?
* changed version to 980824Joel Sherrill1998-08-242-2/+2
|
* Added __RTEMS_INSIDE__ macro to insure that ".inl" files are ALWAYS includedJoel Sherrill1998-08-246-6/+6
| | | | when building the executive source.
* changed version to 980821Joel Sherrill1998-08-212-2/+2
|
* Added i386 specific version of in_cksum.c and restructured the mainJoel Sherrill1998-08-213-151/+515
| | | | file to switch out to CPU specific implementations.
* Modified version number to recut snapshot.Joel Sherrill1998-08-212-2/+2
|
* Another missing piece. Thanks Eric.Joel Sherrill1998-08-211-0/+3
|
* changed version to 980821Joel Sherrill1998-08-212-2/+2
|
* Added system task attribute to allow one to create a task with "0" priorityJoel Sherrill1998-08-217-9/+69
| | | | via the user api.
* Patch from Eric Valette <valette@crf.canon.fr>:Joel Sherrill1998-08-213-0/+216
| | | | | | | | | | Here is a patch that enables to catch exception and get message before crashing RTEMS :) It should be generic to any Intel port although enabled only for pc386 BSP... [Joel] I fixed the bug I introduced in irq_asm.s...
* Spacing changesJoel Sherrill1998-08-212-16/+14
|
* Fix from Eric Norum <eric@skatter.usask.ca>:Joel Sherrill1998-08-211-14/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "Thomas Doerfler" <td@imd.m.isar.de> wrote: > > While implementing/testing the console/termios support for > PPC403 in RTEMS-4.0.0-beta3, I am stuck at a certain location in > termios.c: > > During "rtems_termios_initialize", the main control data structure > "*tty" is allocated using malloc(). (Note, that malloc does not > clear the allocated memory and my BSP does not clear memory during > startup). Furtheron, a lot of fields of that structure are > initialized, but the field "rawOutBufState" is not, and therefore > keeps an arbitrary contents. > > When "osend()" is called the first time(with the serial device > driver working in interrupt mode), termios gets stuck and will not > call the device drivers output function. > > My questions now are: > > - anybody already experienced this bug? > - is it a bug at all or did I do anything fundamentally wrong? > - is there already a common bugfix for that? > > I don't like poking around in other people code, as long as I am > not absolutely sure, what I do... Yes, there's a bug there. I thought that Joel had patched this already, but here's a patch to fix this. This patch also addresses a concern that many others have raised regarding enabling and disabling of transmitter interrupts. First, here's the example I've been using of a simple UART-style interrupt-driven driver: =============================================================== void device_write_routine (int minor, char *buf, int count) { UART->control_register &= ~UART_TRANSMITTER_READY; UART->output_register = *buf; UART->control_register |= UART_TRANSMIT_INTERRUPT_ENABLE; } void device_transmit_interrupt_routine (int vector) { UART->control_register &= ~UART_TRANSMIT_INTERRUPT_ENABLE; rtems_termios_dequeue_characters (device_ttyp, 1); } ============================================================== Several people have expressed their concern about the disable/enable of transmitter interrupts for every character. On some machines this disable/enable is an expensive operation. With the attached patch applied you can write the two routines as: ============================================================== void device_write_routine (int minor, char *buf, int count) { code_to_clear_transmitter_ready_status (); if (device_ttyp->rawOutBufState == rob_idle) code_to_enable_transmitter_interrupts (); code_to_send_one_character_to_transmitter (*buf); } void device_transmit_interrupt_routine (int vector) { rtems_termios_dequeue_characters (device_ttyp, 1); if (device_ttyp->rawOutBufState == rob_idle) code_to_disable_transmitter_interrupts (); } ===============================================================
* All warnings removed.Joel Sherrill1998-08-217-6/+25
|
* Added initialization of missing termios structure entries.Joel Sherrill1998-08-211-2/+3
|
* Fixed warning about pointer/integer conversion which turned out to beJoel Sherrill1998-08-211-1/+1
| | | | a missed "&" on a write.
* changed version to 980820pm-BSDJoel Sherrill1998-08-202-2/+2
|
* Patches from Eric NorumJoel Sherrill1998-08-205-12/+44
|
* Added CVS IdsJoel Sherrill1998-08-2064-0/+201
|
* Fixed many warnings.Joel Sherrill1998-08-2034-82/+160
|
* changed version to 980820-BSDJoel Sherrill1998-08-202-2/+2
|
* FreeBSD stack compiles for the first time (except libc/strsep.c)Joel Sherrill1998-08-201-1/+1
|
* FreeBSD stack compiles for the first time (except libc/strsep.c).Joel Sherrill1998-08-209-0/+298
|
* Base filesJoel Sherrill1998-08-19212-0/+59532
|
* changed version to 980819Joel Sherrill1998-08-192-2/+2
|
* Patch from Eric Valette <valette@crf.canon.fr>:Joel Sherrill1998-08-192-5/+37
| | | | | | | - Use the "hlt" instruction for the Idle thread, - Optimise interrupt PATH leadding to thread wakeup, - Preparation for Intel exception management that should come before the end of the week...
* Fixed obsolete reference to BSDINSTALL.Joel Sherrill1998-08-191-1/+1
|
* Patches from Ralf Corsepius <corsepiu@faw.uni-ulm.de> and myself toJoel Sherrill1998-08-192-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | make solaris target buildable. > 1. The ipc check fails since solaris does not define union semun. > The unix port code actually defines this type itself on solaris. Doing > the same thing lets it get configured. Then... > 2. It looks like BSDINSTALL is not defined properly. BSDINSTALL is defined in make/host.cfg.in as BSDINSTALL=@INSTALL@ @INSTALL@ is generated by autoconf's standard macro AC_PROG_INSTALL, which is widely used in almost any autoconf/automake configured package. In case there is really something wrong with it, then it must be considered a bug in autoconf. I can see a doubious fragment in AC_PROG_INSTALL, which is used when no appropriate bsd-install is found. Finally Ralf saw a problem with the find on solaris which I also saw and fixed.
* Added 68060 definition from Chris Johns.Joel Sherrill1998-08-191-0/+17
|
* Fixed preinstall stanza so the prebuild works.Joel Sherrill1998-08-131-3/+3
|
* Patch from Chris Johns <ccj@acm.org>. Comments follow:Joel Sherrill1998-08-131-0/+19
| | | | | | | | | | | Here is a small patch which allows the m68060 to be used. I have not tested the FP switching stuff which we know is broken. This is taken against the libchip snapshot but should merge without problems. If you have any problems please let me know. There are other smaller issues such as superscalar enable and cache control which I have not addressed yet. They are different to all other m68k processors. These can wait IMO.
* changed version to 980808Joel Sherrill1998-08-082-2/+2
|
* changed version to 9800808Joel Sherrill1998-08-082-2/+2
|
* Patch from Eric Valette <valette@crf.canon.fr> which brings the i386ex BSPJoel Sherrill1998-08-052-499/+0
| | | | inline with the new IRQ structure.
* Automatic CPU type detection code from Eric Valette <valette@crf.canon.fr>.Joel Sherrill1998-08-052-2/+5
| | | | Enabled on the pc386.
* Redid Makefiles to properly do a preinstall. There was remnants of theJoel Sherrill1998-08-0511-62/+20
| | | | old way of setting th cpu family and model string names.
* Merged patch from David Fiddes <D.J.Fiddes@hw.ac.uk> to add ColdFireJoel Sherrill1998-08-012-1/+15
| | | | specific register macros and correct code in rtems.s.
* Patch from Eric Valette <valette@crf.canon.fr>:Joel Sherrill1998-07-301-1/+1
| | | | | | Now that Joel told me how to compile outside the tree, I have found a few more bugs. Here is a small patch to fix them.
* Closed window thanks to patch from Eric Norum.Joel Sherrill1998-07-281-5/+3
|
* changed version to 980724Joel Sherrill1998-07-242-2/+2
|
* changed version to 980723Joel Sherrill1998-07-232-2/+2
|
* Patch from Eric VALETTE <valette@crf.canon.fr>:Joel Sherrill1998-07-234-396/+2
| | | | | | | | | | | | | Here is a enhanced version of my previous patch. This patch enables to potentially share the new interrupt management code for all Intel targets (pc386, go32 and force386) bsp. Note : this patch is complete only for pc386. It still needs to be completed for go32 and force386. I carrefully checked that anything needed is in for force386 (only some function name changes for IDT manipulation and GDT segment manipulation). But anyway I will not be able to test any of theses targets...
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1998-07-231-0/+18
| | | | | | | Here is a pure sh-rtems bug-fix patch. The defines to enable the network to host conversion macros in netinet/in.h were missing in sh/cpu.h
* Initialized tty->refcount to 0. When (for whatever reason) malloc()Joel Sherrill1998-07-171-0/+3
| | | | | | | | | | | | | | returned a buffer which was not zero-filled, the reference count was not correct. When the application exitted, the "lastClose" handler was not being called to flush the output. This problem had manifested itself on a variety of platforms. The function rtems_termios_dequeue_characters() incorrectly incremented the buffer pointers when it was invoked and there were no characters in the ring buffer. This problem had also manifested itself on a variety of platforms. The symptom was a strange repeating of the data in the transmitter buffer when the transmitter serial device was supposed to go idle.
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>. Comments:Joel Sherrill1998-07-173-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Added support for bsd "install" ($(BSDINSTALL)) to host.cfg.in, i.e. the standard "install" program that most packages (including automake) use. In Makefiles outside of rtems, "install" normally is referenced by $(INSTALL), but rtems already uses $(INSTALL) for install-if-change, hence I used $(BSDINSTALL) instead to keep up backward compatibility. * Removed references to @GREP@ etc. from host.cfg.in, as configure.in doesn't check for them (Minor cleanup). * Added installation flags INST*FLAGS to host.cfg.in, which should replace -m XXXX flags for installation calls. *Changes to gcc.cfg to enable it to build host programs from multiple sources files. Should not disturb existing sources, but neccessary. * There was a not-so-minor bug in the configuration files: "make install" and "make debug_install" don't work in all subdirectories!! I tried to fix this by adding "install" to MTARGETS in main.cfg, which seems to solve most of the problems. But there still seem to be rare (?) cases where "make debug_install" still seems to have problems. * Changes to many host related tool-Makefiles to demonstrate the abilities of INST*FLAGS, BSDINSTALL and the new rules in gcc.cfg. ..of cause ... but BSDINSTALL is THE standard method to install files in most program packages besides rtems. This part of the patch fixes some minor protection setting problems, but doesn't support TARGET_VARIANTS NOTE: I hope you will like the BSDINSTALL, INST*FLAGS stuff. It is a step to get rid of "install-if-change" and to rely on a more standard installation procedure. If you don't like BSDINSTALL, removing it from the patch isn't difficult- just grep for BSDINSTALL and replace BSDINSTALL with INSTALL or MKDIR. FINALLY: I still have another patch pending (well, not a complete patch yet, it's a partial patch to demonstrate the principle), which adds automatic rebuilding of files generated by autoconf/configure. At the moment I don't dare to submit it, because integrating this patch would require to modify all Makefile.ins because we'd need to add a new "include " line to each Makefile.in.
* New files from Ralf Corsepius <corsepiu@faw.uni-ulm.de>. His comments:Joel Sherrill1998-07-177-0/+330
| | | | | | | | | | | * c/src/exec/score/tools/sh - NEW DIRECTORY - contains shgen Most of it should be self-explanatory. I am a little bit concerned about host-dependent features (getopt, floating point libraries). This shouldn't disturb much now, as this tool should be compileable on all gnu-based hosts and is only applicable for the sh. But in case somebody complains, we may need to add autoconf checks or even restructurize parts of rtems (IMO, rtems needs to be restructurized - remember the "turning rtems upside down" issue).
* Patch from Dario Alcocer <alcocer@connectnet.com>. His comments:Joel Sherrill1998-07-171-0/+2
| | | | | | | | | Haven't had a chance to do an extensive shake-out of 980710, but it builds just fine on FreeBSD 2.2.5 (after termios is fixed using the attached patch), and the tests run fine. FYI: FreeBSD doesn't support System V IPC out of the box, but one only needs to add three options to the kernel build configuration file, recompile the kernel, and you're ready.
* changed version to 980710Joel Sherrill1998-07-102-2/+2
|
* changed version to 980707Joel Sherrill1998-07-072-2/+2
|
* changed version to 9800707Joel Sherrill1998-07-072-2/+2
|