cregit-Linux how code gets into the kernel

Release 4.14 arch/um/kernel/skas/process.c

/*
 * Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
 * Licensed under the GPL
 */

#include <linux/init.h>
#include <linux/sched/mm.h>
#include <linux/sched/task_stack.h>
#include <linux/sched/task.h>

#include <as-layout.h>
#include <kern.h>
#include <os.h>
#include <skas.h>

extern void start_kernel(void);


static int __init start_kernel_proc(void *unused) { int pid; block_signals(); pid = os_getpid(); cpu_tasks[0].pid = pid; cpu_tasks[0].task = current; start_kernel(); return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Jeff Dike46100.00%2100.00%
Total46100.00%2100.00%

extern int userspace_pid[]; extern char cpu0_irqstack[];
int __init start_uml(void) { stack_protections((unsigned long) &cpu0_irqstack); set_sigstack(cpu0_irqstack, THREAD_SIZE); init_new_thread_signals(); init_task.thread.request.u.thread.proc = start_kernel_proc; init_task.thread.request.u.thread.arg = NULL; return start_idle_thread(task_stack_page(&init_task), &init_task.thread.switch_buf); }

Contributors

PersonTokensPropCommitsCommitProp
Jeff Dike73100.00%4100.00%
Total73100.00%4100.00%


unsigned long current_stub_stack(void) { if (current->mm == NULL) return 0; return current->mm->context.id.stack; }

Contributors

PersonTokensPropCommitsCommitProp
Jeff Dike30100.00%1100.00%
Total30100.00%1100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
Jeff Dike17993.72%763.64%
Ingo Molnar73.66%327.27%
Al Viro52.62%19.09%
Total191100.00%11100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.