~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/um/kernel/reboot.c

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /arch/um/kernel/reboot.c (Version linux-6.12-rc7) and /arch/m68k/kernel/reboot.c (Version linux-2.6.0)


  1 // SPDX-License-Identifier: GPL-2.0                 1 
  2 /*                                                
  3  * Copyright (C) 2000 - 2007 Jeff Dike (jdike@    
  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 <linux/reboot.h>                         
 13 #include <kern_util.h>                            
 14 #include <os.h>                                   
 15 #include <skas.h>                                 
 16                                                   
 17 void (*pm_power_off)(void);                       
 18 EXPORT_SYMBOL(pm_power_off);                      
 19                                                   
 20 static void kill_off_processes(void)              
 21 {                                                 
 22         struct task_struct *p;                    
 23         int pid;                                  
 24                                                   
 25         read_lock(&tasklist_lock);                
 26         for_each_process(p) {                     
 27                 struct task_struct *t;            
 28                                                   
 29                 t = find_lock_task_mm(p);         
 30                 if (!t)                           
 31                         continue;                 
 32                 pid = t->mm->context.id.pid;      
 33                 task_unlock(t);                   
 34                 os_kill_ptraced_process(pid, 1    
 35         }                                         
 36         read_unlock(&tasklist_lock);              
 37 }                                                 
 38                                                   
 39 void uml_cleanup(void)                            
 40 {                                                 
 41         kmalloc_ok = 0;                           
 42         do_uml_exitcalls();                       
 43         kill_off_processes();                     
 44 }                                                 
 45                                                   
 46 void machine_restart(char * __unused)             
 47 {                                                 
 48         uml_cleanup();                            
 49         reboot_skas();                            
 50 }                                                 
 51                                                   
 52 void machine_power_off(void)                      
 53 {                                                 
 54         uml_cleanup();                            
 55         halt_skas();                              
 56 }                                                 
 57                                                   
 58 void machine_halt(void)                           
 59 {                                                 
 60         machine_power_off();                      
 61 }                                                 
 62                                                   
 63 static int sys_power_off_handler(struct sys_of    
 64 {                                                 
 65         machine_power_off();                      
 66         return 0;                                 
 67 }                                                 
 68                                                   
 69 static int register_power_off(void)               
 70 {                                                 
 71         register_sys_off_handler(SYS_OFF_MODE_    
 72                                  SYS_OFF_PRIO_    
 73                                  sys_power_off    
 74         return 0;                                 
 75 }                                                 
 76 __initcall(register_power_off);                   
 77                                                   

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php