Ingo Molnar wrote:
* H. Peter Anvin <[EMAIL PROTECTED]> wrote:
I was thinking about this yesterday, and it seems to me that there are
two cleaner options here...
- either we should put in the full machinery to be able to run C code
compiled with -fPIC/-fPIE before paging is enabled. Unfortunately gcc
generates R_386_GOT32 relocations for external references even with
-fPIE, so we'll have to put in some code to adjust the GOT (easy
enough to do.)
i'd _love_ to have this approach instead of the assembly routines. While
'constructing pagetables' might not look like a big deal in isolation -
C is still 10 times more programmable than assembly. Pushing more of the
early boot code into a sane, non-assembly environment will have positive
long-term effects all across.
Yes, but that doesn't mean that this particular task is the right thing
for that job. In particular, the GOT adjustment wll be almost the same
size as the whole task.
On the other hand, there is a whole bunch of post-paging code in
head_32.S which doesn't need to be there.
-hpa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/