[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v7 for-next 01/12] x86/pio: allow internal PIO handlers to return RETRY
Fix handle_pio so internal PIO handlers can return X86EMUL_RETRY and it is properly handled by not advancing the IP. Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> --- Cc: Paul Durrant <paul.durrant@xxxxxxxxxx> Cc: Jan Beulich <jbeulich@xxxxxxxx> Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> --- Note this is not an issue currently because no internal handlers return RETRY. --- xen/arch/x86/hvm/io.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/hvm/io.c b/xen/arch/x86/hvm/io.c index e449b4196e..10e1e2db45 100644 --- a/xen/arch/x86/hvm/io.c +++ b/xen/arch/x86/hvm/io.c @@ -157,8 +157,11 @@ bool handle_pio(uint16_t port, unsigned int size, int dir) break; case X86EMUL_RETRY: - /* We should not advance RIP/EIP if the domain is shutting down */ - if ( curr->domain->is_shutting_down ) + /* + * We should not advance RIP/EIP if the domain is shutting down or + * if X86EMUL_RETRY has been returned by an internal handler. + */ + if ( curr->domain->is_shutting_down || !hvm_io_pending(curr) ) return false; break; -- 2.13.5 (Apple Git-94) _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |