From deec8099cb06ec525f1b8682b167f0c18fe6ac03 Mon Sep 17 00:00:00 2001 From: Marvin Friedrich Date: Tue, 13 Oct 2026 23:59:28 +0200 Subject: [PATCH] expose cmdline for /dev/cmdline later --- boot/cmdline.c | 6 ++++++ include/zinnia/cmdline.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/boot/cmdline.c b/boot/cmdline.c index 270ee94..186fa4a 100644 --- a/boot/cmdline.c +++ b/boot/cmdline.c @@ -9,6 +9,11 @@ extern const struct cmdline_option* __ld_cmdline_start[]; extern const struct cmdline_option* __ld_cmdline_end[]; static char cmdline_buf[0x1000]; +static char cmdline_raw[0x1000]; + +const char* cmdline_get() { + return cmdline_raw; +} void cmdline_parse_buf( char* cmdline_buf, @@ -112,5 +117,6 @@ void cmdline_parse(const char* cmdline) { const size_t len = strnlen(cmdline, sizeof(cmdline_buf) - 1); memcpy(cmdline_buf, cmdline, len); + memcpy(cmdline_raw, cmdline, len); cmdline_parse_buf(cmdline_buf, len, __ld_cmdline_start, __ld_cmdline_end); } diff --git a/include/zinnia/cmdline.h b/include/zinnia/cmdline.h index 4a1c00b..f057668 100644 --- a/include/zinnia/cmdline.h +++ b/include/zinnia/cmdline.h @@ -50,6 +50,8 @@ struct cmdline_option { // Parses the command line and invokes all options. void cmdline_parse(const char* cmdline); +const char* cmdline_get(); + void cmdline_parse_buf( char* buf, size_t len,