PR 1886/cpukit
* sprbtree01/init.c, sprbtree01/sprbtree01.scn: This patch enables
inserting duplicate keys into rbtree. It is possible to turn on this
feature when initializing the tree.
PR 1886/cpukit
* sapi/include/rtems/rbtree.h, sapi/inline/rtems/rbtree.inl,
score/include/rtems/score/rbtree.h,
score/inline/rtems/score/rbtree.inl, score/src/rbtree.c,
score/src/rbtreeinsert.c: This patch enables inserting duplicate keys
into rbtree. It is possible to turn on this feature when initializing
the tree.
* cpu.c: Fix the ISR get level for the IIC. Make
_CPU_Context_Initialize a function rather than inlined.
* cpu_asm.S: Do not enable interrupt on return, rather resume the
state on entry to the ISR.
* irq.c, nios2/nios2-iic-low-level.S: Change the ISR handler so
the ipending decoding is in C and within the interrupt
context. This is usable with the Altera HAL directly.
* rtems/score/cpu.h: Add ienable and ipending interfaces. Add some
comments. Remove _CPU_Context_Initialize.
* sapi/include/confdefs.h: Include <bsp.h> for BSP_IDLE_TASK_BODY,
BSP_IDLE_TASK_STACK_SIZE, BSP_INTERRUPT_STACK_SIZE,
BSP_ZERO_WORKSPACE_AUTOMATICALLY, BSP_DEFAULT_UNIFIED_WORK_AREAS,
CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK, and
CONFIGURE_BSP_PREREQUISITE_DRIVERS defines.
* libcsupport/src/newlibc_exit.c, score/src/threadhandler.c: Added
init/fini array support for ARM EABI. The __libc_init_array() and
__libc_fini_array() functions are provided by Newlib.
* 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.
* rtems/score/cpu.h: Removed superfluous comments. Format. Include
by assembler support. Removed superfluous floating-point support.
Stack alignment is now 4.
* cpu_asm.S, rtems/score/cpu.h: There is no need to save the global
pointer (gp) in the thread register context since it is a system wide
constant and set-up with the C runtime environment.
* shared/irq/irq_asm.S: BUGFIX (introduced by SMP changes
which moved code around, apparently): *must* store i8259
mask to frame *before* switching to IRQ stack. The code
retrieves the mask after switching back to original stack.
Also, the IRQ stack has no reserved space for the mask;
storing it there could overwrite memory!
PR 1874/tests
* Makefile.am, configure.ac, psxtmtests_plan.csv: Add benchmark of
multiple pthread_rwlock operations that can be done as single shot
times.
* psxtmrwlock01/.cvsignore, psxtmrwlock01/Makefile.am,
psxtmrwlock01/init.c, psxtmrwlock01/psxtmrwlock01.doc: New files.