[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 00/17] x86/hvm: I/O emulation cleanup and fix



> -----Original Message-----
> From: Fabio Fantoni [mailto:fabio.fantoni@xxxxxxx]
> Sent: 09 June 2015 15:44
> To: Paul Durrant; xen-devel@xxxxxxxxxxxxxxxxxxxx
> Subject: Re: [Xen-devel] [PATCH 00/17] x86/hvm: I/O emulation cleanup and
> fix
> 
> Il 08/06/2015 16:33, Paul Durrant ha scritto:
> > This patch series re-works much of the code involved in emulation of port
> > and memory mapped I/O for HVM guests.
> >
> > The code has become very convoluted and, at least by inspection, certain
> > emulations will apparently malfunction.
> >
> > The series is broken down into 17 patches (which are also available in
> > my xenbits repo:
> http://xenbits.xen.org/gitweb/?p=people/pauldu/xen.git
> > on the emulation18 branch) as follows:
> 
> Big thanks for your work.
> I tested them taking the patches from emulation18 branch.
> I tried xl create of a window 7 domU but during xl create dom0
> istant-reboot and there isn't anything about the problem in the logs
> (kern.log, syslog, qemu log, xl log ecc...)
> I tried also with linux (hvm) domU and with stdvga instead qxl I had
> setted but same result.
> 
> For debug the problem I must enable all xen debug in grub entry and
> redirect output to serial, similar to debug of dom0 boot problem or I
> must do different thing?
> 

Having serial is very useful in these cases. I've been debugging with a 32-bit 
Win 7 VM so it would be useful if you could bisect bit. There are natural 
boundaries in the series you could try first:

Apply everything up to and including 'x86/hvm: unify stdvga mmio intercept with 
standard mmio intercept'
Then try everything up to and including ' x86/hvm: remove extraneous parameter 
from hvmtrace_io_assist()'
Then, if you get that far, try the rest one at a time.

  Paul

> Thanks for any reply and sorry for my bad english.
> 
> >
> > x86/hvm: simplify hvmemul_do_io()
> > x86/hvm: re-name struct hvm_mmio_handler to hvm_mmio_ops
> > x86/hvm: unify internal portio and mmio intercepts
> > x86/hvm: unify dpci portio intercept with standard portio intercept
> > x86/hvm: unify stdvga mmio intercept with standard mmio intercept
> > x86/hvm: revert 82ed8716b "fix direct PCI port I/O emulation retry...
> > x86/hvm: only call hvm_io_assist() from hvm_wait_for_io()
> > x86/hvm: split I/O completion handling from state model
> > x86/hvm: remove hvm_io_pending() check in hvmemul_do_io()
> > x86/hvm: remove HVMIO_dispatched I/O state
> > x86/hvm: remove hvm_io_state enumeration
> > x86/hvm: use ioreq_t to track in-flight state
> > x86/hvm: only acquire RAM pages for emulation when we need to
> > x86/hvm: remove extraneous parameter from hvmtrace_io_assist()
> > x86/hvm: make sure translated MMIO reads or writes fall within a page
> > x86/hvm: remove multiple open coded 'chunking' loops
> > x86/hvm: track large memory mapped accesses by linear address
> >
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@xxxxxxxxxxxxx
> > http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.