From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: Multiple issues with event channel on Xen on ARM Date: Wed, 05 Feb 2014 10:33:55 +0000 Message-ID: <52F21393.4050900@linaro.org> References: <52F1753C.3010508@linaro.org> <52F20DCE.3080501@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <52F20DCE.3080501@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: David Vrabel Cc: xen-devel , Ian Campbell , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org On 05/02/14 10:09, David Vrabel wrote: > 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. Thanks David, I will take a look on it. For the first bug (in Linux) do you have any input? Regards, -- Julien Grall