On 30/06/15 14:05, Paul Durrant wrote: > By removing the HVMIO_dispatched state and making all pending emulations > (i.e. all those not handled by the hypervisor) use HVMIO_awating_completion, > various code-paths can be simplified. > > The completion case for HVMIO_dispatched can also be trivally removed > from hvmemul_do_io() as it was already unreachable. This is because that > state was only ever used for writes or I/O to/from a guest page and > hvmemul_do_io() is never called to complete such I/O. > > NOTE: There is one sublety in handle_pio()... The only case when > handle_pio() got a return code of X86EMUL_RETRY back from > hvmemul_do_pio_buffer() and found io_state was not > HVMIO_awaiting_completion was in the case where the domain is > shutting down. This is because all writes normally yield a return > of HVMEMUL_OKAY and all reads put io_state into > HVMIO_awaiting_completion. Hence the io_state check there is > replaced with a check of the is_shutting_down flag on the domain. > > Signed-off-by: Paul Durrant <paul.durr...@citrix.com> > Cc: Keir Fraser <k...@xen.org> > Cc: Jan Beulich <jbeul...@suse.com> > Cc: Andrew Cooper <andrew.coop...@citrix.com>
Reviewed-by: Andrew Cooper <andrew.coop...@citrix.com> _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel