18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci#include "misc.h" 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_cistatic unsigned long fs; 58c2ecf20Sopenharmony_cistatic inline void set_fs(unsigned long seg) 68c2ecf20Sopenharmony_ci{ 78c2ecf20Sopenharmony_ci fs = seg << 4; /* shift it back */ 88c2ecf20Sopenharmony_ci} 98c2ecf20Sopenharmony_citypedef unsigned long addr_t; 108c2ecf20Sopenharmony_cistatic inline char rdfs8(addr_t addr) 118c2ecf20Sopenharmony_ci{ 128c2ecf20Sopenharmony_ci return *((char *)(fs + addr)); 138c2ecf20Sopenharmony_ci} 148c2ecf20Sopenharmony_ci#include "../cmdline.c" 158c2ecf20Sopenharmony_ciunsigned long get_cmd_line_ptr(void) 168c2ecf20Sopenharmony_ci{ 178c2ecf20Sopenharmony_ci unsigned long cmd_line_ptr = boot_params->hdr.cmd_line_ptr; 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci cmd_line_ptr |= (u64)boot_params->ext_cmd_line_ptr << 32; 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ci return cmd_line_ptr; 228c2ecf20Sopenharmony_ci} 238c2ecf20Sopenharmony_ciint cmdline_find_option(const char *option, char *buffer, int bufsize) 248c2ecf20Sopenharmony_ci{ 258c2ecf20Sopenharmony_ci return __cmdline_find_option(get_cmd_line_ptr(), option, buffer, bufsize); 268c2ecf20Sopenharmony_ci} 278c2ecf20Sopenharmony_ciint cmdline_find_option_bool(const char *option) 288c2ecf20Sopenharmony_ci{ 298c2ecf20Sopenharmony_ci return __cmdline_find_option_bool(get_cmd_line_ptr(), option); 308c2ecf20Sopenharmony_ci} 31