On 26/09/18 11:32, Julien Grall wrote: > Hi, > > On 09/26/2018 10:14 AM, Paul Durrant wrote: >>> -----Original Message----- >>> From: Jan Beulich [mailto:jbeul...@suse.com] >>> Sent: 26 September 2018 09:09 >>> To: Julien Grall <julien.gr...@arm.com>; Paul Durrant >>> <paul.durr...@citrix.com> >>> Cc: Andrew Cooper <andrew.coop...@citrix.com>; Roger Pau Monne >>> <roger....@citrix.com>; Stefano Stabellini <sstabell...@kernel.org>; >>> xen- >>> devel <xen-devel@lists.xenproject.org> >>> Subject: Re: IOREQ server on Arm >>> >>>>>> On 26.09.18 at 00:39, <julien.gr...@arm.com> wrote: >>>> Hi Paul, >>>> >>>> I am looking at porting the IOREQ server infrastructure on Arm. I >>>> didn't >>>> need much modification to make it run for Arm. Although, the >>>> implementation could be simplified over the x86 implementation. >>>> >>>> I noticed some issue while trying to implement the hypercall >>>> XENMEM_acquire_resource. Per my understanding, all the page mapped via >>>> that hypercall will use the type p2m_mapping_foreign. >>>> >>>> This will result to trigger the ASSERT(fdom != dom) in >>>> get_page_from_gfn >>>> (asm-arm/p2m.h) because the IOREQ page has been allocated to the >>>> emulator domain and mapped to it. AFAICT x86 has the same assert in >>>> p2m_get_page_from_gfn(...). >>>> >>>> IHMO, the ASSERT makes sense because you are only meant to map page >>>> belonging to other domain with that type. >>>> >>>> So I am wondering whether IOREQ server running in PVH Dom0 has been >>>> tested? What would be the best course of action to fix the issue? >>> >>> I think the p2m type needs to be chosen based on >>> XENMEM_rsrc_acq_caller_owned. >>> >> >> Yes, that's correct. There is a FIXME clause in acquire_resource so >> that that only caller owned resources can be mapped by HVM/PVH >> domains. Thus the new call can be used for IOREQ server pages, but >> not grant frames. > > I don't understand your last sentence. IOREQ is caller owned and > therefore should work. > > As I said, I don't have any problem with mapping the resource. The > problem is when unmapping it because the region is set with > p2m_mapping_foreign. You will reach the ASSERT(fdom != p2m->domain) in > p2m_get_page_from_gfn. > > Regardless the reference problem (we support it on Arm). Can you > explain how this is working on PVH Dom0 today?
I doubt anyone has tried using it with a PVH Dom0. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel