Re: [PATCH] x86: Construct 32 bit boot time page tables in nativeformat.

From: H. Peter Anvin
Date: Tue Jan 22 2008 - 13:24:38 EST


Ian Campbell wrote:
On Mon, 2008-01-21 at 18:16 -0800, H. Peter Anvin wrote:
Ian Campbell wrote:
I'm just preparing to send out a version which uses the native_* way of
doing things, its not actually as clean as I would like so I'd be
interested to see the ASM variant.

This is the asm version I came up with.

I moderately prefer the C version, even if it is in a restricted
environment where care is needed to access global variables. I like that
it avoids multiple copies of the code and also find the structure of
what's going on is more obviously apparent (even to someone who has done
plenty of ASM mode page table frobbing in the past).

Anyhow, I don't feel all that strongly about it so if the opinion of the
early start of day maintainer(s) is strongly in favour of ASM I'll defer
to that.


My opinion is that I want it done properly (PIC and all that jazz) or not at all, and certainly would not want to mix linear and paging-enabled code in the same file. When it comes to assembly code, at least people can *see* that there there be dragons.

The plus *and* minus of a C version is that it's easier for people to modify. The plus side of that is that if we really need it, it's a lot cleaner; the minus side is that it may encourage more code to creep into the pre-paging code, which would not be a good thing IMO.

-hpa
--
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/