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

Pavel Pisa pisa at cmp.felk.cvut.cz
Fri Sep 9 07:43:47 UTC 2016


Hello Chris and others,

On Friday 09 of September 2016 02:06:19 Chris Johns wrote:
> On 09/09/2016 07:46, Pavel Pisa wrote:
> > I have provided simple bsp_reset() for Raspberry Pi and pushed it into
> > master.
>
> Thank you. Is the reset on exit on by default? I rebuilt without a BSP
> opt and the Rpi2 did not reset. I see a reference to
> BSP_RESET_BOARD_AT_EXIT but I do not know what the default is.
>
> I think *all* RTEMS BSPs should reset on exit and shut-down by default.
> It is the normal production setting for most systems.

Mainly for others, the BSP default cleanup operations
selection mechanism is defined in

  rtems/c/src/aclocal/bsp-bspcleanup-options.m4

RTEMS_BSP_CLEANUP_OPTIONS
  
dnl USAGE:
dnl    RTEMS_BSP_CLEANUP_OPTIONS([0|1], [0|1], [0|1])
dnl WHERE:
dnl    argument 1 indicates the default value for BSP_PRESS_KEY_FOR_RESET
dnl    argument 2 indicates the default value for BSP_RESET_BOARD_AT_EXIT
dnl    argument 3 indicates the default value for BSP_PRINT_EXCEPTION_CONTEXT

To change Raspberry Pi behavior it should work to specify

../../rtems/configure --target=arm-rtems4.12 --enable-rtemsbsp="raspberrypi2" ... \
      BSP_RESET_BOARD_AT_EXIT=1

The default for RPi2 can be changed by

diff --git a/c/src/lib/libbsp/arm/raspberrypi/configure.ac b/c/src/lib/libbsp/arm/raspberrypi/configure.ac
index b772d6e..f84d6d8 100644
--- a/c/src/lib/libbsp/arm/raspberrypi/configure.ac
+++ b/c/src/lib/libbsp/arm/raspberrypi/configure.ac
@@ -54,7 +54,7 @@ AC_ARG_VAR([$1],[$2; default $3])dnl

 RASPBERRYPI_LINKCMD([RASPBERRYPI_CPUS],[Number of active cores],[${RASPBERRYPI_CPUS}])

-RTEMS_BSP_CLEANUP_OPTIONS(0, 0)
+RTEMS_BSP_CLEANUP_OPTIONS(0, 1)

 AC_CONFIG_FILES([
 Makefile


Actual implementation reboots the board and firmware starts again to load
application. I can add variant which ends with something like power
down after firmware restart. Actual operation is equivalent to Linux "reboot",
I can change that to (add variant) equivalent Linux "halt".

Best wishes,

              Pavel





More information about the devel mailing list