From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754491AbXJWWIo (ORCPT ); Tue, 23 Oct 2007 18:08:44 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752651AbXJWWIh (ORCPT ); Tue, 23 Oct 2007 18:08:37 -0400 Received: from gw.goop.org ([64.81.55.164]:43963 "EHLO mail.goop.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752645AbXJWWIg (ORCPT ); Tue, 23 Oct 2007 18:08:36 -0400 Message-ID: <471E70E0.2090802@goop.org> Date: Tue, 23 Oct 2007 15:08:32 -0700 From: Jeremy Fitzhardinge User-Agent: Thunderbird 2.0.0.5 (X11/20070727) MIME-Version: 1.0 To: "Huang, Ying" CC: "H. Peter Anvin" , Andi Kleen , "Eric W. Biederman" , akpm@linux-foundation.org, Linus Torvalds , linux-kernel@vger.kernel.org Subject: Re: [PATCH -v7 1/3] x86 boot: setup data References: <1193126771.23935.79.camel@caritas-dev.intel.com> In-Reply-To: <1193126771.23935.79.camel@caritas-dev.intel.com> X-Enigmail-Version: 0.95.3 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Huang, Ying wrote: > This patch add a field of 64-bit physical pointer to NULL terminated > single linked list of struct setup_data to real-mode kernel > header. This is used as a more extensible boot parameters passing > mechanism. > As a general comment, I can't say I'm thrilled about sticking the copied setup data at the end of the initial pagetables. This is already a fairly complex area, and changing it touches a surprisingly large number of places. I wonder if there isn't a better way to deal with this (possibly by fixing up the generation of the initial pagetables in the process). Or more simply, define a max size for this data, and copy it into an initdata area (which, being initdata, can be quite large without wasting lots of memory). > Signed-off-by: Huang Ying > > --- > > arch/x86/boot/header.S | 6 +++++- > arch/x86/kernel/e820_64.c | 6 +++--- > arch/x86/kernel/head64.c | 26 ++++++++++++++++++++++++++ > arch/x86/kernel/head_32.S | 37 ++++++++++++++++++++++++++++++++++++- > arch/x86/kernel/setup_32.c | 25 +++++++++++++++++++++++-- > arch/x86/kernel/setup_64.c | 22 ++++++++++++++++++++-- > arch/x86/mm/discontig_32.c | 3 ++- > include/asm-x86/bootparam.h | 12 ++++++++++++ > include/asm-x86/e820_64.h | 1 + > include/asm-x86/setup_32.h | 7 +++++++ > include/asm-x86/setup_64.h | 2 ++ > 11 files changed, 137 insertions(+), 10 deletions(-) > > Index: linux-2.6/include/asm-x86/bootparam.h > =================================================================== > --- linux-2.6.orig/include/asm-x86/bootparam.h 2007-10-23 10:01:35.000000000 +0800 > +++ linux-2.6/include/asm-x86/bootparam.h 2007-10-23 10:48:48.000000000 +0800 > @@ -9,6 +9,17 @@ > #include > #include