root/arch/um/kernel/reboot.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. kill_off_processes
  2. uml_cleanup
  3. machine_restart
  4. machine_power_off
  5. machine_halt

   1 // SPDX-License-Identifier: GPL-2.0
   2 /* 
   3  * Copyright (C) 2000 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
   4  */
   5 
   6 #include <linux/sched/signal.h>
   7 #include <linux/sched/task.h>
   8 #include <linux/sched/mm.h>
   9 #include <linux/spinlock.h>
  10 #include <linux/slab.h>
  11 #include <linux/oom.h>
  12 #include <kern_util.h>
  13 #include <os.h>
  14 #include <skas.h>
  15 
  16 void (*pm_power_off)(void);
  17 EXPORT_SYMBOL(pm_power_off);
  18 
  19 static void kill_off_processes(void)
  20 {
  21         struct task_struct *p;
  22         int pid;
  23 
  24         read_lock(&tasklist_lock);
  25         for_each_process(p) {
  26                 struct task_struct *t;
  27 
  28                 t = find_lock_task_mm(p);
  29                 if (!t)
  30                         continue;
  31                 pid = t->mm->context.id.u.pid;
  32                 task_unlock(t);
  33                 os_kill_ptraced_process(pid, 1);
  34         }
  35         read_unlock(&tasklist_lock);
  36 }
  37 
  38 void uml_cleanup(void)
  39 {
  40         kmalloc_ok = 0;
  41         do_uml_exitcalls();
  42         kill_off_processes();
  43 }
  44 
  45 void machine_restart(char * __unused)
  46 {
  47         uml_cleanup();
  48         reboot_skas();
  49 }
  50 
  51 void machine_power_off(void)
  52 {
  53         uml_cleanup();
  54         halt_skas();
  55 }
  56 
  57 void machine_halt(void)
  58 {
  59         machine_power_off();
  60 }

/* [<][>][^][v][top][bottom][index][help] */