[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH V1 03/16] xen/ioreq: Make x86's hvm_ioreq_needs_completion() common
Hi, On 14/09/2020 15:59, Jan Beulich wrote: On 10.09.2020 22:21, Oleksandr Tyshchenko wrote:--- a/xen/include/xen/ioreq.h +++ b/xen/include/xen/ioreq.h @@ -35,6 +35,13 @@ static inline struct hvm_ioreq_server *get_ioreq_server(const struct domain *d, return GET_IOREQ_SERVER(d, id); }+static inline bool hvm_ioreq_needs_completion(const ioreq_t *ioreq)+{ + return ioreq->state == STATE_IOREQ_READY && + !ioreq->data_is_ptr && + (ioreq->type != IOREQ_TYPE_PIO || ioreq->dir != IOREQ_WRITE); +}While the PIO aspect has been discussed to some length, what about the data_is_ptr concept? I didn't think there were Arm insns fitting this? Instead I thought some other Arm-specific adjustments to the protocol might be needed. At which point the question of course would be in how far ioreq_t as a whole really fits Arm in its current shape. I would rather not try to re-invent ioreq_t for Arm if we don't need to. This is only going to increase the amount of arch specific code in a device emulator that really ought to be agnostic. At the moment, I think it is fine to have "unused" field on Arm as long as they contain the right value. So I would rather keep the check in common code as well. Cheers, -- Julien Grall
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |