Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3658f360 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull arch/tile fix from Chris Metcalf:
 "This change allows newer Tilera boot tools to work correctly with
  current (and stable) kernels by using the right filename to get the
  initramfs from the Tilera hypervisor filesystem."

* 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
  tile: expect new initramfs name from hypervisor file system
parents ff3421de ff7f3efb
Loading
Loading
Loading
Loading
+12 −13
Original line number Original line Diff line number Diff line
@@ -1004,15 +1004,8 @@ void __cpuinit setup_cpu(int boot)


#ifdef CONFIG_BLK_DEV_INITRD
#ifdef CONFIG_BLK_DEV_INITRD


/*
 * Note that the kernel can potentially support other compression
 * techniques than gz, though we don't do so by default.  If we ever
 * decide to do so we can either look for other filename extensions,
 * or just allow a file with this name to be compressed with an
 * arbitrary compressor (somewhat counterintuitively).
 */
static int __initdata set_initramfs_file;
static int __initdata set_initramfs_file;
static char __initdata initramfs_file[128] = "initramfs.cpio.gz";
static char __initdata initramfs_file[128] = "initramfs";


static int __init setup_initramfs_file(char *str)
static int __init setup_initramfs_file(char *str)
{
{
@@ -1026,9 +1019,9 @@ static int __init setup_initramfs_file(char *str)
early_param("initramfs_file", setup_initramfs_file);
early_param("initramfs_file", setup_initramfs_file);


/*
/*
 * We look for an "initramfs.cpio.gz" file in the hvfs.
 * We look for a file called "initramfs" in the hvfs.  If there is one, we
 * If there is one, we allocate some memory for it and it will be
 * allocate some memory for it and it will be unpacked to the initramfs.
 * unpacked to the initramfs.
 * If it's compressed, the initd code will uncompress it first.
 */
 */
static void __init load_hv_initrd(void)
static void __init load_hv_initrd(void)
{
{
@@ -1038,10 +1031,16 @@ static void __init load_hv_initrd(void)


	fd = hv_fs_findfile((HV_VirtAddr) initramfs_file);
	fd = hv_fs_findfile((HV_VirtAddr) initramfs_file);
	if (fd == HV_ENOENT) {
	if (fd == HV_ENOENT) {
		if (set_initramfs_file)
		if (set_initramfs_file) {
			pr_warning("No such hvfs initramfs file '%s'\n",
			pr_warning("No such hvfs initramfs file '%s'\n",
				   initramfs_file);
				   initramfs_file);
			return;
			return;
		} else {
			/* Try old backwards-compatible name. */
			fd = hv_fs_findfile((HV_VirtAddr)"initramfs.cpio.gz");
			if (fd == HV_ENOENT)
				return;
		}
	}
	}
	BUG_ON(fd < 0);
	BUG_ON(fd < 0);
	stat = hv_fs_fstat(fd);
	stat = hv_fs_fstat(fd);