score: Fix race condition in SMP startup

Do not use the Per_CPU_Control::started in
_SMP_Start_multitasking_on_secondary_processor() since this field may be
not up to date when a secondary processor reads it.  Use the read-only
scheduler assignment instead.

Add a new fatal error SMP_FATAL_MULTITASKING_START_ON_INVALID_PROCESSOR.
This prevents out-of-bounds access.

It is currently not possible to test these fatal errors.  One option
would be to fake values of the _CPU_SMP_Get_current_processor(), but
unfortunately this function is inline on some architectures.
bsp/gdbarmsim: Switch to the standard arm/shared/startup.

Switch to the standard ARM startup code. This requires adding the
standard interrupt code. The interrupt code does nothing at this
point in time. I do not know if the ARM simulator in GDB supports
interrupts.
bsps/sparc: Make lines in SPARC BSPs adhere to 80 character limit.
bsps/sparc: Add copyright and license information
bsps/sparc: Change tabs to spaces.
score: Multiprocessor Resource Sharing Protocol

Add basic support for the Multiprocessor Resource Sharing Protocol
(MrsP).

The Multiprocessor Resource Sharing Protocol (MrsP) is defined in A.
Burns and A.J.  Wellings, A Schedulability Compatible Multiprocessor
Resource Sharing Protocol - MrsP, Proceedings of the 25th Euromicro
Conference on Real-Time Systems (ECRTS 2013), July 2013.  It is a
generalization of the Priority Ceiling Protocol to SMP systems.  Each
MrsP semaphore uses a ceiling priority per scheduler instance.  These
ceiling priorities can be specified with rtems_semaphore_set_priority().
A task obtaining or owning a MrsP semaphore will execute with the
ceiling priority for its scheduler instance as specified by the MrsP
semaphore object.  Tasks waiting to get ownership of a MrsP semaphore
will not relinquish the processor voluntarily.  In case the owner of a
MrsP semaphore gets preempted it can ask all tasks waiting for this
semaphore to help out and temporarily borrow the right to execute on one
of their assigned processors.

The help out feature is not implemented with this patch.
bsp/arm: Broadcast cache maintenances
bsp/altera-vyclone-v: Broadcast cache maintenances
bsp/altera-cyclone-v: Enable L2 cache for network driver
bsp/altera-cyclone-v: Cache mbufs and clusters
bsp/altera-cyclone-v: Reduce size of nocache heap

Network mbufs and clusters now are cached. Thus the nocache heap can get reduced to 1 MByte.
bsp/altera-cyclone-v: Cleanup
Ignore emacs backfiles and TAGS.
rtems-test-check: Ignore tests which require real ISR based clock tick

BSPs for simulators which do not include a clock tick interrupt source
are incapable of running some tests successfully. This is a common
characteristic of some BSPs and a fixed set of tests. There is no point
in duplicating this list of tests in those BSPs test configuration.

Read testsuites/testdata/require-tick-isr.tcfg for details.
bsps: Do not build tests that require a tick interrupt.

The following BSPs do not have tick support so the tests fail:

 arm1136jfs
 arm1136js
 arm7tdmi
 arm920
 armcortexa9 (does not run any more)
 avrtest
 h8sim
 h8sxsim
 m32csim
 m32rsim
 moxiesim
 simsh1
 simsh2
 simsh4
 v850e1sim
 v850e2sim
 v850e2v3sim
 v850esim
 v850essim
 v850sim

This list was provided by Joel in the following post:

 http://www.rtems.org/pipermail/rtems-devel/2014-April/006526.html
LEON3: add support for IRQ16..31 for CPU!=0
LEON3: coding style clean bsp_irq_fixup()
SPARC: syscall optimizations and PSR-write fix

The last optimization missed was incorrect in regards to
PSR write instruction delay must be 3 instructions.

New optimizations:
 * align to 32-byte cache line.
 * rearrange code into three "blocks" of 4 instructions that
   is executed by syscall 2 and 3. This is to optimize for
   16/32 byte cache lines.
 * use delay-slot instruction in trap table to reduce by one
   instruction.
 * use the fact that "wr %PSR" implements XOR to reduce by
   one instruction.
shell: Make rtems_global_shell_env public

Provide rtems_global_shell_env as a public read-only variable for
backward compatibility.
rtems/score/thread*.h: TERMINTING to TERMINATING