Lines Matching +full:lines +full:- +full:initial +full:- +full:states
1 // SPDX-License-Identifier: GPL-2.0-only
7 * GK 2/5/95 - Changed to support mounting root fs via NFS
9 * Moan early if gcc is old, avoiding bogus kernels - Paul Gortmaker, May '96
126 * two things - IRQ must not be enabled before the flag is cleared and some
136 * Boot command-line arguments
145 /* Untouched command line saved by arch-specific code. */
208 int n = strlen(p->str); in obsolete_checksetup()
209 if (parameqn(line, p->str, n)) { in obsolete_checksetup()
210 if (p->early) { in obsolete_checksetup()
217 } else if (!p->setup_func) { in obsolete_checksetup()
219 p->str); in obsolete_checksetup()
221 } else if (p->setup_func(line + n)) in obsolete_checksetup()
231 * This should be approx 2 Bo*oMips to start (note initial shift), and will
266 return -EINVAL; in loglevel()
282 data = (char *)initrd_end - BOOTCONFIG_MAGIC_LEN; in get_boot_config_from_initrd()
290 data--; in get_boot_config_from_initrd()
295 hdr = (u32 *)(data - 8); in get_boot_config_from_initrd()
299 data = ((void *)hdr) - size; in get_boot_config_from_initrd()
302 size, initrd_end - initrd_start); in get_boot_config_from_initrd()
329 #define rest(dst, end) ((end) > (dst) ? (end) - (dst) : 0)
362 return buf - (end - size); in xbc_snprint_cmdline()
434 /* parse_args() stops at the next param of '--' and returns an address */ in setup_boot_config()
436 initargs_offs = err - tmp_cmdline; in setup_boot_config()
498 val[-1] = '='; in repair_env_string()
500 val[-2] = '='; in repair_env_string()
501 memmove(val-1, val, strlen(val)+1); in repair_env_string()
507 /* Anything after -- gets handed straight to init. */
540 /* Handle obsolete-style parameters */ in unknown_bootoption()
625 ilen = strlen(extra_init_args) + 4; /* for " -- " */ in setup_command_line()
640 * lines because there could be dashes (separator of init in setup_command_line()
641 * command line) in the command lines. in setup_command_line()
655 * " -- "[bootconfig init-param][cmdline init-param] in setup_command_line()
660 len += ilen - 4; /* strlen(extra_init_args) */ in setup_command_line()
662 boot_command_line + initargs_offs - 1); in setup_command_line()
665 strcpy(saved_command_line + len, " -- "); in setup_command_line()
673 * We need to finalize in a non-__init function or else race conditions
678 * gcc-3.4 accidentally inlines this function, so use noinline.
702 tsk->flags |= PF_NO_SETAFFINITY; in rest_init()
739 if ((p->early && parameq(param, p->str)) || in do_early_param()
741 strcmp(p->str, "earlycon") == 0) in do_early_param()
743 if (p->setup_func(val) != 0) in do_early_param()
803 /* Report memory auto-initialization states for this boot. */
821 pr_info("mem auto-init: stack:%s, heap alloc:%s, heap free:%s\n", in report_meminit()
825 pr_info("mem auto-init: clearing system memory may take some time...\n"); in report_meminit()
858 /* Should be run before the first non-init thread is created */ in mm_init()
930 /* Start at unknown_options[1] to skip the initial space */ in print_unknown_bootoptions()
964 smp_prepare_boot_cpu(); /* arch-specific boot-cpu hooks */ in start_kernel()
976 __stop___param - __start___param, in start_kernel()
977 -1, -1, NULL, &unknown_bootoption); in start_kernel()
980 parse_args("Setting init args", after_dashes, NULL, 0, -1, -1, in start_kernel()
984 NULL, 0, -1, -1, NULL, set_init_arg); in start_kernel()
986 /* Architectural and non-timekeeping rng init, before allocator init */ in start_kernel()
1007 * time - but meanwhile we still have a functioning scheduler. in start_kernel()
1019 * workqueue to take non-housekeeping into account. in start_kernel()
1082 * to self-test [hard/soft]-irqs on/off lock inversion bugs in start_kernel()
1091 * not cause "plain-text" data to be decrypted when accessed. in start_kernel()
1098 pr_crit("initrd overwritten (0x%08lx < 0x%08lx) - disabling it.\n", in start_kernel()
1144 /* Do the rest non-__init'ed, we're now alive */ in start_kernel()
1156 * cannot do it again - but we do need CONFIG_CONSTRUCTORS in do_ctors()
1180 /* str argument is a comma-separated list of functions */ in initcall_blacklist()
1190 entry->buf = memblock_alloc(strlen(str_entry) + 1, in initcall_blacklist()
1192 if (!entry->buf) in initcall_blacklist()
1195 strcpy(entry->buf, str_entry); in initcall_blacklist()
1196 list_add(&entry->next, &blacklisted_initcalls); in initcall_blacklist()
1217 * displayed for built-in init functions. Strip off the [module_name]. in initcall_blacklisted()
1222 if (!strcmp(fn_name, entry->buf)) { in initcall_blacklisted()
1300 return -EPERM; in do_one_initcall()
1370 __stop___param - __start___param, in do_initcall_level()
1389 for (level = 0; level < ARRAY_SIZE(initcall_levels) - 1; level++) { in do_initcalls()
1444 if (ret && ret != -ENOENT) { in try_to_run_init_process()
1515 * Wait until kthreadd is all set-up. in kernel_init()
1532 * Kernel mappings are now finalized - update the userspace page-table in kernel_init()
1582 "See Linux Documentation/admin-guide/init.rst for guidance."); in kernel_init()
1591 pr_err("Warning: unable to open an initial console.\n"); in console_on_rootfs()
1648 * Ok, we have completed the initial bootup, and in kernel_init_freeable()
1650 * initmem segments and start the user-mode stuff.. in kernel_init_freeable()