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