[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.