diff options
Diffstat (limited to 'arch/tile')
| -rw-r--r-- | arch/tile/Kconfig | 2 | ||||
| -rw-r--r-- | arch/tile/configs/tilegx_defconfig | 1 | ||||
| -rw-r--r-- | arch/tile/configs/tilepro_defconfig | 1 | ||||
| -rw-r--r-- | arch/tile/include/asm/irqflags.h | 10 | ||||
| -rw-r--r-- | arch/tile/kernel/setup.c | 25 | 
5 files changed, 22 insertions, 17 deletions
diff --git a/arch/tile/Kconfig b/arch/tile/Kconfig index ff496ab1e79..25877aebc68 100644 --- a/arch/tile/Kconfig +++ b/arch/tile/Kconfig @@ -17,7 +17,7 @@ config TILE  	select GENERIC_IRQ_SHOW  	select HAVE_DEBUG_BUGVERBOSE  	select HAVE_SYSCALL_WRAPPERS if TILEGX -	select HAVE_VIRT_TO_BUS +	select VIRT_TO_BUS  	select SYS_HYPERVISOR  	select ARCH_HAVE_NMI_SAFE_CMPXCHG  	select GENERIC_CLOCKEVENTS diff --git a/arch/tile/configs/tilegx_defconfig b/arch/tile/configs/tilegx_defconfig index 8c5eff6d6df..47684815e5c 100644 --- a/arch/tile/configs/tilegx_defconfig +++ b/arch/tile/configs/tilegx_defconfig @@ -330,7 +330,6 @@ CONFIG_MD_RAID0=m  CONFIG_MD_RAID1=m  CONFIG_MD_RAID10=m  CONFIG_MD_RAID456=m -CONFIG_MULTICORE_RAID456=y  CONFIG_MD_FAULTY=m  CONFIG_BLK_DEV_DM=m  CONFIG_DM_DEBUG=y diff --git a/arch/tile/configs/tilepro_defconfig b/arch/tile/configs/tilepro_defconfig index e7a3dfcbcda..dd2b8f0c631 100644 --- a/arch/tile/configs/tilepro_defconfig +++ b/arch/tile/configs/tilepro_defconfig @@ -324,7 +324,6 @@ CONFIG_MD_RAID0=m  CONFIG_MD_RAID1=m  CONFIG_MD_RAID10=m  CONFIG_MD_RAID456=m -CONFIG_MULTICORE_RAID456=y  CONFIG_MD_FAULTY=m  CONFIG_BLK_DEV_DM=m  CONFIG_DM_DEBUG=y diff --git a/arch/tile/include/asm/irqflags.h b/arch/tile/include/asm/irqflags.h index 241c0bb60b1..c96f9bbb760 100644 --- a/arch/tile/include/asm/irqflags.h +++ b/arch/tile/include/asm/irqflags.h @@ -40,7 +40,15 @@  #include <asm/percpu.h>  #include <arch/spr_def.h> -/* Set and clear kernel interrupt masks. */ +/* + * Set and clear kernel interrupt masks. + * + * NOTE: __insn_mtspr() is a compiler builtin marked as a memory + * clobber.  We rely on it being equivalent to a compiler barrier in + * this code since arch_local_irq_save() and friends must act as + * compiler barriers.  This compiler semantic is baked into enough + * places that the compiler will maintain it going forward. + */  #if CHIP_HAS_SPLIT_INTR_MASK()  #if INT_PERF_COUNT < 32 || INT_AUX_PERF_COUNT < 32 || INT_MEM_ERROR >= 32  # error Fix assumptions about which word various interrupts are in diff --git a/arch/tile/kernel/setup.c b/arch/tile/kernel/setup.c index d1e15f7b59c..7a5aa1a7864 100644 --- a/arch/tile/kernel/setup.c +++ b/arch/tile/kernel/setup.c @@ -1004,15 +1004,8 @@ void __cpuinit setup_cpu(int boot)  #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 char __initdata initramfs_file[128] = "initramfs.cpio.gz"; +static char __initdata initramfs_file[128] = "initramfs";  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);  /* - * We look for an "initramfs.cpio.gz" file in the hvfs. - * If there is one, we allocate some memory for it and it will be - * unpacked to the initramfs. + * We look for a file called "initramfs" in the hvfs.  If there is one, we + * allocate some memory for it and it will be unpacked to the initramfs. + * If it's compressed, the initd code will uncompress it first.   */  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);  	if (fd == HV_ENOENT) { -		if (set_initramfs_file) +		if (set_initramfs_file) {  			pr_warning("No such hvfs initramfs file '%s'\n",  				   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);  	stat = hv_fs_fstat(fd);  |