From: Pavel Pisa <p...@cmp.felk.cvut.cz> 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 CPU must not trash content of shared cache levels because primary CPU is already running from it. Next patches provides basic SMP implementation. BCM2836 core mailboxes are used to implement inter-processor interrupts. The last two patches change reimplement clock driver to use GPU/system timer instead of ARM timer because original approach has been incompatible with SMP support. SMP support requires timecounter source and it implemented easier from GPU/system timer which is based on free-running counter. Pavel Pisa (9): bsps/arm: use defines for cache type register format field. bsps/arm: remove lock in arm_cp15_set_translation_table_entries(). bsps/arm: reorganize CP15 code to allow clean and invalidate ARMv7 cache by level. arm/raspberrypi: more definitions of BCM2836 core local peripherals. arm/raspberrypi: rename linkcmds to linkcmds.in to allow their configure processing. arm/raspberrypi: propagate number of configured CPUs into linker script. bsps/arm: basic BCM2836 SMP implementation. arm/raspberrypi: correct and extend definitions for GPU timer. arm/raspberrypi: use GPU/system timer as clock source. Rohini Kulkarni (1): arm/raspberrypi: include definitions of BCM2836 SMP mailboxes. c/src/lib/libbsp/arm/raspberrypi/Makefile.am | 5 +- c/src/lib/libbsp/arm/raspberrypi/clock/clockdrv.c | 98 +++++++---- c/src/lib/libbsp/arm/raspberrypi/configure.ac | 19 ++- c/src/lib/libbsp/arm/raspberrypi/include/bsp.h | 3 + c/src/lib/libbsp/arm/raspberrypi/include/irq.h | 5 + .../libbsp/arm/raspberrypi/include/raspberrypi.h | 182 ++++++++++++++++++++- c/src/lib/libbsp/arm/raspberrypi/irq/irq.c | 18 ++ c/src/lib/libbsp/arm/raspberrypi/startup/bspsmp.c | 122 ++++++++++++++ .../libbsp/arm/raspberrypi/startup/bspstarthooks.c | 35 +++- .../raspberrypi/startup/{linkcmds => linkcmds.in} | 4 +- .../arm/raspberrypi/startup/mm_config_table.c | 8 + .../libbsp/arm/shared/arm-cp15-set-ttb-entries.c | 10 +- c/src/lib/libcpu/arm/shared/include/arm-cp15.h | 147 ++++++++++------- 13 files changed, 539 insertions(+), 117 deletions(-) create mode 100644 c/src/lib/libbsp/arm/raspberrypi/startup/bspsmp.c rename c/src/lib/libbsp/arm/raspberrypi/startup/{linkcmds => linkcmds.in} (95%) -- 1.9.1 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel