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. ------------------------------------------------------- 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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
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.I''ve now checked a fix for this into the unstable repository. It would be good to know that the problem goes away for you. If you are working with the 2.0 repositories then you will need to use the batched (mmu_update) interface. -- 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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel