Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753261AbcJCVuk (ORCPT ); Mon, 3 Oct 2016 17:50:40 -0400 Received: from mail-oi0-f51.google.com ([209.85.218.51]:33538 "EHLO mail-oi0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751671AbcJCVua (ORCPT ); Mon, 3 Oct 2016 17:50:30 -0400 MIME-Version: 1.0 In-Reply-To: <20160817022553.GA9962@hydra.tuxags.com> References: <1461888548-32439-1-git-send-email-keescook@chromium.org> <1461888548-32439-3-git-send-email-keescook@chromium.org> <20160816040147.GA4492@hydra.tuxags.com> <20160817022553.GA9962@hydra.tuxags.com> From: Simon Glass Date: Mon, 3 Oct 2016 15:50:09 -0600 X-Google-Sender-Auth: L00rZlboIzIh7VjrEHhAhG8qnmQ Message-ID: Subject: Re: [PATCH 2/6] x86/boot: Move compressed kernel to end of decompression buffer To: Yinghai Lu , Kees Cook , Ingo Molnar , Ingo Molnar , Baoquan He , "H. Peter Anvin" , Borislav Petkov , Vivek Goyal , Andy Lutomirski , Lasse Collin , Andrew Morton , Dave Young , LKML , Simon Glass Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2185 Lines: 44 HI Matt, On 16 August 2016 at 20:25, Matt Mullins wrote: > On Tue, Aug 16, 2016 at 12:19:42PM -0700, Yinghai Lu wrote: >> On Mon, Aug 15, 2016 at 9:01 PM, Matt Mullins wrote: >> > >> > This appears to have a negative effect on booting the Intel Edison platform, as >> > it uses u-boot as its bootloader. u-boot does not copy the init_size parameter >> > when booting a bzImage: it copies a fixed-size setup_header [1], and its >> > definition of setup_header doesn't include the parameters beyond setup_data [2]. >> > >> > With a zero value for init_size, this calculates a %rsp value of 0x101ff9600. >> > This causes the boot process to hard-stop at the immediately-following pushq, as >> > this platform has no usable physical addresses above 4G. >> > >> > What are the options for getting this type of platform to function again? For >> > now, kexec from a working Linux system does seem to be a work-around, but there >> > appears to be other x86 hardware using u-boot: the chromium.org folks seem to be >> > maintaining the u-boot x86 tree. >> > >> > [1] http://git.denx.de/?p=u-boot.git;a=blob;f=arch/x86/lib/zimage.c;h=1b33c771391f49ffe82864ff1582bdfd07e5e97d;hb=HEAD#l156 >> > [2] http://git.denx.de/?p=u-boot.git;a=blob;f=arch/x86/include/asm/bootparam.h;h=140095117e5a2daef0a097c55f0ed10e08acc781;hb=HEAD#l24 >> >> Then should fix the u-boot about header_size assumption. > > I was hoping to avoid that, since the Edison's u-boot is 10,000-line patch atop > the upstream -- I don't trust myself to build and flash one quite yet. It would be good to upstream that! > > If this turned out to affect Chromebooks, I'd spend more effort pushing for > a kernel fix, but it seems that ChromeOS has a different kernel load procedure > and doesn't use "zboot". For now, I'll probably just keep a local patch that > hard-codes a value large enough to decompress and launch the kernel. > > I may turn that local patch into something gated by a Kconfig eventually, in > hopes that users of the other x86 u-boot platforms will see it in a "make > oldconfig" run. Well, I think this patch is useful. But also, let's fix U-Boot. Regards, Simon