summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Pisa <pisa@cmp.felk.cvut.cz>2016-07-02 13:15:02 +0200
committerPavel Pisa <pisa@cmp.felk.cvut.cz>2016-10-02 10:40:35 +0200
commit404f659c83bf051513fe7b2bd0a2bccdd14c2fd5 (patch)
tree252a0e7b14a0966f2adb70e5f753615b7a7cc1b4
parentf9c1e1172e9adb2616e761f2e3d671361c7971ba (diff)
downloadrtems-404f659c83bf051513fe7b2bd0a2bccdd14c2fd5.tar.bz2
arm/raspberrypi: Enable HYP to SVC switch for this BSP.
This support is required when newer firmware is used on Raspberry Pi 2 boards. Updates #2783
-rw-r--r--c/src/lib/libbsp/arm/raspberrypi/Makefile.am3
-rw-r--r--c/src/lib/libbsp/arm/raspberrypi/configure.ac4
2 files changed, 7 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/arm/raspberrypi/Makefile.am b/c/src/lib/libbsp/arm/raspberrypi/Makefile.am
index bf3c3f297b..6689d643fc 100644
--- a/c/src/lib/libbsp/arm/raspberrypi/Makefile.am
+++ b/c/src/lib/libbsp/arm/raspberrypi/Makefile.am
@@ -87,6 +87,9 @@ libbsp_a_SOURCES += ../../shared/sbrk.c
libbsp_a_SOURCES += ../../shared/src/stackalloc.c
libbsp_a_SOURCES += ../shared/startup/bsp-start-memcpy.S
libbsp_a_SOURCES += ../shared/arm-cp15-set-ttb-entries.c
+if BSP_START_IN_HYP_SUPPORT
+libbsp_a_SOURCES += ../shared/startup/bsp-start-in-hyp-support.S
+endif
# Startup
libbsp_a_SOURCES += ../../shared/bspreset_loop.c
diff --git a/c/src/lib/libbsp/arm/raspberrypi/configure.ac b/c/src/lib/libbsp/arm/raspberrypi/configure.ac
index 27abe6c09f..2a6285b731 100644
--- a/c/src/lib/libbsp/arm/raspberrypi/configure.ac
+++ b/c/src/lib/libbsp/arm/raspberrypi/configure.ac
@@ -24,6 +24,10 @@ AM_CONDITIONAL(HAS_NETWORKING,test "$HAS_NETWORKING" = "yes")
RTEMS_BSPOPTS_SET([BSP_START_RESET_VECTOR],[*],[])
RTEMS_BSPOPTS_HELP([BSP_START_RESET_VECTOR],[reset vector address for BSP start])
+RTEMS_BSPOPTS_SET([BSP_START_IN_HYP_SUPPORT],[*],[1])
+RTEMS_BSPOPTS_HELP([BSP_START_IN_HYP_SUPPORT], [Support start of BSP in ARM HYP mode])
+AM_CONDITIONAL(BSP_START_IN_HYP_SUPPORT,test "$BSP_START_IN_HYP_SUPPORT" = "1")
+
# Is this a Raspberry Pi 2?
RTEMS_BSPOPTS_SET([BSP_IS_RPI2],[raspberrypi2],[1])
RTEMS_BSPOPTS_SET([BSP_IS_RPI2],[*],[0])