From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Vrabel Subject: Re: Multiple issues with event channel on Xen on ARM Date: Wed, 5 Feb 2014 10:09:18 +0000 Message-ID: <52F20DCE.3080501@citrix.com> References: <52F1753C.3010508@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <52F1753C.3010508@linaro.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Julien Grall Cc: xen-devel , Ian Campbell , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org 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