[PATCH 11 minor addeum] arm/raspberrypi: GPIO - using RTEMS interrupt lock during BSP

Sebastian Huber sebastian.huber at embedded-brains.de
Wed Sep 7 05:33:36 UTC 2016


Hello Pavel,

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 mailing list