GRETH driver updated, 10-15% performance improvements for GBIT MAC,
unnecessary RX interrupts not taken which under heavy load saves approx.
1500 interrupts/s, one task removed saving about 5kb memory and 1 bug
solved.
BUG: RX interrupt was enabled before the RX-daemon was created which could
result in a faulty call to rtems_event_send.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
Deadlock may arise when the EDCL bug link is used to tunnel
console output over Ethernet, when Ethernet is down one should
avoid using console (only during debugging of LEON targets)
Author: Marko Isomaki <marko@gaisler.com>
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
PR 2010/bsps
The previous code only checked if d-cache snooping was implemented,
however snooping may be available but not enabled which may lead
to driver bugs.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
2009/bsps
All LEON3/4 systems have a CPU-id, if on a single-CPU system the
ID is always zero. On a multicore system it ranges from 0 to 15.
The CPU index should always by updated even in a non-MP RTEMS OS
since the CPU running RTEMS may not always be CPU0. For example
when RTEMS runs on CPU1 and Linux on CPU0 in a mixed ASMP system.
The old code executed within the IRQ controller initialization code
makes no sense since the ASR register is a CPU register, it has
nothing to do with AMBA initialization either.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
The SHM code always wakes one CPU more that configured, however
this has never been a problem since RTEMS will be running on all CPUs
or only two cores were available.
PR 2006/bsps
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
PR 1968/filesystem
* libfs/src/rfs/rtems-rfs-file.c: Fix to the seek bug where a seek
to 0 after reading the end of the file did not point to the
correct block.
* libfs/src/rfs/rtems-rfs-rtems.h,
libfs/src/rfs/rtems-rfs-trace.c: Fix the trace flags. Used to fix
the bug.
PR 1948/filesystem
* libfs/src/rfs/rtems-rfs-file-system.c,
libfs/src/rfs/rtems-rfs-file-system.h,
libfs/src/rfs/rtems-rfs-format.c, libfs/src/rfs/rtems-rfs-rtems.c:
Add support for mount passing an ASCIIZ string containing
configuration options.
* libblock/src/bdbuf.c: Fix state labels in trace output.
PR 1895/cpukit
* posix/src/mqueuerecvsupp.c, posix/src/pthreadjoin.c,
score/src/coretodmsecstoticks.c, score/src/coretodusectoticks.c,
score/src/timespectoticks.c: Ensure time conversions to ticks do not
ignore partial tick and return 1 less than desired.
* irq/irq.c: Removed printk() before the interrupt initialization
because it somehow destroys the interrupt context.
* make/custom/nds.cfg: Enable Thumb interwork.
* startup/bspstart.c: Set default exception handler.
PR 1855/cpukit
* Makefile.am, configure.ac: Correct signal processing during
pthread_join. We are supposed to unblock the thread waiting on a
pthread_join(), dispatch the signal handler, account for it
potentially overwriting errno, and then have the thread return to
blocking within pthread_join().
* psxeintr_join/.cvsignore, psxeintr_join/Makefile.am,
psxeintr_join/init.c, psxeintr_join/psxeintr_join.doc,
psxeintr_join/psxeintr_join.scn: New files.
PR 1855/cpukit
* posix/src/psignal.c, posix/src/psignalunblockthread.c,
posix/src/pthread.c, posix/src/pthreadjoin.c: Correct signal
processing during pthread_join. We are supposed to unblock the thread
waiting on a pthread_join(), dispatch the signal handler, account for
it potentially overwriting errno, and then have the thread return to
blocking within pthread_join().
PR 1867/cpukit
* Makefile.am, configure.ac, psx12/task.c, psxkey03/init.c,
psxrwlock01/test.c: Correct implementation of pthread_exit() and
pthread_join() to support the case where a thread is joinable but
calls pthread_exit() before a thread has attempted to join.
* psx16/.cvsignore, psx16/Makefile.am, psx16/init.c, psx16/psx16.doc,
psx16/psx16.scn: New files.
PR 1867/cpukit
* posix/src/pthreadexit.c, posix/src/pthreadjoin.c: Correct
implementation of pthread_exit() and pthread_join() to support the
case where a thread is joinable but calls pthread_exit() before a
thread has attempted to join.
PR 1839/filesystem
* libcsupport/include/rtems/libio_.h, libcsupport/src/fchdir.c,
libcsupport/src/fdatasync.c, libcsupport/src/fpathconf.c,
libcsupport/src/fsync.c, libcsupport/src/ftruncate.c,
libcsupport/src/read.c, libcsupport/src/readv.c,
libcsupport/src/write.c, libcsupport/src/writev.c: Some calls did not
return proper status for permission errors or incorrectly permissions
at all.