[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [RFC PATCH V1 01/12] hvm/ioreq: Make x86's IOREQ feature common
On 04.08.2020 15:52, Julien Grall wrote: > On 04/08/2020 12:10, Oleksandr wrote: >> On 04.08.20 10:45, Paul Durrant wrote: >>>> +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); >>>> +} >>> I don't think having this in common code is correct. The short-cut of >>> not completing PIO reads seems somewhat x86 specific. > > Hmmm, looking at the code, I think it doesn't wait for PIO writes to > complete (not read). Did I miss anything? The point of the check isn't to determine whether to wait, but what to do after having waited. Reads need a retry round through the emulator (to store the result in the designated place), while writes don't have such a requirement (and hence guest execution can continue immediately in the general case). Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |