Re: [PATCH] i386: For debugging, make the initial page table setup less forgiving.

Jeremy Fitzhardinge
2007-04-25T19:18:51Z

Eric W. Biederman wrote:
>> Hm, but it should be overwriting small mappings with large ones. Maybe
>> I overlooked that.
>>
>
> Nope. It's not overwriting anything.

It will work if we just overwrite the pmd's with large pages in the PSE
case, since Xen doesn't support PSE. Or we could only overwrite if its
!present or !huge.

> I'm not at all convinced we
> should preserve the Xen sillyness. I'm not exactly against it,
> but it adds complexity to already complex code.
>

Yes. I would love to see that code get simplified. I've been trying to
walk a line of making my changes small and incremental, while still
trying to get a reasonable result. In this case, its a file which has
undergone many such changes, and the entropy is really building up.

The Xen case is tricky because the hypervisor is very strict about what
can be in the pagetable, and so we can't go through any transitional bad
states on the way to constructing the final result. The easiest way to
do that is use the existing pagetable where possible and just add new
things to it.

> We will have to see. Currently the paravirt pagetable setup clashes
> horrible with actually running a kernel on real hardware.
>

I'll fix it up. I've been running these kernels on my normal work
machine without obvious problems, which is why it escaped notice until
HPA's debug patch.

> Color me not impressed by the paravirt mess.

Well, I'm working on it :)

J