if (tag->hdr.size > 2) {
if ((tag->u.core.flags & 1) == 0)
root_mountflags &= ~MS_RDONLY;
- ROOT_DEV = tag->u.core.rootdev;
+ ROOT_DEV = old_decode_dev(tag->u.core.rootdev);
}
return 0;
}
if (tag->hdr.size > 2) {
if ((tag->u.core.flags & 1) == 0)
root_mountflags &= ~MS_RDONLY;
- ROOT_DEV = tag->u.core.rootdev;
+ ROOT_DEV = old_decode_dev(tag->u.core.rootdev);
}
return 0;
}
pre_setup_arch_hook();
early_cpu_init();
- ROOT_DEV = ORIG_ROOT_DEV;
+ ROOT_DEV = old_decode_dev(ORIG_ROOT_DEV);
drive_info = DRIVE_INFO;
screen_info = SCREEN_INFO;
edid_info = EDID_INFO;
#undef DEBUG_XSTAT
static inline u32
-linux_to_irix_dev_t (dev_t t)
+linux_to_irix_dev_t(dev_t t)
{
return MAJOR (t) << 18 | MINOR (t);
}
return error;
}
-extern asmlinkage int sys_mknod(const char * filename, int mode, dev_t dev);
+extern asmlinkage int sys_mknod(const char * filename, int mode, unsigned dev);
-asmlinkage int irix_xmknod(int ver, char *filename, int mode, dev_t dev)
+asmlinkage int irix_xmknod(int ver, char *filename, int mode, unsigned dev)
{
int retval;
-
printk("[%s:%d] Wheee.. irix_xmknod(%d,%s,%x,%x)\n",
- current->comm, current->pid, ver, filename, mode, (int) dev);
+ current->comm, current->pid, ver, filename, mode, dev);
switch(ver) {
case 2:
+ /* shouldn't we convert here as well as on stat()? */
retval = sys_mknod(filename, mode, dev);
break;
break ;
case 2:
/* ustat(): */
- return( hpux_ustat((dev_t)n, (struct hpux_ustat *)ubuf) );
+ return( hpux_ustat(old_decode_dev(n), (struct hpux_ustat *)ubuf) );
break ;
case 3:
/* setuname():
extern int pmac_newworld;
-#define DEFAULT_ROOT_DEVICE 0x0801 /* sda1 - slightly silly choice */
+#define DEFAULT_ROOT_DEVICE Root_SDA1 /* sda1 - slightly silly choice */
extern void zs_kgdb_hook(int tty_num);
static void ohare_init(void);
sh_console_init();
#endif
- ROOT_DEV = ORIG_ROOT_DEV;
+ ROOT_DEV = old_decode_dev(ORIG_ROOT_DEV);
#ifdef CONFIG_BLK_DEV_RAM
rd_image_start = RAMDISK_FLAGS & RAMDISK_IMAGE_START_MASK;
if (!root_flags)
root_mountflags &= ~MS_RDONLY;
- ROOT_DEV = root_dev;
+ ROOT_DEV = old_decode_dev(root_dev);
#ifdef CONFIG_BLK_DEV_INITRD
rd_image_start = ram_flags & RAMDISK_IMAGE_START_MASK;
rd_prompt = ((ram_flags & RAMDISK_PROMPT_FLAG) != 0);
if (!root_flags)
root_mountflags &= ~MS_RDONLY;
- ROOT_DEV = root_dev;
+ ROOT_DEV = old_decode_dev(root_dev);
#ifdef CONFIG_BLK_DEV_INITRD
rd_image_start = ram_flags & RAMDISK_IMAGE_START_MASK;
rd_prompt = ((ram_flags & RAMDISK_PROMPT_FLAG) != 0);
asmlinkage int solaris_mknod(u32 path, u32 mode, s32 dev)
{
- int (*sys_mknod)(const char *,int,dev_t) =
- (int (*)(const char *,int,dev_t))SYS(mknod);
+ int (*sys_mknod)(const char *,int,unsigned) =
+ (int (*)(const char *,int,unsigned))SYS(mknod);
int major, minor;
if ((major = R4_MAJOR(dev)) > 255 ||
(minor = R4_MINOR(dev)) > 255) return -EINVAL;
- return sys_mknod((const char *)A(path), mode, MKDEV(major,minor));
+ return sys_mknod((const char *)A(path), mode, old_encode_dev(MKDEV(major,minor)));
}
asmlinkage int solaris_xmknod(int vers, u32 path, u32 mode, s32 dev)
extern int sys_ustat(dev_t, struct ustat *);
-long sys32_ustat(dev_t dev, struct ustat32 *u32p)
+long sys32_ustat(unsigned dev, struct ustat32 *u32p)
{
struct ustat u;
mm_segment_t seg;
{
unsigned long low_mem_size;
- ROOT_DEV = ORIG_ROOT_DEV;
+ ROOT_DEV = old_decode_dev(ORIG_ROOT_DEV);
drive_info = DRIVE_INFO;
screen_info = SCREEN_INFO;
edid_info = EDID_INFO;
return error;
}
-asmlinkage long sys_mknod(const char __user * filename, int mode, dev_t dev)
+asmlinkage long sys_mknod(const char __user * filename, int mode, unsigned dev)
{
int error = 0;
char * tmp;
case 0: case S_IFREG:
error = vfs_create(nd.dentry->d_inode,dentry,mode,&nd);
break;
- case S_IFCHR: case S_IFBLK: case S_IFIFO: case S_IFSOCK:
- error = vfs_mknod(nd.dentry->d_inode,dentry,mode,dev);
+ case S_IFCHR: case S_IFBLK:
+ error = vfs_mknod(nd.dentry->d_inode,dentry,mode,
+ old_decode_dev(dev));
+ break;
+ case S_IFIFO: case S_IFSOCK:
+ error = vfs_mknod(nd.dentry->d_inode,dentry,mode,0);
break;
case S_IFDIR:
error = -EPERM;
return NULL;
}
-asmlinkage long sys_ustat(dev_t dev, struct ustat __user * ubuf)
+asmlinkage long sys_ustat(unsigned dev, struct ustat __user * ubuf)
{
struct super_block *s;
struct ustat tmp;
struct kstatfs sbuf;
int err = -EINVAL;
- s = user_get_super(dev);
+ s = user_get_super(old_decode_dev(dev));
if (s == NULL)
goto out;
err = vfs_statfs(s, &sbuf);
/*
* Nope. Try old-style "0321"
*/
- res = (dev_t)simple_strtoul(buf, &s, 16);
+ res = old_decode_dev(simple_strtoul(buf, &s, 16));
if (*s)
goto fail;
}
if (part < range)
return res + part;
fail:
- return (dev_t) 0;
+ return 0;
}
/*
if (sscanf(name, "%u:%u", &maj, &min) == 2) {
res = MKDEV(maj, min);
} else {
- res = (dev_t)simple_strtoul(name, &p, 16);
+ res = old_decode_dev(simple_strtoul(name, &p, 16));
if (*p)
goto fail;
}
sys_rmdir("/sys");
return res;
fail:
- res = (dev_t) 0;
+ res = 0;
goto done;
}
#include <linux/root_dev.h>
asmlinkage long sys_unlink(const char *name);
-asmlinkage long sys_mknod(const char *name, int mode, dev_t dev);
+asmlinkage long sys_mknod(const char *name, int mode, unsigned dev);
asmlinkage long sys_newstat(char * filename, struct stat * statbuf);
asmlinkage long sys_ioctl(int fd, int cmd, unsigned long arg);
asmlinkage long sys_mkdir(const char *name, int mode);
static inline int create_dev(char *name, dev_t dev, char *devfs_name)
{
sys_unlink(name);
- return sys_mknod(name, S_IFBLK|0600, dev);
+ return sys_mknod(name, S_IFBLK|0600, old_encode_dev(dev));
}
#endif
/*
* recursively scan <path>, looking for a device node of type <dev>
*/
-static int __init find_in_devfs(char *path, dev_t dev)
+static int __init find_in_devfs(char *path, unsigned dev)
{
struct stat buf;
char *end = path + strlen(path);
if (!dev)
return -1;
strcpy(path, "/dev");
- if (find_in_devfs(path, dev) < 0)
+ if (find_in_devfs(path, old_encode_dev(dev)) < 0)
return -1;
return sys_symlink(path + 5, name);
}
int error;
int i, pid;
- real_root_dev = ROOT_DEV;
+ real_root_dev = old_encode_dev(ROOT_DEV);
create_dev("/dev/root.old", Root_RAM0, NULL);
/* mount initrd on rootfs' /root */
mount_block_root("/dev/root.old", root_mountflags & ~MS_RDONLY);
close(root_fd);
umount_devfs("/old/dev");
- if (real_root_dev == Root_RAM0) {
+ if (old_decode_dev(real_root_dev) == Root_RAM0) {
sys_chdir("/old");
return;
}
- ROOT_DEV = real_root_dev;
+ ROOT_DEV = old_decode_dev(real_root_dev);
mount_root();
printk(KERN_NOTICE "Trying to move old root to /initrd ... ");
snprintf(comp_name, 63, "/dev/%s", devname);
if (sys_newstat(comp_name, &buf) == 0 &&
S_ISBLK(buf.st_mode))
- dev = buf.st_rdev;
+ dev = old_decode_dev(buf.st_rdev);
if (!dev) {
printk(KERN_WARNING "md: Unknown device name: %s\n", devname);
break;
}
asmlinkage long sys_mkdir(char *name, int mode);
-asmlinkage long sys_mknod(char *name, int mode, dev_t dev);
+asmlinkage long sys_mknod(char *name, int mode, unsigned dev);
asmlinkage long sys_symlink(char *old, char *new);
asmlinkage long sys_link(char *old, char *new);
asmlinkage long sys_write(int fd, const char *buf, size_t size);
static __initdata unsigned long body_len, name_len;
static __initdata uid_t uid;
static __initdata gid_t gid;
-static __initdata dev_t rdev;
+static __initdata unsigned rdev;
static void __init parse_header(char *s)
{
body_len = parsed[6];
major = parsed[7];
minor = parsed[8];
- rdev = MKDEV(parsed[9], parsed[10]);
+ rdev = old_encode_dev(MKDEV(parsed[9], parsed[10]));
name_len = parsed[11];
}