From: YANG Qiao <yangqiao0...@me.com> Date: Thu, 13 Aug 2015 00:05:52 +0200
--- c/src/lib/libbsp/arm/raspberrypi/Makefile.am | 1 + c/src/lib/libbsp/arm/raspberrypi/include/bsp.h | 5 +++ .../lib/libbsp/arm/raspberrypi/startup/bspstart.c | 1 + .../libbsp/arm/raspberrypi/startup/bspstarthooks.c | 2 ++ c/src/lib/libbsp/arm/raspberrypi/startup/cmdline.c | 40 ++++++++++++++++++++++ 5 files changed, 49 insertions(+) create mode 100644 c/src/lib/libbsp/arm/raspberrypi/startup/cmdline.c diff --git a/c/src/lib/libbsp/arm/raspberrypi/Makefile.am b/c/src/lib/libbsp/arm/raspberrypi/Makefile.am index 91f327e..258f8a0 100644 --- a/c/src/lib/libbsp/arm/raspberrypi/Makefile.am +++ b/c/src/lib/libbsp/arm/raspberrypi/Makefile.am @@ -95,6 +95,7 @@ libbsp_a_SOURCES += ../shared/arm-cp15-set-ttb-entries.c # Startup libbsp_a_SOURCES += ../../shared/bspreset_loop.c libbsp_a_SOURCES += startup/bspstart.c +libbsp_a_SOURCES += startup/cmdline.c # IRQ libbsp_a_SOURCES += ../shared/arm-cp15-set-exception-handler.c diff --git a/c/src/lib/libbsp/arm/raspberrypi/include/bsp.h b/c/src/lib/libbsp/arm/raspberrypi/include/bsp.h index 0abeed6..d8319c6 100644 --- a/c/src/lib/libbsp/arm/raspberrypi/include/bsp.h +++ b/c/src/lib/libbsp/arm/raspberrypi/include/bsp.h @@ -7,6 +7,7 @@ */ /* + * Copyright (c) 2015 Yang Qiao * Copyright (c) 2013 Alan Cudmore * * The license and distribution terms for this file may be @@ -35,6 +36,10 @@ extern "C" { #define BSP_GPIO_PINS_PER_BANK 32 #define BSP_GPIO_PINS_PER_SELECT_BANK 10 +void rpi_init_cmdline(void); +const char* rpi_cmdline(void); +const char* rpi_cmdline_arg(const char* arg); + #ifdef __cplusplus } #endif /* __cplusplus */ diff --git a/c/src/lib/libbsp/arm/raspberrypi/startup/bspstart.c b/c/src/lib/libbsp/arm/raspberrypi/startup/bspstart.c index c5786bf..884d5ef 100644 --- a/c/src/lib/libbsp/arm/raspberrypi/startup/bspstart.c +++ b/c/src/lib/libbsp/arm/raspberrypi/startup/bspstart.c @@ -26,4 +26,5 @@ void bsp_start(void) { bsp_interrupt_initialize(); + rpi_init_cmdline(); } diff --git a/c/src/lib/libbsp/arm/raspberrypi/startup/bspstarthooks.c b/c/src/lib/libbsp/arm/raspberrypi/startup/bspstarthooks.c index 047c8ad..7d72fe7 100644 --- a/c/src/lib/libbsp/arm/raspberrypi/startup/bspstarthooks.c +++ b/c/src/lib/libbsp/arm/raspberrypi/startup/bspstarthooks.c @@ -7,6 +7,7 @@ */ /* + * Copyright (c) 2015 Yang Qiao * Copyright (c) 2013. Hesham AL-Matary * Copyright (c) 2013 by Alan Cudmore * based on work by: @@ -29,6 +30,7 @@ void BSP_START_TEXT_SECTION bsp_start_hook_0(void) { + rpi_init_cmdline(); } diff --git a/c/src/lib/libbsp/arm/raspberrypi/startup/cmdline.c b/c/src/lib/libbsp/arm/raspberrypi/startup/cmdline.c new file mode 100644 index 0000000..c1ed29a --- /dev/null +++ b/c/src/lib/libbsp/arm/raspberrypi/startup/cmdline.c @@ -0,0 +1,40 @@ +/** + * @file + * + * @ingroup raspberrypi + * + * @brief mailbox support. + */ +/* + * Copyright (c) 2015 Yang Qiao + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * + * http://www.rtems.org/license/LICENSE + * + */ + +#include <bsp.h> +#include <bsp/vc.h> + +#define MAX_CMDLINE_LENGTH 1024 +static char* _rpi_cmdline; +static bcm2835_get_cmdline_entries get_cmdline_entries; + +void rpi_init_cmdline(void) +{ + bcm2835_get_cmdline_entries get_cmdline_entries; + bcm2835_mailbox_get_cmdline(&get_cmdline_entries); + _rpi_cmdline = get_cmdline_entries.cmdline; +} + +const char* rpi_cmdline(void) +{ + return _rpi_cmdline; +} + +const char* rpi_cmdline_arg(const char* arg) +{ + return strstr (rpi_cmdline (), arg); +} -- 1.9.1 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel