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

Re: [Xen-devel] Multiple issues with event channel on Xen on ARM



On 04/02/14 23:18, Julien Grall wrote:
> 
> Now, if I'm using Linux 3.14-rc1 as guest and trying to destroy the domain,
> I get this following Xen trace:
> 
> (XEN) Assertion 'slot >= 0 && slot < DOMHEAP_ENTRIES' failed, line 334, file 
> mm.c
[...]
> (XEN) Xen call trace:
> (XEN)    [<0023f7d0>] __bug+0x28/0x44 (PC)
> (XEN)    [<0023f7d0>] __bug+0x28/0x44 (LR)
> (XEN)    [<00247d6c>] domain_page_map_to_mfn+0x50/0xb4
> (XEN)    [<0020b17c>] unmap_guest_page+0x20/0x54
> (XEN)    [<0020b1d0>] cleanup_control_block+0x20/0x34
> (XEN)    [<0020bd3c>] evtchn_fifo_destroy+0x2c/0x6c
> (XEN)    [<0020b024>] evtchn_destroy+0x1a8/0x1b0
> (XEN)    [<00207f80>] domain_kill+0x60/0x128
> (XEN)    [<00206050>] do_domctl+0xa7c/0x1104
> (XEN)    [<0024cee0>] do_trap_hypervisor+0xad8/0xd78
> (XEN)    [<0024f6d0>] return_from_trap+0/0x4

This is because ARM's domain_page_map_to_mfn() doesn't work with pages
mapped with map_domain_page_global() which uses vmap().

x86's implementation has

    if ( va >= VMAP_VIRT_START && va < VMAP_VIRT_END )
    {
        pl1e = virt_to_xen_l1e(va);
        BUG_ON(!pl1e);
    }
    // ...
    return l1e_get_pfn(*pl1e);

So I think ARM's needs something similar.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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