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