Hi all, I ran into trouble on nested page fault handling. I removed p2m entries of passthrough type via clear_mmio_p2m_entry() to unmap mmio space of passthough HW. Then the nested page fault of physical mmio space can be trapped and the domU can be paused here via domain_pause(). These are fine in xen-4.1.1 with debian patch(ubuntu). But while I try to port them to xen-unstable version, the dom0 crashes. The paused domain is absolutely domU. Is there any new restriction in NPF handler in unstable version? Thanks! ShengGe _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Hi all, I checked the domain_id again and I''m sure the paused domain is domU. But the crashing seems like dom0 is paused, then whole system is killed and reboots. In Nested page fault handler, hypervisor get the VCPU via current macro and this VCPU is bound to domU(the domain_id is so). I''m really confused, how does dom0 crash if I pause domU here? Maybe this is a logic issue of hypervisor, the same codes could run well in old version. Best regards, ShengGe From: Ding, ShengGe Sent: Monday, September 17, 2012 11:20 AM To: ''xen-devel@lists.xen.org'' Subject: dom0 crashes while domain_pause in NPF handler Hi all, I ran into trouble on nested page fault handling. I removed p2m entries of passthrough type via clear_mmio_p2m_entry() to unmap mmio space of passthough HW. Then the nested page fault of physical mmio space can be trapped and the domU can be paused here via domain_pause(). These are fine in xen-4.1.1 with debian patch(ubuntu). But while I try to port them to xen-unstable version, the dom0 crashes. The paused domain is absolutely domU. Is there any new restriction in NPF handler in unstable version? Thanks! ShengGe _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Hi, At 05:25 +0000 on 18 Sep (1347945907), Ding, ShengGe wrote:> Hi all, > > I checked the domain_id again and I''m sure the paused domain is domU. > But the crashing seems like dom0 is paused, then whole system is killed and reboots. > > In Nested page fault handler, hypervisor get the VCPU via current macro and this VCPU is bound to domU(the domain_id is so). > I''m really confused, how does dom0 crash if I pause domU here? Maybe this is a logic issue of hypervisor, the same codes could run well in old version. >You haven''t given enough information to understand what''s gone wrong. What do you mean my ''dom0 crashes''? Can you post a log of the serial console of the machine showing the actual crash? What changes have you made to Xen? If your patches are very small, maybe you could post them; if not, at least a description of what you''ve done would be a good idea. Calling domain_pause() on domU from inside a domU fault handler is probably unsafe -- if two vcpus take the fault at the same time they might deadlock. Tim.