Re: x86 setup code rewrite in C

From: Jeff Garzik
Date: Tue Jul 10 2007 - 01:26:26 EST


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


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/