Version 4 (modified by JoelSherrill, on 06/06/07 at 01:45:49) (diff)

Merge 4.6.6 Notes from CVS

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