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