xref: /linux/arch/x86/boot/compressed/cmdline.c (revision ca55b2fef3a9373fcfc30f82fd26bc7fccbda732)
1 #include "misc.h"
2 
3 #if CONFIG_EARLY_PRINTK || CONFIG_RANDOMIZE_BASE
4 
5 static unsigned long fs;
6 static inline void set_fs(unsigned long seg)
7 {
8 	fs = seg << 4;  /* shift it back */
9 }
10 typedef unsigned long addr_t;
11 static inline char rdfs8(addr_t addr)
12 {
13 	return *((char *)(fs + addr));
14 }
15 #include "../cmdline.c"
16 static unsigned long get_cmd_line_ptr(void)
17 {
18 	unsigned long cmd_line_ptr = real_mode->hdr.cmd_line_ptr;
19 
20 	cmd_line_ptr |= (u64)real_mode->ext_cmd_line_ptr << 32;
21 
22 	return cmd_line_ptr;
23 }
24 int cmdline_find_option(const char *option, char *buffer, int bufsize)
25 {
26 	return __cmdline_find_option(get_cmd_line_ptr(), option, buffer, bufsize);
27 }
28 int cmdline_find_option_bool(const char *option)
29 {
30 	return __cmdline_find_option_bool(get_cmd_line_ptr(), option);
31 }
32 
33 #endif
34