1 #include <linux/config.h> 2 #include <linux/kernel.h> 3 #include <linux/init.h> 4 #include <linux/syscalls.h> 5 #include <linux/unistd.h> 6 #include <linux/slab.h> 7 #include <linux/mount.h> 8 #include <linux/major.h> 9 #include <linux/root_dev.h> 10 11 void change_floppy(char *fmt, ...); 12 void mount_block_root(char *name, int flags); 13 void mount_root(void); 14 extern int root_mountflags; 15 extern char *root_device_name; 16 17 static inline int create_dev(char *name, dev_t dev) 18 { 19 sys_unlink(name); 20 return sys_mknod(name, S_IFBLK|0600, new_encode_dev(dev)); 21 } 22 23 #if BITS_PER_LONG == 32 24 static inline u32 bstat(char *name) 25 { 26 struct stat64 stat; 27 if (sys_stat64(name, &stat) != 0) 28 return 0; 29 if (!S_ISBLK(stat.st_mode)) 30 return 0; 31 if (stat.st_rdev != (u32)stat.st_rdev) 32 return 0; 33 return stat.st_rdev; 34 } 35 #else 36 static inline u32 bstat(char *name) 37 { 38 struct stat stat; 39 if (sys_newstat(name, &stat) != 0) 40 return 0; 41 if (!S_ISBLK(stat.st_mode)) 42 return 0; 43 return stat.st_rdev; 44 } 45 #endif 46 47 #ifdef CONFIG_BLK_DEV_RAM 48 49 int __init rd_load_disk(int n); 50 int __init rd_load_image(char *from); 51 52 #else 53 54 static inline int rd_load_disk(int n) { return 0; } 55 static inline int rd_load_image(char *from) { return 0; } 56 57 #endif 58 59 #ifdef CONFIG_BLK_DEV_INITRD 60 61 int __init initrd_load(void); 62 63 #else 64 65 static inline int initrd_load(void) { return 0; } 66 67 #endif 68 69 #ifdef CONFIG_BLK_DEV_MD 70 71 void md_run_setup(void); 72 73 #else 74 75 static inline void md_run_setup(void) {} 76 77 #endif 78