summaryrefslogtreecommitdiffstats
path: root/c/src/exec (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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 Ian Lance Taylor <ian@airs.com>:Joel Sherrill1998-10-011-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.
* 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...
* 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 Eric Norum <eric@skatter.usask.ca>:Joel Sherrill1998-09-291-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.
* 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
|
* 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-2313-18/+17
| | | | ports.
* Modifed to zero out the C heap if the CPU Table indicates that theJoel Sherrill1998-09-231-0/+15
| | | | RTEMS workspace is to be zeroed out.
* changed version to 980923Joel Sherrill1998-09-232-2/+2
|
* Patch from Aleksey (Quality Quorum <qqi@world.std.com>):Joel Sherrill1998-09-232-4/+10
| | | | | | | | | | | 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.
* changed version to 980921Joel Sherrill1998-09-212-2/+2
|
* Patch from Eric Norum <eric@skatter.usask.ca>:Joel Sherrill1998-09-211-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.
* Patch from Eric Norum and David Fiddes to put ColdFire support inJoel Sherrill1998-09-211-8/+9
| | | | the inet checksum routine.
* Patch from Eric Norum:Joel Sherrill1998-09-211-7/+2
| | | | | | | | 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.
* Corrected spelling error.Joel Sherrill1998-09-111-10/+10
|
* changed version to 980911Joel Sherrill1998-09-112-2/+2
|
* Patch from "David J. Fiddes" <D.J@fiddes.surfaid.org>:Joel Sherrill1998-09-111-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.
* Patch from David Fiddes <D.J.Fiddes@hw.ac.uk> to make this compileJoel Sherrill1998-09-101-1/+1
| | | | for the ColdFire.
* Patch from Eric Norum <eric@skatter.usask.ca> to fix a cryptic errorJoel Sherrill1998-09-101-1/+3
| | | | message after comments from Eric Valette <valette@crf.canon.fr>.
* Fixed spacing. More comments from Eric Norum need to be addressed.Joel Sherrill1998-08-311-7/+7
|
* Patch from Emmanuel Raguet <raguet@crf.canon.fr>:Joel Sherrill1998-08-312-3/+9
| | | | | I have reworked the ethernet driver for the BSP pc386 and here is the patch to apply.
* 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
|