[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] docs/design: introduce HVMMEM_ioreq_serverX types
>>> On 26.02.16 at 05:24, <kevin.tian@xxxxxxxxx> wrote: >> +Proposal >> +======== >> + >> +Because the number of spare types available in the P2M type-space is >> +currently very limited it is proposed that HVMMEM\_mmio\_write\_dm be >> +replaced by a single new type HVMMEM\_ioreq\_server. In future, if the >> +P2M type-space is increased, this can be renamed to HVMMEM\_ioreq\_server0 >> +and new HVMMEM\_ioreq\_server1, HVMMEM\_ioreq\_server2, etc. types >> +can be added. >> + >> +Accesses to a page of type HVMMEM\_ioreq\_serverX should be the same as >> +HVMMEM\_ram\_rw until the type is _claimed_ by an IOREQ server. Furthermore >> +it should only be possible to set the type of a page to >> +HVMMEM\_ioreq\_serverX if that page is currently of type HVMMEM\_ram\_rw. > > Is there similar assumption on the opposite change, i.e. from ioreq_serverX > only to ram_rw? Yes. The above should be re-worded to make clear this is a bi-directional requirement. >> +To allow an IOREQ server to claim or release a claim to a type a new pair >> +of hypercalls will be introduced: >> + >> +- HVMOP\_map\_mem\_type\_to\_ioreq\_server >> +- HVMOP\_unmap\_mem\_type\_from\_ioreq\_server >> + >> +and an associated argument structure: >> + >> + struct hvm_ioreq_mem_type { >> + domid_t domid; /* IN - domain to be serviced */ >> + ioservid_t id; /* IN - server id */ >> + hvmmem_type_t type; /* IN - memory type */ >> + uint32_t flags; /* IN - types of access to be >> + intercepted */ >> + >> + #define _HVMOP_IOREQ_MEM_ACCESS_READ 0 >> + #define HVMOP_IOREQ_MEM_ACCESS_READ \ >> + (1 << _HVMOP_IOREQ_MEM_ACCESS_READ) >> + >> + #define _HVMOP_IOREQ_MEM_ACCESS_WRITE 1 >> + #define HVMOP_IOREQ_MEM_ACCESS_WRITE \ >> + (1 << _HVMOP_IOREQ_MEM_ACCESS_WRITE) >> + >> + }; >> + >> + >> +Once the type has been claimed then the requested types of access to any >> +page of the claimed type will be passed to the IOREQ server for handling. >> +Only HVMMEM\_ioreq\_serverX types may be claimed. >> -- > > It'd good to also add how to handle multiple ioreq servers claiming > one same type for a given domain. It's going to fail, but I agree that perhaps this would better be spelled out. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |