From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752978AbaHMOCZ (ORCPT ); Wed, 13 Aug 2014 10:02:25 -0400 Received: from mail-we0-f173.google.com ([74.125.82.173]:37512 "EHLO mail-we0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752917AbaHMOCW (ORCPT ); Wed, 13 Aug 2014 10:02:22 -0400 Date: Wed, 13 Aug 2014 15:02:19 +0100 From: Matt Fleming To: Mantas =?utf-8?Q?Mikul=C4=97nas?= Cc: Yinghai Lu , Matt Fleming , Linux Kernel Mailing List , linux-efi@vger.kernel.org Subject: Re: Loading initrd above 4G causes freeze on boot Message-ID: <20140813140219.GP15082@console-pimps.org> References: <53E62EEF.9040801@gmail.com> <20140809192302.GJ15082@console-pimps.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, 10 Aug, at 09:43:32PM, Mantas Mikulėnas wrote: > On Sun, Aug 10, 2014 at 8:55 AM, Yinghai Lu wrote: > > On Sat, Aug 9, 2014 at 3:45 PM, Mantas Mikulėnas wrote: > >> On Sat, Aug 9, 2014 at 10:23 PM, Matt Fleming wrote: > >> [However... Whether it's five chunks, four (after making the initrd > >> smaller), or just one (with your efi=nochunk), I noticed that it > >> *always* hangs during the *last* read, and the allocated memory always > >> ends at roughly the same address (0x137fffXXX). I wonder if it's > >> selecting a memory location already in use, or something like that...] > >> > >> (The laptop is Asus K52JT, AMI firmware v206, no updates available.) > > > > wonder if efi_file_read return with wrong chunksize. > > > > Can you try attached patch ? > > Thanks, but it didn't change anything. > > (I tried adding some efi_printk's, and as far as I can see, > efi_file_read *doesn't* return at all.) Could you send you revert Yinghai's commit locally and send the dmesg from a successful boot? I'm wondering what other regions are around the 0x137fffxxx area. One other thing to attempt would be to progressively try higher and higher max memory addresses to read into to see if we can correlate your hang with a particular region, i.e. this code, if (hdr->xloadflags & XLF_CAN_BE_LOADED_ABOVE_4G) initrd_addr_max = -1UL; else initrd_addr_max = hdr->initrd_addr_max; status = efi_parse_options(cmdline_ptr); if (status != EFI_SUCCESS) goto fail2; status = handle_cmdline_files(sys_table, image, (char *)(unsigned long)hdr->cmd_line_ptr, "initrd=", initrd_addr_max, &ramdisk_addr, &ramdisk_size); -- Matt Fleming, Intel Open Source Technology Center