Version 6 (modified by JoelSherrill, on 06/06/07 at 01:53:14) (diff)

Add 4.6.5 and 4.6.4

4.6 Release Notes

Release 4.6.6 is the latest version in the 4.6 release series. Release 4.6.6 of RTEMS is primarily a problem fixing release and the problems addressed are discussed here. The primary driving factor for 4.6.6 was a patch to address GCC optimizing code outside of interrupt disable critical sections. Other bug fixes and improvements were also committed to the branch so this release includes them. The notable changes are that the SPARC LEON3 BSP received significant improvements including supprt for SpaceWire? and a new NIC from Gaisler Research. The PC386 BSP was modified to allow easy compile time selection of VGA or COM1 as the console.

4.6.6 is available for download from or .

Please be warned that the entire set of tools for all hosts can consume an enormous amount of space. For the 4.6 series, this is approximately 1.6 GB. The bulk of this is tool binaries for approximately 10 target CPU families on GNU/Linux, Cygwin, and Solaris. It is highly unlikely that any non-maintainer requires a full download. Please try to download just what is required.

In addition to the standard RTEMS feature set?, the 4.6 release series includes these major improvements over previous RTEMS releases:

Tool Improvements

RTEMS Improvements

  • New port to the ARM including network optimizations
  • New port to the OpenCores?.org OR32
  • MIPS port redesigned to support more CPU models including the space hardened LSI 33000 derivative Mongoose V and the Toshiba TX3904.
  • New Board Support Packages for:
    • ARM simulator in GDB
    • ARM based Cogent EDP7312
    • ARM VegaPlus? with support for on-CPU peripherals
    • MIPS Mongoose V and on-CPU peripherals
    • Motorola MCF5206Elite Coldfire
    • Motorola MTX603e, MVME2100, and MVME230x
    • Motorola MPC8260ADS
    • PC BSP variants optimized for 486, Pentium and above, and Athlon
    • Reneas/Hitachi? SH4 generic BSP
    • SPARC ERC32 BSP variation for CPU model without FPU with support on-CPU peripherals
    • SPARC LEON2 and LEON3 with support for on-CPU peripherals
    • Tosbiba MIPS JMR3904 and on-CPU peripherals
  • FAT filesystem supporting FAT12, FAT16, and FAT32
  • ATA/IDE device support
  • NFS client
  • Dynamic downloading via CEXP shell
  • Numerous ported third party packages including Python and TCL
  • Many more improvements including more POSIX support and much reorganization as part of the ongoing effort to move RTEMS to full automake support and separate the CPU and BSP portions of RTEMS.

Release 4.6.6 Notes

11 problems reports ( filed by users were closed between 4.6.5 and 4.6.6. Four (4) of these were BSP specific. These problems can be roughly categorized as follows:

  • Run-Time Problems (7)
    • 830/filesystem - termios ioctl(FIONREAD) reported wrong number of chars
    • 843/rtems_misc - memory corruption in web server when not using "internal" malloc
    • 849/networking - rtems portmapper stack overrun
    • 850/rtems - watchdog with delay of 1 failing to time out
    • 855/tests - a bug in the define of macro function sprint_time()
    • 886/filesystem - fcntl(F_GETFL) POSIX violation (non-blocking fd doesn't return O_NONBLOCK)
    • 890/networking - Webserver POST DoS vulnerability
  • BSP and Port Specific Problems Reports (5)
    • 719/bsps - m68kpretaskinghook.c vs if ((unsigned long)&pointer == 0)
    • 834/bsps - PPC BSP exception handler stack popping fix
    • 837/bsps - 4.6.5 broken on motorola_powerpc (mvme23xx, 26xx, ..) other than mvme2100
    • 845/bsps - mvme2100 BSP has MMU disabled

Release 4.6.5 Notes

6 problems reports ( filed by users were closed between 4.6.4 and 4.6.5. Five (5) of these were BSP specific and only one was cross-platform. These problems can be roughly categorized as follows:

  • Run-Time Problems (1)
    • PR 829/rtems - task variable dtor called with wrong argument<
  • BSP and Port Specific Problems Reports (5)
    • 527/bsps - mbx8xx BSP should be modified in various ways (same fix as PR 822)
    • 577/bsps - Lib Shared Console Close correction
    • 822/bsps - MBX8xx-BSP does not boot (same fix as PR 527)
    • 827/bsps - sparc BSP update
    • 833/bsps - PPC BSPs must not enable FPU across user ISR

Release 4.6.4 Notes

38 problems reported ( by users were fixed between 4.6.2 and 4.6.4. On a positive note, 3 of these issues were simple improvements in argument parsing, 8 were general improvements in either functionality or cleanup, and 12 were BSP or port specific. These problems can be roughly categorized as follows:

  • Improved Parameter Validation (3)
    • PR 628/rtems - POSIX sigset of 0 should result in EINVAL
    • PR 749/networking - NULL pointer derefernce in show_inet_route().
    • PR 750/pppd - NULL pointer derefernce in wait_input().
  • Run-Time Problems (10)
    • PR 577/bsps - Lib Shared Console Close correction
    • PR 692/rtems - Region Manager broken for blocking when empty
    • PR 745/rtems - internal timers are not always reinitialized
    • PR 772/networking - select() not waking up when socket becomes writable
    • PR 790/rtems - Extensions name are not correctly managed
    • PR 796/rtems - sem_timedwait uses relative time instead of absolute time
    • PR 805/rtems - It is not possible to create more than 11 posix timers
    • PR 807/rtems - Timer chain corruption with simultaneous used by different priority interrupt
    • PR 808/rtems_misc - printk crashes with field size smaller than value.
    • PR 820/rtems - core msgq count not atomic with chain inserts
  • Improvements (8)
    • PR 704/bsps - ide controller wrapper should only be once in the source tree
    • PR 721/filesystem - unlink does not yet work for DOSFS
    • PR 742/rtems - cpukit/score/include/rtems/system.h stringify pollutes application namespace
    • PR 744/filesystem - fix unlink for dosfs
    • PR 786/rtems - Backport mallocfreespace optimization to 4.6
    • PR 810/rtems - ide_part_table.h does not link with cpp
    • PR 817/rtems - rtems_gxx_recursive_mutex_init_function
    • PR 819/filesystem - symbol clash in ttyname.c and ttyname_r.c
  • BSP and Port Specific Problems (12)
    • PR 581/bsps - PSIM BSP should migrate to powerpc new exception processing model
    • PR 617/bsps - cdtest sample and C++ constructors do not work on psim
    • PR 693/rtems_misc - mc146818a_ioreg.c is non-portable
    • PR 696/bsps - powerpc: old_exception_processing/cpu.c need bsp.h
    • PR 697/bsps - Suspicious comments in helas403/flashentry/flashentry.S
    • PR 715/bsps - libchip/rtc/mc146818a.c should not include bsp.h
    • PR 717/bsps - motorola_powerppc bootloader miscompiled
    • PR 743/bsps - pc386 BSP build fails on rtems-4-6-branch
    • PR 777/bsps - psim: Add a Processor_Synchronize command in bsp.h
    • PR 778/bsps - score603e - modify SCORE_.. to BSP_.. for globally used defs.
    • PR 781/rtems_misc - libchip: ns16550 has an error in the baud rate calculation
    • PR 816/bsps - mpc8xx ethernet struct has taddr members in the wrong order
  • Documentation Issues (1)
    • PR 706/doc - Classic API task_is_suspended doc has extra not
  • Tool Issues (1)
    • PR 594/tools - GNAT Is missing
  • Test Issues (2)
    • PR 628/rtems - POSIX sigset of 0 should result in EINVAL. XXX
    • PR 721/tests - bogus assert in itrontests/itronsem01
  • Miscellaneous
    • PR 350/make_build - Honor user setting LD_PATHS as addition to LDFLAGS

=Release 4.6.3 Notes =

==Release 4.6.2 Notes==

===Release 4.6.1 Notes===

===Release 4.6.0 Notes===