* rtems/asm.h, rtems/score/cpu.h: cpu.h defines were not available to
assembly programs. This resulted in percpu.h (when included from
assembly) not being able to detect that the MIPS does not have a
dedicated software managed interrupt stack.
PR 1529/cpukit
* utime.c: Change file access time and modified time to
current time if pointer to struct utimbuf is NULL.
* imfs_utime.c: Upon successful completion, imfs_utime() marks
the time of the last file status change, st_ctime, to be updated.
* libcsupport/src/chdir.c, libcsupport/src/chmod.c,
libcsupport/src/chown.c, libcsupport/src/close.c,
libcsupport/src/eval.c, libcsupport/src/fchdir.c,
libcsupport/src/fchmod.c, libcsupport/src/fchown.c,
libcsupport/src/fcntl.c, libcsupport/src/fdatasync.c,
libcsupport/src/freenode.c, libcsupport/src/fstat.c,
libcsupport/src/fsync.c, libcsupport/src/ftruncate.c,
libcsupport/src/ioctl.c, libcsupport/src/link.c,
libcsupport/src/lseek.c, libcsupport/src/mknod.c,
libcsupport/src/mount.c, libcsupport/src/open.c,
libcsupport/src/read.c, libcsupport/src/readlink.c,
libcsupport/src/readv.c, libcsupport/src/rmdir.c,
libcsupport/src/stat.c, libcsupport/src/statvfs.c,
libcsupport/src/symlink.c, libcsupport/src/unlink.c,
libcsupport/src/unmount.c, libcsupport/src/write.c: Removed
filesystem checks for NULL methods checks from the main posix
rountines. These are now required to have at a miminum default
routines in the tables.
PR 1472/cpukit
* libcsupport/Makefile.am, libcsupport/include/rtems/malloc.h,
libcsupport/src/free.c, libcsupport/src/malloc.c,
libcsupport/src/malloc_initialize.c, libcsupport/src/realloc.c,
libcsupport/src/rtems_memalign.c: Remove malloc boundary code. It has
not been used since before 4.6 and is bitrotted.
* libcsupport/src/malloc_boundary.c: Removed.
* configure.ac, score/include/rtems/score/percpu.h: Add
__RTEMS_SIZEOF_VOID_P__ to cpuopts.h so percpu.h has this information
available during build and after installation.
* libnetworking/lib/tftpDriver.c: rtems_tftp_ops and
rtems_tftp_handlers are now const and static.
* libnetworking/rtems/tftp.h: Removed
rtems_bsdnet_initialize_tftp_filesystem and rtems_tftp_ops.
PR 1573/cpukit
* configure.ac, posix/src/killinfo.c,
posix/src/psignalclearprocesssignals.c,
posix/src/psignalsetprocesssignals.c,
posix/src/psignalunblockthread.c, posix/src/pthreadcreate.c,
posix/src/pthreadkill.c, posix/src/pthreadsigmask.c,
rtems/src/signalsend.c, rtems/src/taskmode.c, score/Makefile.am,
score/preinstall.am, score/include/rtems/system.h,
score/include/rtems/score/context.h, score/include/rtems/score/isr.h,
score/include/rtems/score/thread.h, score/src/isr.c,
score/src/isrthreaddispatch.c, score/src/thread.c,
score/src/threaddispatch.c, score/src/threadloadenv.c: Add a per cpu
data structure which contains the information required by RTEMS for
each CPU core. This encapsulates information such as thread
executing, heir, idle and dispatch needed.
* score/include/rtems/score/percpu.h, score/src/percpu.c: New files.
PR 1573/cpukit
* cpu_asm.S, rtems/score/cpu.h: Add a per cpu data structure which
contains the information required by RTEMS for each CPU core. This
encapsulates information such as thread executing, heir, idle and
dispatch needed.
PR 1573/cpukit
* rtems/score/cpu.h: Add a per cpu data structure which contains the
information required by RTEMS for each CPU core. This encapsulates
information such as thread executing, heir, idle and dispatch needed.
PR 1573/cpukit
* rtems/new-exceptions/cpu.h: Add a per cpu data structure which
contains the information required by RTEMS for each CPU core. This
encapsulates information such as thread executing, heir, idle and
dispatch needed.
PR 1573/cpukit
* cpu_asm.c, rtems/score/cpu.h: Add a per cpu data structure which
contains the information required by RTEMS for each CPU core. This
encapsulates information such as thread executing, heir, idle and
dispatch needed.
PR 1573/cpukit
* irq.c, rtems/score/cpu.h: Add a per cpu data structure which contains
the information required by RTEMS for each CPU core. This
encapsulates information such as thread executing, heir, idle and
dispatch needed.
PR 1573/cpukit
* cpu_asm.S, rtems/asm.h, rtems/score/cpu.h: Add a per cpu data
structure which contains the information required by RTEMS for each
CPU core. This encapsulates information such as thread executing,
heir, idle and dispatch needed.
PR 1573/cpukit
* arm_exc_interrupt.S: Add a per cpu data structure which contains the
information required by RTEMS for each CPU core. This encapsulates
information such as thread executing, heir, idle and dispatch needed.
* libcsupport/src/__brk.c, libcsupport/src/__gettod.c,
libcsupport/src/__times.c, libcsupport/src/fchdir.c,
libcsupport/src/ftrylockfile.c, libcsupport/src/getpwent.c,
libcsupport/src/gxx_wrappers.c, libcsupport/src/libio_sockets.c,
libcsupport/src/pipe.c: Use rtems_set_errno_and_return_minus_one()
where it was missed before.
* libcsupport/include/rtems/error.h, libcsupport/src/error.c: Clean up
so rtems_panic() can be a noreturn method. This eliminates some
unreachable and thus untestable code.
PR 1589/cpukit
* score/Makefile.am, score/include/rtems/score/thread.h,
score/inline/rtems/score/thread.inl: Make _Thread_Evaluate_mode() an
inline method. It is only used in one place and relatively simple.
* score/src/threadevaluatemode.c: Removed.
* libcsupport/src/read.c, libcsupport/src/write.c: read(2) and write(2)
should return 0 when passed a count of 0 after verifying other
possible errors.
* libfs/src/imfs/imfs_creat.c, libfs/src/imfs/imfs_debug.c,
libfs/src/imfs/imfs_directory.c, libfs/src/imfs/imfs_eval.c,
libfs/src/imfs/imfs_fsunmount.c, libfs/src/imfs/imfs_getchild.c,
libfs/src/imfs/imfs_initsupp.c, libfs/src/imfs/ioman.c,
libfs/src/imfs/memfile.c: Evaluate all assert calls in IMFS. Either
made them conditional on RTEMS_DEBUG or eliminated them.
PR 1590/cpukit
* score/Makefile.am, score/include/rtems/score/thread.h,
score/src/threadtickletimeslice.c: Remove _Thread_Reset_timeslice and
replaces its single use with a call to the functionally equivalent
_Thread_Yield_processor().
* score/src/threadresettimeslice.c: Removed.
PR 1542/filesystem
PR 1585/filesystem
* libfs/src/pipe/fifo.c: pipe_control_t was not deallocated if
fifo_open() was attempted with (O_WRONLY|O_NONBLOCK).
Mutex was locked too many times on this path and we needed an unlock.