All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Garzik <jeff@garzik.org>
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
	andi@firstfloor.org, akpm@linux-foundation.org
Subject: Re: x86 setup code rewrite in C
Date: Tue, 10 Jul 2007 01:25:20 -0400	[thread overview]
Message-ID: <46931840.1050002@garzik.org> (raw)
In-Reply-To: <11840359321823-git-send-email-hpa@zytor.com>

H. Peter Anvin wrote:
> This patch set replaces the x86 setup code, which is currently all in
> assembly, with a version written in C, using the ".code16gcc" feature
> of binutils (which has been present since at least 2001.)
> 
> The new code is vastly easier to read, and, I hope, debug.  It should
> be noted that I found a fair number of minor bugs while going through
> this code, and have attempted to correct them.
> 
> In the process of doing so, it introduces several cleanups, in
> particular:
> 
> - Obsoletes the hd_info field in the boot_params structure; they are
>   only ever used for ST-506 (pre-IDE) drives and are pretty much
>   guaranteed to be wrong on current BIOSes;
> - Unifies the CPU feature bits between i386 and x86-64.  In the
>   future, it should be possible to use arch/i386/boot/cpucheck.c to do
>   the post-invocation CPU check currently done in
>   arch/x86_64/kernel/trampoline.S, although this patch set doesn't
>   introduce that change.
> - boot_params is now a proper structure.
> 
> This code has been tested in -mm since early in the 2.6.22 cycle.

ACK

I don't claim to be an expert in this area, but I definitely support 
this going in, and I really did read every patch.  :)

The only minor problem I found was a misspelling "paragrap" (perhaps 
plural) in one of the patches.

	Jeff



  parent reply	other threads:[~2007-07-10  5:26 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-10  2:51 x86 setup code rewrite in C H. Peter Anvin
2007-07-10  2:51 ` [x86 setup 01/33] x86 setup: MAINTAINERS: formally take responsibility for the i386 boot code H. Peter Anvin
2007-07-10  2:51   ` H. Peter Anvin
2007-07-10  2:51   ` [x86 setup 02/33] hd.c: remove BIOS/CMOS queries H. Peter Anvin
2007-07-10  2:51     ` H. Peter Anvin
2007-07-10  2:51   ` [x86 setup 03/33] include/asm-i386/boot.h: This is <asm/boot.h>, not <linux/boot.h> H. Peter Anvin
2007-07-10  2:51     ` H. Peter Anvin
2007-07-10  2:51   ` [x86 setup 04/33] Unify the CPU features vectors between i386 and x86-64 H. Peter Anvin
2007-07-10  2:51     ` H. Peter Anvin
2007-07-10  2:51   ` [x86 setup 05/33] Change CONFIG_X86_MINIMUM_CPU_MODEL to CONFIG_X86_MINIMUM_CPU_FAMILY H. Peter Anvin
2007-07-10  2:51     ` H. Peter Anvin
2007-07-10  2:51   ` [x86 setup 06/33] Clean up struct screen_info (<linux/screen_info.h>) H. Peter Anvin
2007-07-10  2:51     ` H. Peter Anvin
2007-07-10  2:51   ` [x86 setup 07/33] Use a new CPU feature word to cover all Intel features that are spread around H. Peter Anvin
2007-07-10  2:51     ` H. Peter Anvin
2007-07-10  2:51   ` [x86 setup 08/33] Define zero-page offset 0x1e4 as a scratch field, and use it H. Peter Anvin
2007-07-10  2:51     ` H. Peter Anvin
2007-07-10  2:51   ` [x86 setup 09/33] Make definitions for struct e820entry and struct e820map consistent H. Peter Anvin
2007-07-10  2:51     ` H. Peter Anvin
2007-07-10 11:48     ` Andi Kleen
2007-07-10  2:51   ` [x86 setup 10/33] Make struct boot_params a real structure, and remove obsolete fields H. Peter Anvin
2007-07-10  2:51     ` H. Peter Anvin
2007-07-10  2:51   ` [x86 setup 11/33] x86-64: add CONFIG_PHYSICAL_ALIGN for consistency with i386 H. Peter Anvin
2007-07-10  2:51     ` H. Peter Anvin
2007-07-10  2:51   ` [x86 setup 12/33] x86-64: add symbolic constants for the boot segment selectors H. Peter Anvin
2007-07-10  2:51     ` H. Peter Anvin
2007-07-10  2:51   ` [x86 setup 13/33] Header file to produce 16-bit code with gcc H. Peter Anvin
2007-07-10  2:51     ` H. Peter Anvin
2007-07-10 14:16       ` Segher Boessenkool
2007-07-10 15:21         ` Andi Kleen
2007-07-10 15:48           ` H. Peter Anvin
2007-07-10 15:53             ` H. Peter Anvin
2007-07-10 20:08             ` Segher Boessenkool
2007-07-10 20:43               ` H. Peter Anvin
2007-07-10 21:08                 ` Pawel Dziepak
2007-07-10 21:20                   ` H. Peter Anvin
2007-07-11  0:26                   ` Brian Gerst
2007-07-10 19:57           ` Segher Boessenkool
2007-07-10 20:42             ` H. Peter Anvin
2007-07-10 21:10               ` Segher Boessenkool
2007-07-10 21:40                 ` H. Peter Anvin
2007-07-10 22:06                   ` Segher Boessenkool
2007-07-10 21:43               ` Adrian Bunk
2007-07-10 21:46                 ` H. Peter Anvin
2007-07-11  0:30                 ` Brian Gerst
2007-07-10  2:51   ` [x86 setup 14/33] Top header file for new x86 setup code H. Peter Anvin
2007-07-10  2:51     ` H. Peter Anvin
2007-07-10  2:51   ` [x86 setup 15/33] Simple bitops for the " H. Peter Anvin
2007-07-10  2:51     ` H. Peter Anvin
2007-07-10  2:51   ` [x86 setup 16/33] String-handling functions " H. Peter Anvin
2007-07-10  2:51     ` H. Peter Anvin
2007-07-10 18:25       ` Jan Engelhardt
2007-07-10 18:35         ` H. Peter Anvin
2007-07-10 20:10           ` Segher Boessenkool
2007-07-10 20:44             ` H. Peter Anvin
2007-07-10 21:14               ` Segher Boessenkool
2007-07-11 12:46                 ` Andi Kleen
2007-07-10  2:51   ` [x86 setup 17/33] A20 handling code H. Peter Anvin
2007-07-10  2:51     ` H. Peter Anvin
2007-07-10 18:27       ` Jan Engelhardt
2007-07-10 18:33         ` H. Peter Anvin
2007-07-10 18:36         ` H. Peter Anvin
2007-07-10  2:51   ` [x86 setup 18/33] APM probing code H. Peter Anvin
2007-07-10  2:51     ` H. Peter Anvin
2007-07-10  2:51   ` [x86 setup 19/33] Command-line parsing code for the new x86 setup code H. Peter Anvin
2007-07-10  2:51     ` H. Peter Anvin
2007-07-10  2:51   ` [x86 setup 20/33] Console-writing " H. Peter Anvin
2007-07-10  2:51     ` H. Peter Anvin
2007-07-10 18:35       ` Jan Engelhardt
2007-07-10 18:48         ` H. Peter Anvin
2007-07-10  2:52   ` [x86 setup 21/33] Version string " H. Peter Anvin
2007-07-10  2:52     ` H. Peter Anvin
2007-07-10  2:52   ` [x86 setup 22/33] CPU features verification " H. Peter Anvin
2007-07-10  2:52     ` H. Peter Anvin
2007-07-10  7:37       ` Sébastien Dugué
2007-07-10  7:37         ` Sébastien Dugué
2007-07-10  2:52   ` [x86 setup 23/33] EDD probing code " H. Peter Anvin
2007-07-10  2:52     ` H. Peter Anvin
2007-07-10  2:52   ` [x86 setup 24/33] MCA support for " H. Peter Anvin
2007-07-10  2:52     ` H. Peter Anvin
2007-07-10  2:52   ` [x86 setup 25/33] Memory probing support for the " H. Peter Anvin
2007-07-10  2:52     ` H. Peter Anvin
2007-07-10  2:52   ` [x86 setup 26/33] Voyager " H. Peter Anvin
2007-07-10  2:52     ` H. Peter Anvin
2007-07-10  2:52   ` [x86 setup 27/33] Video mode probing " H. Peter Anvin
2007-07-10  2:52     ` H. Peter Anvin
2007-07-10  2:52   ` [x86 setup 28/33] Code for actual protected-mode entry H. Peter Anvin
2007-07-10  2:52     ` H. Peter Anvin
2007-07-10  2:52   ` [x86 setup 29/33] Assembly header and main routine for new x86 setup code H. Peter Anvin
2007-07-10  2:52     ` H. Peter Anvin
2007-07-10  2:52   ` [x86 setup 30/33] Linker script for the " H. Peter Anvin
2007-07-10  2:52     ` H. Peter Anvin
2007-07-10  2:52   ` [x86 setup 31/33] Use the new x86 setup code for i386 H. Peter Anvin
2007-07-10  2:52     ` H. Peter Anvin
2007-07-10  7:55       ` Tilman Schmidt
2007-07-10  2:52   ` [x86 setup 32/33] Use the new x86 setup code for x86-64; unify with i386 H. Peter Anvin
2007-07-10  2:52     ` H. Peter Anvin
2007-07-10  2:52   ` [x86 setup 33/33] Remove old i386 setup code H. Peter Anvin
2007-07-10  2:52     ` H. Peter Anvin
2007-07-10  4:24 ` x86 setup code rewrite in C Yinghai Lu
2007-07-10  4:39   ` H. Peter Anvin
2007-07-10  5:25 ` Jeff Garzik [this message]
2007-07-10 16:24 ` Jeremy Fitzhardinge
  -- strict thread matches above, loose matches on Subject: below --
2007-07-10 17:32 Al Boldi
2007-07-10 20:48 ` H. Peter Anvin
2007-07-10 21:07   ` Al Boldi
2007-07-10 21:13     ` H. Peter Anvin
2007-07-10 21:33       ` Randy Dunlap
2007-07-10 21:38         ` H. Peter Anvin
2007-07-11 11:35           ` Chris Smith
2007-07-13 22:33             ` H. Peter Anvin
2007-07-10 21:36       ` Adrian Bunk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46931840.1050002@garzik.org \
    --to=jeff@garzik.org \
    --cc=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=hpa@zytor.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.