projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
skge: default WOL should be magic only (rev2)
[powerpc.git]
/
init
/
do_mounts_initrd.c
diff --git
a/init/do_mounts_initrd.c
b/init/do_mounts_initrd.c
index
405f903
..
b222ce9
100644
(file)
--- a/
init/do_mounts_initrd.c
+++ b/
init/do_mounts_initrd.c
@@
-1,4
+1,3
@@
-#define __KERNEL_SYSCALLS__
#include <linux/unistd.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/unistd.h>
#include <linux/kernel.h>
#include <linux/fs.h>
@@
-7,6
+6,7
@@
#include <linux/romfs_fs.h>
#include <linux/initrd.h>
#include <linux/sched.h>
#include <linux/romfs_fs.h>
#include <linux/initrd.h>
#include <linux/sched.h>
+#include <linux/freezer.h>
#include "do_mounts.h"
#include "do_mounts.h"
@@
-35,7
+35,7
@@
static int __init do_linuxrc(void * shell)
(void) sys_open("/dev/console",O_RDWR,0);
(void) sys_dup(0);
(void) sys_dup(0);
(void) sys_open("/dev/console",O_RDWR,0);
(void) sys_dup(0);
(void) sys_dup(0);
- return execve(shell, argv, envp_init);
+ return
kernel_
execve(shell, argv, envp_init);
}
static void __init handle_initrd(void)
}
static void __init handle_initrd(void)
@@
-44,7
+44,7
@@
static void __init handle_initrd(void)
int pid;
real_root_dev = new_encode_dev(ROOT_DEV);
int pid;
real_root_dev = new_encode_dev(ROOT_DEV);
- create_dev("/dev/root.old", Root_RAM0
, NULL
);
+ create_dev("/dev/root.old", Root_RAM0);
/* mount initrd on rootfs' /root */
mount_block_root("/dev/root.old", root_mountflags & ~MS_RDONLY);
sys_mkdir("/old", 0700);
/* mount initrd on rootfs' /root */
mount_block_root("/dev/root.old", root_mountflags & ~MS_RDONLY);
sys_mkdir("/old", 0700);
@@
-54,13
+54,13
@@
static void __init handle_initrd(void)
sys_chdir("/root");
sys_mount(".", "/", NULL, MS_MOVE, NULL);
sys_chroot(".");
sys_chdir("/root");
sys_mount(".", "/", NULL, MS_MOVE, NULL);
sys_chroot(".");
- mount_devfs_fs ();
- current->flags |= PF_NOFREEZE;
pid = kernel_thread(do_linuxrc, "/linuxrc", SIGCHLD);
if (pid > 0) {
pid = kernel_thread(do_linuxrc, "/linuxrc", SIGCHLD);
if (pid > 0) {
- while (pid != sys_wait4(-1, NULL, 0, NULL))
+ while (pid != sys_wait4(-1, NULL, 0, NULL)) {
+ try_to_freeze();
yield();
yield();
+ }
}
/* move initrd to rootfs' /old */
}
/* move initrd to rootfs' /old */
@@
-71,7
+71,6
@@
static void __init handle_initrd(void)
sys_chroot(".");
sys_close(old_fd);
sys_close(root_fd);
sys_chroot(".");
sys_close(old_fd);
sys_close(root_fd);
- umount_devfs("/old/dev");
if (new_decode_dev(real_root_dev) == Root_RAM0) {
sys_chdir("/old");
if (new_decode_dev(real_root_dev) == Root_RAM0) {
sys_chdir("/old");
@@
-107,7
+106,7
@@
static void __init handle_initrd(void)
int __init initrd_load(void)
{
if (mount_initrd) {
int __init initrd_load(void)
{
if (mount_initrd) {
- create_dev("/dev/ram", Root_RAM0
, NULL
);
+ create_dev("/dev/ram", Root_RAM0);
/*
* Load the initrd data into /dev/ram0. Execute it as initrd
* unless /dev/ram0 is supposed to be our actual root device,
/*
* Load the initrd data into /dev/ram0. Execute it as initrd
* unless /dev/ram0 is supposed to be our actual root device,