The register definition for the CP15 PMCR (performance monitor control
register) has the bits for X (export enable) and D (clock divider
enable) backwards. Correct them according to ARMv7-A/R Architecture
Reference Manual, Rev C, Section B4.1.117.
Consequences: On an implementation that starts off with D set at reset,
the clock divider will not be disabled by using RTEMS' definition of the
D bit.
Tested by using the counter on Xilinx Zynq 7020 to measure some atomic
accesses and cache flushing operations.
For proper 16 bits per word support we need probably some DMA
adjustments. For 9 to 15 bits per word we need support for the variable
peripheral select, see SR_MR[PS] register bit.
- Use CamelCase as it is not used in our C code. Enables simple search and
replace.
- Prefix with "RTEMS" to aid deployment and integration. It aids
searching and sorting.
Update #3706.
Generate Doxygen output in doc and ignore this directory in Git. Add
RTEMS logo. The Doxygen documentation is now built using the source
tree. Just invoke "doxygen" in the top-level source directory.
The Doxyfile works also with at least Doxygen 1.8.13 and Doxygen 1.8.14.
Update #3705.
The following variants
* GICv1 with Security Extensions,
* GICv2 without Security Extensions, or
* within Secure processor mode
have the ability to assign group 0 or 1 to individual interrupts. Group
0 interrupts can be configured to raise an FIQ exception. This enables
the use of NMIs with respect to RTEMS.
BSPs can enable this feature with the BSP_ARM_GIC_ENABLE_FIQ_FOR_GROUP_0
define. Use arm_gic_irq_set_group() to change the group of an
interrupt (default group is 1, if BSP_ARM_GIC_ENABLE_FIQ_FOR_GROUP_0 is
defined).
The system register in use for retrieval of the virtual timer value was
mistakenly copied from the physical timer value retrieval function.
Virtual timer value retrieval should use the same system register as the
virtual timer value setter.
Close#3699.
- Allow an allocator to lock the allocations. This is needed to
lock the heap allocator so the text and trampoline table are
as close together as possible to allow for the largest possible
object file size.
- Update the default heap allocator to lock the heap allocator.
- Update ELF loading to lock the allocator.
Updates #3685
Move device tree copy operation after the mode initialization so that
bsp_fdt_copy() uses the initialization stack and not the stack provided
up by the boot loader.
Recursive usage of the same pthread_once_t results now in a deadlock.
Previously, an error of EINVAL was returned. This usage scenario is
invalid according to the POSIX pthread_once() specification.
Close#3334.