summaryrefslogtreecommitdiffstats
path: root/arch/um/kernel/reboot.c
diff options
context:
space:
mode:
authorJeff Dike <jdike@addtoit.com>2007-10-16 10:26:58 +0200
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-16 18:43:05 +0200
commit77bf4400319db9d2a8af6b00c2be6faa0f3d07cb (patch)
treeddc8fd48349b8d4dd2c0b26bce7f52f79b4e4077 /arch/um/kernel/reboot.c
parentuml: style fixes pass 2 (diff)
downloadlinux-77bf4400319db9d2a8af6b00c2be6faa0f3d07cb.tar.xz
linux-77bf4400319db9d2a8af6b00c2be6faa0f3d07cb.zip
uml: remove code made redundant by CHOOSE_MODE removal
This patch makes a number of simplifications enabled by the removal of CHOOSE_MODE. There were lots of functions that looked like int foo(args){ foo_skas(args); } The bodies of foo_skas are now folded into foo, and their declarations (and sometimes entire header files) are deleted. In addition, the union uml_pt_regs, which was a union between the tt and skas register formats, is now a struct, with the tt-mode arm of the union being removed. It turns out that usr2_handler was unused, so it is gone. Signed-off-by: Jeff Dike <jdike@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/um/kernel/reboot.c')
-rw-r--r--arch/um/kernel/reboot.c21
1 files changed, 19 insertions, 2 deletions
diff --git a/arch/um/kernel/reboot.c b/arch/um/kernel/reboot.c
index 4a0def32e323..f3bd18bbf07f 100644
--- a/arch/um/kernel/reboot.c
+++ b/arch/um/kernel/reboot.c
@@ -9,13 +9,30 @@
#include "kern_util.h"
#include "kern.h"
#include "os.h"
-#include "mode.h"
+#include "skas.h"
void (*pm_power_off)(void);
static void kill_off_processes(void)
{
- kill_off_processes_skas();
+ if(proc_mm)
+ /*
+ * FIXME: need to loop over userspace_pids
+ */
+ os_kill_ptraced_process(userspace_pid[0], 1);
+ else {
+ struct task_struct *p;
+ int pid, me;
+
+ me = os_getpid();
+ for_each_process(p){
+ if(p->mm == NULL)
+ continue;
+
+ pid = p->mm->context.skas.id.u.pid;
+ os_kill_ptraced_process(pid, 1);
+ }
+ }
}
void uml_cleanup(void)