[PATCH 00/10] Raspberry Pi 2 (BCM2836) SMP support

2016-09-03 Thread pisa
From: Pavel Pisa The series implements Raspberry Pi 2 (BCM2836) SMP support. The first two patches modify ARM Cortex-A common CP15 support to expose clean by level cache operations to the BSP code. Clean and invalidation of L1 cache is required when the secondary CPU is booted. But the secondary

[PATCH 01/10] bsps/arm: use defines for cache type register format field.

2016-09-03 Thread pisa
From: Pavel Pisa The change documents meaning of codes and opens well defined way to use cache type format for cache examination/debugging outside of arm-cp15.h file. --- c/src/lib/libcpu/arm/shared/include/arm-cp15.h | 39 -- 1 file changed, 30 insertions(+), 9 deletions

[PATCH 04/10] arm/raspberrypi: include definitions of BCM2836 SMP mailboxes.

2016-09-03 Thread pisa
From: Rohini Kulkarni --- .../libbsp/arm/raspberrypi/include/raspberrypi.h | 26 ++ 1 file changed, 26 insertions(+) diff --git a/c/src/lib/libbsp/arm/raspberrypi/include/raspberrypi.h b/c/src/lib/libbsp/arm/raspberrypi/include/raspberrypi.h index 911b86b..4cedc4c 100644

[PATCH 06/10] arm/raspberrypi: rename linkcmds to linkcmds.in to allow their configure processing.

2016-09-03 Thread pisa
From: Pavel Pisa --- c/src/lib/libbsp/arm/raspberrypi/Makefile.am | 2 -- c/src/lib/libbsp/arm/raspberrypi/configure.ac | 5 +++-- c/src/lib/libbsp/arm/raspberrypi/startup/{linkcmds => linkcmds.in} | 0 3 files changed, 3 insertions(+), 4 deletions(-)

[PATCH 09/10] arm/raspberrypi: correct and extend definitions for GPU timer.

2016-09-03 Thread pisa
From: Pavel Pisa --- c/src/lib/libbsp/arm/raspberrypi/include/irq.h | 5 + c/src/lib/libbsp/arm/raspberrypi/include/raspberrypi.h | 18 +++--- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/c/src/lib/libbsp/arm/raspberrypi/include/irq.h b/c/src/lib/libb

[PATCH 07/10] arm/raspberrypi: propagate number of configured CPUs into linker script.

2016-09-03 Thread pisa
From: Pavel Pisa --- c/src/lib/libbsp/arm/raspberrypi/configure.ac| 14 ++ c/src/lib/libbsp/arm/raspberrypi/startup/linkcmds.in | 2 ++ 2 files changed, 16 insertions(+) diff --git a/c/src/lib/libbsp/arm/raspberrypi/configure.ac b/c/src/lib/libbsp/arm/raspberrypi/configure

[PATCH 02/10] bsps/arm: remove lock in arm_cp15_set_translation_table_entries().

2016-09-03 Thread pisa
From: Pavel Pisa Protection by rtems_interrupt_disable() is incompatible with SMP build. Actual page table entries manipulation function does not need locking and disabling cache and can be run concurrently even on multiple CPUs as long as changes do not modify same region. If the function is cal

[PATCH 05/10] arm/raspberrypi: more definitions of BCM2836 core local peripherals.

2016-09-03 Thread pisa
From: Pavel Pisa --- .../libbsp/arm/raspberrypi/include/raspberrypi.h | 142 - 1 file changed, 140 insertions(+), 2 deletions(-) diff --git a/c/src/lib/libbsp/arm/raspberrypi/include/raspberrypi.h b/c/src/lib/libbsp/arm/raspberrypi/include/raspberrypi.h index 4cedc4c..2f4

[PATCH 03/10] bsps/arm: reorganize CP15 code to allow clean and invalidate ARMv7 cache by level.

2016-09-03 Thread pisa
From: Pavel Pisa New function arm_cp15_cache_invalidate_level and arm_cp15_cache_clean_level can be used to maintain single cache level (instruction or data). --- c/src/lib/libcpu/arm/shared/include/arm-cp15.h | 108 ++--- 1 file changed, 60 insertions(+), 48 deletions(-) di

[PATCH 10/10] arm/raspberrypi: use GPU/system timer as clock source.

2016-09-03 Thread pisa
From: Pavel Pisa It has advantage that it is designed as free-running counter with compare registers and can easily serve for for both timecounter and tick interrupt. --- c/src/lib/libbsp/arm/raspberrypi/clock/clockdrv.c | 98 ++- 1 file changed, 62 insertions(+), 36 deletion

[PATCH 08/10] bsps/arm: basic BCM2836 SMP implementation.

2016-09-03 Thread pisa
From: Pavel Pisa --- c/src/lib/libbsp/arm/raspberrypi/Makefile.am | 3 + c/src/lib/libbsp/arm/raspberrypi/include/bsp.h | 3 + c/src/lib/libbsp/arm/raspberrypi/irq/irq.c | 18 +++ c/src/lib/libbsp/arm/raspberrypi/startup/bspsmp.c | 122 + .../libbsp/ar