aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/boot/compressed/cmdline.c
diff options
context:
space:
mode:
authorYinghai Lu <yinghai@kernel.org>2010-08-02 16:21:22 -0700
committerH. Peter Anvin <hpa@zytor.com>2010-08-02 20:32:20 -0700
commit8fee13a48e4879fba57725f6d9513df4bfa8e9f3 (patch)
tree77a12d8f6b5feb8991e2816bb065c48021a8f8bc /arch/x86/boot/compressed/cmdline.c
parentx86, setup: reorganize the early console setup (diff)
downloadlinux-dev-8fee13a48e4879fba57725f6d9513df4bfa8e9f3.tar.xz
linux-dev-8fee13a48e4879fba57725f6d9513df4bfa8e9f3.zip
x86, setup: enable early console output from the decompressor
This enables the decompressor output to be seen on the serial console. Most of the code is shared with the regular boot code. We could add printf to the decompressor if needed, but currently there is no sufficiently compelling user. -v2: define BOOT_BOOT_H to avoid include boot.h -v3: early_serial_base need to be static in misc.c ? -v4: create seperate string.c printf.c cmdline.c early_serial_console.c after hpa's patch that allow global variables in compressed/misc stage -v5: remove printf.c related Signed-off-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch/x86/boot/compressed/cmdline.c')
-rw-r--r--arch/x86/boot/compressed/cmdline.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/x86/boot/compressed/cmdline.c b/arch/x86/boot/compressed/cmdline.c
new file mode 100644
index 000000000000..cb62f786990d
--- /dev/null
+++ b/arch/x86/boot/compressed/cmdline.c
@@ -0,0 +1,21 @@
+#include "misc.h"
+
+static unsigned long fs;
+static inline void set_fs(unsigned long seg)
+{
+ fs = seg << 4; /* shift it back */
+}
+typedef unsigned long addr_t;
+static inline char rdfs8(addr_t addr)
+{
+ return *((char *)(fs + addr));
+}
+#include "../cmdline.c"
+int cmdline_find_option(const char *option, char *buffer, int bufsize)
+{
+ return __cmdline_find_option(real_mode->hdr.cmd_line_ptr, option, buffer, bufsize);
+}
+int cmdline_find_option_bool(const char *option)
+{
+ return __cmdline_find_option_bool(real_mode->hdr.cmd_line_ptr, option);
+}