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

[Xen-devel] Question on QEMU and P2M



I am facing a qemu-dm problem when setting up 1GB page table to P2M.

Setting 1GB page table is very straight forward: just skip the last two levels of p2m table. While doing gfn_to_mfn translation, I have to check PSE bits in level 3 page table entry first. If this bit is 1, I calculate the target mfn and return immediately. Two gfn_to_mfn translation functions, p2m_gfn_to_mfn_current() and p2m_gfn_to_mfn(), are changed in this way.

However, QEMU dm starts to function weirdly with this change. For instance, linux guest won't be able to locate hard disk because port IO access returns incorrect values. I couldn't control guest keyboard either.

I am thinking that there are some Xen codes (related to qemu) which doesn't goes through gfn_to_mfn translation inside p2m.c. It might assume p2m table always has L2 P2M table and does fast translation. But I haven't found such areas yet.

Any suggestion of suspicious code areas to look at?

-Wei



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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