[PATCH 11 minor addeum] arm/raspberrypi: GPIO - using RTEMS interrupt lock during BSP
sebastian.huber at embedded-brains.de
Wed Sep 7 05:33:36 UTC 2016
On 06/09/16 21:48, Pavel Pisa wrote:
> Hello Sebastian,
> On Tuesday 06 of September 2016 20:33:08 Sebastian Huber wrote:
>> The interrupt locks are simple interrupt disable/enable or spin locks. So,
>> they always work.
> Allmost, on UP they are simple local IRQ disable.
> But on SMP they are spinlock combined with IRQ disable.
> But spinlock requires that corresponding memory location is initialized.
> It is initialized to 0,0 as ticked lock or combination with some
> debug/non-zero information depending on RTEMS_DEBUG, RTEMS_PROFILING etc.
> The locks ends in BSS for zero case and I expect that it is source of
> my problems.
if you want to use something before the BSS initialization, then you can
move it to the BSP_START_DATA_SECTION section or explicitly initialize
it, e.g. in your case via rtems_interrupt_lock_initialize().
The rest of the patch series looks good.
The smpfatal08 test is quite a hack since it re-defines some global SMP
support functions locally. In order to support this, the ARM BSPs must
place the _CPU_SMP_Start_processor() function as the only global
function into the bspsmp.c file.
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber at embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the devel