|
[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 |