[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86/HVM: fix hvmemul_rep_outs_set_context()
On 23/11/17 15:09, Jan Beulich wrote: > There were two issues with this function: Its use of > hvmemul_do_pio_buffer() was wrong (the function deals only with > individual port accesses, not repeated ones, i.e. passing it > "*reps * bytes_per_rep" does not have the intended effect). And it > could have processed a larger set of operations in one go than was > probably intended (limited just by the size that xmalloc() can hand > back). > > By converting to proper use of hvmemul_do_pio_buffer(), no intermediate > buffer is needed at all. As a result a preemption check is being added. > > Also drop unused parameters from the function. > > Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> While this does look like real bug, and bugfix, it isn't the issue I'm hitting. I've distilled the repro scenario down to a tiny XTF test, which is just a `rep outsb` with a buffer which crosses a page boundary. The results are reliably: (d1) --- Xen Test Framework --- (d1) Environment: HVM 32bit (No paging) (d1) Test hvm-print (d1) String crossing a page boundary (XEN) MMIO emulation failed (1): d1v0 32bit @ 0010:001032b0 -> 5e c3 8d b4 26 00 00 00 00 8d bc 27 00 00 00 00 (d1) Test result: SUCCESS The Port IO hits a retry because of hitting the page boundary, and the retry logic successes, as evident by all data hitting hvm_print_line(). Somewhere however, the PIO turns into MMIO, and a failure is reported after the PIO completed successfully. %rip in the failure message points after the `rep outsb`, rather than at it. If anyone has any ideas, I'm all ears. If not, I will try to find some time to look deeper into the issue. ~Andrew Attachment:
0001-MMIO-failure-trigger.patch _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |