From Aaditya.Kumar@ap.sony.com Fri Nov 23 03:51:22 2012
From: Aaditya Kumar <aaditya.kumar@ap.sony.com>
Date: Fri, 23 Nov 2012 17:15:41 +0530
Subject: [PATCH v2 RESEND 15/15] AXFS: mount as rootfs
To: Greg KH <gregkh@linuxfoundation.org>
Cc: "ltsi-dev@lists.linuxfoundation.org" <ltsi-dev@lists.linuxfoundation.org>, tim.bird@am.sony.com, frank.rowand@am.sony.com, takuzo.ohara@ap.sony.com, amit.agarwal@ap.sony.com, kan.iibuchi@jp.sony.com, aaditya.kumar.30@gmail.com
Message-ID: <50AF61E5.4080108@ap.sony.com>


From: Takuzo Ohara <Takuzo.Ohara@ap.sony.com>

Add support to mount AXFS as root file system first.

Signed-off-by: Takuzo Ohara <Takuzo.Ohara@ap.sony.com>
Signed-off-by: Aaditya Kumar <aaditya.kumar@ap.sony.com>
---
 fs/axfs/Kconfig      |   15 +++++++++++++++
 fs/axfs/axfs_super.c |    6 ++++++
 init/do_mounts.c     |   20 ++++++++++++++++++++
 3 files changed, 41 insertions(+)

--- a/fs/axfs/Kconfig
+++ b/fs/axfs/Kconfig
@@ -34,3 +34,18 @@ config AXFS_DEBUG_XIP_RECORDS_NUM
 	help
 	  The number of records which /porc/axfs_xip can record. one record
 	  takes about 64 bytes of memory.
+
+config AXFS_FIRST_MOUNT_AXFS_AS_ROOTFS
+	bool "First Mount AXFS as Rootfs"
+	depends on AXFS
+	help
+	  Say Y if you have enabled axfs, and you want to mount the axfs
+	  image as a root file system first when the kernel boots. This option
+	  makes the kernel boottime a little faster when the command line is
+	  properly set. Before having the kernel mount this axfs image
+	  as a root file system, you must pass the command line parameter:
+	  "root=/dev/null rootflags=physaddr=0x********" to the kernel
+	  (replace 0x******** with the physical address location of the
+	  axfs image to boot with).
+
+	  If unsure, say N.
--- a/fs/axfs/axfs_super.c
+++ b/fs/axfs/axfs_super.c
@@ -884,6 +884,12 @@ struct dentry *axfs_get_sb(struct file_s
 	if (err)
 		goto out;
 
+#ifdef CONFIG_AXFS_FIRST_MOUNT_AXFS_AS_ROOTFS
+	printk(KERN_INFO "AXFS: Checking AXFS filesystem at virtaddr: 0x%08lx "
+			"(physaddr=0x%08lx).\n", sbi->virt_start_addr,
+			sbi->phys_start_addr);
+#endif
+
 	/* First we check if we are mounting directly to memory */
 	ret = axfs_get_sb_address(fs_type, flags, sbi);
 	if (!(IS_ERR_OR_NULL(ret)))
--- a/init/do_mounts.c
+++ b/init/do_mounts.c
@@ -439,6 +439,19 @@ static int __init mount_nfs_root(void)
 }
 #endif
 
+#ifdef CONFIG_AXFS_FIRST_MOUNT_AXFS_AS_ROOTFS
+static int __init mount_axfs_root(void)
+{
+	create_dev("/dev/root", ROOT_DEV);
+	if (root_mount_data &&
+	    do_mount_root("/dev/root", "axfs", root_mountflags,
+					root_mount_data) == 0)
+		return 1;
+	return 0;
+}
+#endif
+
+
 #if defined(CONFIG_BLK_DEV_RAM) || defined(CONFIG_BLK_DEV_FD)
 void __init change_floppy(char *fmt, ...)
 {
@@ -471,6 +484,13 @@ void __init change_floppy(char *fmt, ...
 
 void __init mount_root(void)
 {
+#ifdef CONFIG_AXFS_FIRST_MOUNT_AXFS_AS_ROOTFS
+	if (MAJOR(ROOT_DEV) == UNNAMED_MAJOR) {
+		if (mount_axfs_root())
+			return;
+		printk(KERN_ERR "VFS: Unable to mount axfs root.\n");
+	}
+#endif
 #ifdef CONFIG_ROOT_NFS
 	if (ROOT_DEV == Root_NFS) {
 		if (mount_nfs_root())
