diff options
author | Pavel Pisa <ppisa@pikron.com> | 2016-05-21 03:10:06 +0200 |
---|---|---|
committer | Pavel Pisa <ppisa@pikron.com> | 2016-05-31 10:33:42 +0200 |
commit | 4c59eebfbf6037a6e1362a0c1c9904829be1762a (patch) | |
tree | 18cb669657b120785fd40686d5854237f620e3e7 /c/src/lib/libbsp/arm/raspberrypi | |
parent | libchip: Remove dwmac network interface driver (diff) | |
download | rtems-4c59eebfbf6037a6e1362a0c1c9904829be1762a.tar.bz2 |
arm/raspberrypi: cmdline enhancement and early access workaround.
cmdline argument is returned without option name.
The calls to command line parsing can be called earlier before
BSS is cleaned out.
Diffstat (limited to 'c/src/lib/libbsp/arm/raspberrypi')
-rw-r--r-- | c/src/lib/libbsp/arm/raspberrypi/startup/cmdline.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/c/src/lib/libbsp/arm/raspberrypi/startup/cmdline.c b/c/src/lib/libbsp/arm/raspberrypi/startup/cmdline.c index f8a7182c65..d585e311d8 100644 --- a/c/src/lib/libbsp/arm/raspberrypi/startup/cmdline.c +++ b/c/src/lib/libbsp/arm/raspberrypi/startup/cmdline.c @@ -19,8 +19,8 @@ #include <bsp/vc.h> #define MAX_CMDLINE_LENGTH 1024 -static int rpi_cmdline_ready; -static char rpi_cmdline_cached[MAX_CMDLINE_LENGTH]; +static int rpi_cmdline_ready = -1; +static char rpi_cmdline_cached[MAX_CMDLINE_LENGTH] = "force .data placement"; static bcm2835_get_cmdline_entries rpi_cmdline_entries; const char *rpi_cmdline_get_raw(void) @@ -32,7 +32,7 @@ const char *rpi_cmdline_get_raw(void) const char *rpi_cmdline_get_cached(void) { - if (!rpi_cmdline_ready) { + if (rpi_cmdline_ready <= 0) { const char *line = rpi_cmdline_get_raw(); strncpy(rpi_cmdline_cached, line, MAX_CMDLINE_LENGTH - 1); rpi_cmdline_cached[MAX_CMDLINE_LENGTH - 1] = 0; @@ -43,5 +43,9 @@ const char *rpi_cmdline_get_cached(void) const char *rpi_cmdline_get_arg(const char* arg) { - return strstr (rpi_cmdline_get_cached(), arg); + const char *opt_data; + opt_data = strstr(rpi_cmdline_get_cached(), arg); + if (opt_data) + opt_data += strlen(arg); + return opt_data; } |