This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] pagetable maps itself

On 13 Mar 2005, at 15:21, David Becker wrote:

I'm trying to put the shared_info page entry(0x001b6007) in
a pte at 0xc0116404 and get
(XEN) DOM77: (file=memory.c, line=1821) PTWR failure! Pagetable maps itself at c0116404

Doubtless this is operator error, but I'm at a loss as to what my error is. I am confident the pte address is correct and that the domain build says the
share_info mfn is 0x1b6.

The pgd page entry for 0xc0116404 is 0x01c28067, which also appears OK.

I don't understand how my table is mapping itself when I write that pte.

It's a current weakness of the writable pagetable implementation -- if you try to directly write to a pagetable that maps itself then the usual wrpt implementation cannot work. It wants to temporarily make the page a non-pt page and make it writable: but it can't do both (think about it).

I will be fixing this in the unstable tree in the next few days, using my new instruction emulator to 'fill in' this unfortunate corner case and a few others. Shorter term, please use the batched interface (do_mmu_update) to add the mapping. I use that in preference to writable pagetables to update most kernel mappings in Linux right now, to avoid just the problem that you have just hit.

 -- Keir

SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>