summaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
Diffstat (limited to 'init')
-rw-r--r--init/main.c26
1 files changed, 10 insertions, 16 deletions
diff --git a/init/main.c b/init/main.c
index 0a680f6ee..c9b452c9f 100644
--- a/init/main.c
+++ b/init/main.c
@@ -14,6 +14,7 @@
#include <linux/config.h>
#include <linux/proc_fs.h>
#include <linux/unistd.h>
+#include <linux/string.h>
#include <linux/ctype.h>
#include <linux/delay.h>
#include <linux/utsname.h>
@@ -429,6 +430,10 @@ static struct dev_name_struct {
{ "hdj", 0x3840 },
{ "hdk", 0x3900 },
{ "hdl", 0x3940 },
+ { "hdm", 0x5800 },
+ { "hdn", 0x5840 },
+ { "hdo", 0x5900 },
+ { "hdp", 0x5940 },
#endif
#ifdef CONFIG_BLK_DEV_SD
{ "sda", 0x0800 },
@@ -942,7 +947,11 @@ static int __init checksetup(char *line)
#ifdef CONFIG_BLK_DEV_IDE
/* ide driver needs the basic string, rather than pre-processed values */
- if (!strncmp(line,"ide",3) || (!strncmp(line,"hd",2) && line[2] != '=')) {
+ if (!strncmp(line,"ide",3) ||
+#ifdef CONFIG_BLK_DEV_VIA82C586
+ !strncmp(line,"splitfifo",9) ||
+#endif /* CONFIG_BLK_DEV_VIA82C586 */
+ (!strncmp(line,"hd",2) && line[2] != '=')) {
ide_setup(line);
return 1;
}
@@ -1343,21 +1352,6 @@ static void __init do_basic_setup(void)
/* Mount the root filesystem.. */
mount_root();
-#ifdef CONFIG_UMSDOS_FS
- {
- /*
- When mounting a umsdos fs as root, we detect
- the pseudo_root (/linux) and initialise it here.
- pseudo_root is defined in fs/umsdos/inode.c
- */
- extern struct inode *pseudo_root;
- if (pseudo_root != NULL){
- current->fs->root = pseudo_root->i_sb->s_root;
- current->fs->pwd = pseudo_root->i_sb->s_root;
- }
- }
-#endif
-
#ifdef CONFIG_BLK_DEV_INITRD
root_mountflags = real_root_mountflags;
if (mount_initrd && ROOT_DEV != real_root_dev